Sign-in

Complete sign-in with an MFA code.

Changed on

Takes the challenge POST /api/sign-in returned and a code from the user's authenticator app, and returns the session key. The challenge is used up by any attempt, right or wrong, so a wrong code means signing in again. Each code is accepted once. The fifth consecutive bad code locks the user until an administrator unlocks them. Requires no API key. Returns 404 unless PASSWORD_SIGN_IN_ENABLED is true. Recorded as sign_in_succeeded or sign_in_failed.

post/api/sign-in/mfa

Request

  • Base URL
    / (relative, and the document was published on a file host, not at the API’s origin)
  • URL
    /api/sign-in/mfa
  • Auth
    none required

Request body

challengestring
codestring

Response

Signed in. The session key is returned here and nowhere else.

apiKeystring required

The session key. Send it as a bearer token. It is returned here and nowhere else.

expiresAtstring date-time

When the key's maximum lifetime ends.

idstring

The session key's id, as GET /api/api-keys lists it, so a client can recognize its own key.

idleExpiresAtstring date-time

When the key expires unless it is used first. Each request moves it forward.

mfaEnrollmentRequiredboolean

Whether the user must enroll in MFA first. If so, the key can only enroll with POST /api/users/me/mfa and POST /api/users/me/mfa/confirm, and sign out.

passwordChangeRequiredboolean

Whether the password must be changed first. If so, the key can only change the password with PUT /api/users/me/password and sign out.

scopesstring[]
usernamestring

Changes

    • info

      the response property became required for the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status