Skip to content

Two-factor authentication enrollment #463

Description

@therealjhay

ProblemThere is no 2FA; a compromised password/JWT gives full access. The auth layer has no TOTP or recovery codes.

Solution

  • Add a TOTP enrollment flow in settings: generate secret, QR provisioning URI, confirm code, and persist verified flag.
  • Require the TOTP code on login after POST /api/auth/login verification (server-issued challenge when 2FA enabled).
  • Provide one-time recovery codes (stored hashed server-side) and a reset path.
  • Show enrollment status in the auth/session views.

Acceptance Criteria

  • Enabling 2FA requires a valid TOTP code before activation.
  • Logging in with 2FA enabled demands the code.
  • Recovery codes work once and rotate.
  • npm run build passes.

Note for Contributors: Write a clear PR description. Show the enrollment QR and a successful TOTP login.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third Campaign

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions