mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-14 18:47:01 +02:00
* adds development workflow to mirage config * adds mirage handler and factory for mfa workflow * adds mfa handling to auth service and cluster adapter * moves auth success logic from form to controller * adds mfa form component * shows delayed auth message for all methods * adds new code delay to mfa form * adds error views * fixes merge conflict * adds integration tests for mfa-form component * fixes auth tests * updates mfa response handling to align with backend * updates mfa-form to handle multiple methods and constraints * adds noDefault arg to Select component * updates mirage mfa handler to align with backend and adds generator for various mfa scenarios * adds tests * flaky test fix attempt * reverts test fix attempt * adds changelog entry * updates comments for todo items * removes faker from mfa mirage factory and handler * adds number to word helper * fixes tests
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import Component from '@glimmer/component';
|
|
import { inject as service } from '@ember/service';
|
|
import { action } from '@ember/object';
|
|
import { TOTP_NOT_CONFIGURED } from 'vault/services/auth';
|
|
|
|
const TOTP_NA_MSG =
|
|
'Multi-factor authentication is required, but you have not set it up. In order to do so, please contact your administrator.';
|
|
const MFA_ERROR_MSG =
|
|
'Multi-factor authentication is required, but failed. Go back and try again, or contact your administrator.';
|
|
|
|
export { TOTP_NA_MSG, MFA_ERROR_MSG };
|
|
|
|
/**
|
|
* @module MfaError
|
|
* MfaError components are used to display mfa errors
|
|
*
|
|
* @example
|
|
* ```js
|
|
* <MfaError />
|
|
* ```
|
|
*/
|
|
|
|
export default class MfaError extends Component {
|
|
@service auth;
|
|
|
|
get isTotp() {
|
|
return this.auth.mfaErrors.includes(TOTP_NOT_CONFIGURED);
|
|
}
|
|
get title() {
|
|
return this.isTotp ? 'TOTP not set up' : 'Unauthorized';
|
|
}
|
|
get description() {
|
|
return this.isTotp ? TOTP_NA_MSG : MFA_ERROR_MSG;
|
|
}
|
|
|
|
@action
|
|
onClose() {
|
|
this.auth.set('mfaErrors', null);
|
|
if (this.args.onClose) {
|
|
this.args.onClose();
|
|
}
|
|
}
|
|
}
|