-
Notifications
You must be signed in to change notification settings - Fork 975
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Passwordless "Magic Code" has broken TOTP (aal0 forever) #4285
Comments
Could be linked to #3942 ? Not a 100% sure. I think I have the same issue.
It does seem to work if the the account is created using credentials though. They can even use passwordless flawlessly afterwards. And 2FA works like a charm in both scenarios. The issue really is if the acccount was created using passwordless Here are my configs kratos.yml
partial identity schema
|
Thanks for confirming the issue. We've been using Ory for almost an year and only noticed this bug now because only a handful of partners did these exact steps and none of them have flagged it before. Anyway, we're planning on upgrading Kratos and Hydra to more recent versions hoping that it somehow fixes the problem, but we checked the changelog quickly and it doesn't seem that the fix is there. |
This is fixed in newer versions |
Thank you! I tried 1.3, but not 1.3.1. Will try that when I get back. |
Preflight checklist
Ory Network Project
No response
Describe the bug
If a user uses passwordless they will be assigned aal0, so if they set up TOTP it won't actually work. This means that if those users use TOTP they will be bugged, they won't actually be protected by it.
According to the documentation (https://www.ory.sh/docs/kratos/mfa/overview), the AAL parameter can take one of two values:
aal1: The user completed only the first authentication factor(s).
aal2: The user completed the first and the second authentication factor(s).
Reproducing the bug
When a user uses passwordless they will have an identity aal0. After they set up TOTP it will create identity_credential related to it, but then the identity will still use aal0. After trying to log in, the system won't ask for TOTP so it will be stuck on aal0 forever.
I tested in practice and confirmed that if the user is on aal0 and sets up TOTP they won't move from aal0 to aal2. The user can only go from aal1 to aal2 or from aal2 to aal1.
aal0 is on a limbo because aal0 won't ask for TOTP, so it will never get out of it.
Relevant log output
Relevant configuration
Version
1.1.0
On which operating system are you observing this issue?
Linux
In which environment are you deploying?
Kubernetes
Additional Context
No response
The text was updated successfully, but these errors were encountered: