Add /internal/two_factor_config endpoint

Merged Sebastián Arcila Valenzuela requested to merge sav-220515-2fa-user-setup into master

What does this MR do?

Relates to #212308 (closed)

Adds /internal/two_factor_config endpoint that will be used by the PAM module to check if the CLI needs to prompts the user for the OTP

The feature is currently behind the two_factor_for_cli feature flag. If the feature flag is enabled, the API endpoint will be enable.

Note: On a further iteration we can add to the two_factor_required a session check, so the user isn't been asked over and over for the OTP.

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
Edited by Sebastián Arcila Valenzuela