Login
Authenticate local credentials. For users without MFA enrolled, returns an access token directly. For users with MFA enrolled, returns mfa_required=true and a short-lived mfa_challenge_token; the client must call /auth/mfa/verify with a TOTP or recovery code to complete login.
Body
Response
Login success or MFA challenge issued
Login response with three shapes (see entity_registry LoginResponse).
When true, client must complete MFA (verify or forced enrollment) before getting an access token
When true, the user has no MFA yet but MFA_REQUIRED is on — client must use enrollment_token to drive forced enrollment
Short-lived token to be POSTed to /auth/mfa/verify (only set when mfa_required=true and enrollment_required=false)
Short-lived token to be used as the bearer for /auth/mfa/enroll and /auth/mfa/enroll-and-verify (only set when enrollment_required=true)
Issued bearer access token (only set when mfa_required=false)
Token type
Client identifier associated with token (only set when mfa_required=false)
Granted scopes (only populated when mfa_required=false)