Skip to content

Prevent 2FA token regeneration in the same session

Catalin Irimie requested to merge cat-2fa-token-in-session into master

What does this MR do?

As seen in #247461 (closed), we have resources through the UploadsController that, when 2FA is enforced, will also get redirected to this page, effectively re-generating the secret after the QR and key were generated and shown to the user. This effectively led to permanently invalid pin codes for some users.

This MR is an alternative fix to !42784 (merged) and saves the state of the token generation in the session, so it won't be re-generated in the same session.

/cc @dblessing

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Merge request reports