ory / ory/network

During the OAuth2 login flow, when the user has 2FA enabled, the LoginFlow may be in a weird state

Open
#375 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Shell
Stars
96
Forks
8
PR merge metrics
No merged PRs in 30d

Description

Preflight checklist
Ory Network Project

dazzling-chandrasekhar-msru5m4b1c

Describe the bug

During the OAuth2 flow, after submitting the email/password, the user is redirected to a URL similar to the following: https://account-flows-test.bonfirehub.com/self-service/login/browser?aal=aal2&login_challenge=[…]&return_to=https%3A%2F%2Fdazzling-chandrasekhar-msru5m4b1c.projects.oryapis.com%2Foauth2%2Fauth%3F[...], which looks correct.

But the LoginFlow returned by Ory from that request has both "requested_aal": "aal2" AND "refresh": true.

I’m not sure why refresh is true here. It is causing an issue for us because when refresh is true, our code attempts to look up the user’s current session (the one we are refreshing) so we can display the email address of the account the user is logged in as.

But in this case, the session lookup fails (I believe with a 403, Session has a lower AAL than required for the identity error).

All that said, is "refresh": true expected here? Or is it a bug?

In ory/elements, the UserAuthCard will display "Confirm it's you" instead of "Two-Factor Authentication" in this scenario.

https://github.com/ory/elements/blob/main/src/react-components/ory/user-auth-card.tsx#L129

May be related to https://github.com/ory/kratos/discussions/2742

Reproducing the bug

Start the OAuth2 Login flow with a user that has 2FA enabled. After submitting email/password, the user should be redirected to the page where the user submits the 2FA code. If you inspect the LoginFlow object, it should have both refresh: true and requested_aal: 'aal2'.

Relevant log output

No response

Relevant configuration

No response

Version

Ory Network

On which operating system are you observing this issue?

Ory Network

In which environment are you deploying?

Ory Network

Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the OAuth2 login flow described in the issue and inspect the returned LoginFlow after the email/password step, especially refresh and requested_aal. Review ory/elements/src/react-components/ory/user-auth-card.tsx around line 129 and determine the expected behavior for the aal2 step; done means the flow state and displayed authentication step agree.

Written by the indexing model from the issue text.

Assessment

Domain
authentication
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.