rustdesk / rustdesk/rustdesk-server-pro
2FA not working with OIDC/Okta integration
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 317
- Forks
- 119
- PR merge metrics
- No merged PRs in 30d
Description
Bug Description
When enable 2FA for a user, the 2FA works when they log on with username/password, but the code is not accepted if they logon through Okta.
Users without 2FA enabled can log on through okta with no issue (and complete the okta 2FA instead.).
Ideally, it would be possible to either disable username/password logon for OIDC users entirely, or only require the built-in 2FA for users when they logon with username and password.
How to Reproduce
- Configure a user to use OIDC logon.
- Log on with their old username/password instead.
- configure 2FA
- Attempt to log on via Okta/OIDC.
- 2FA code is prompted for, but not accepted (gives error "2FA status is expired, please try login first.")
- Logging in with username/password/2FA is accepted.
Expected Behavior
- User should be able to log on with OIDC after configuring 2FA.
- Also, 2FA should be able to be enabled or disabled for a user via the admin interface
Operating system(s) on local (controlling) side and remote (controlled) side
Windows 10
RustDesk Version(s) on local (controlling) side and remote (controlled) side
Rustdesk Server Pro 1.5.4
Screenshots
N/A
Additional Context
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by reproducing the Okta/OIDC and username/password login flows with built-in 2FA enabled, then trace their authentication entry points and the admin 2FA setting. Done means OIDC users authenticate successfully with the intended 2FA behavior and the admin interface can enable or disable it.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100