@okta/okta-signin-widget
Version:
The Okta Sign-In Widget
201 lines (196 loc) • 6 kB
text/typescript
/*
* Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
*
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and limitations under the License.
*/
import { FunctionComponent } from 'preact';
import { AUTHENTICATOR_KEY, CHALLENGE_METHOD, IDX_STEP } from '../../constants';
import { IconProps } from '../../types';
import { loc } from '../../util';
import {
CustomAppIcon,
CustomOTPIcon,
DuoIcon,
EmailIcon,
GoogleOTPIcon,
IDPIcon,
OktaVerifyIcon,
OnPremMFAIcon,
PasswordIcon,
PhoneIcon,
RSAIcon,
SecurityKeyOrBiometricsIcon,
SecurityQuestionIcon,
SmartCardIcon,
SymantecIcon,
YubiKeyIcon,
} from '../Icon';
type AuthCoinConfig = {
icon: FunctionComponent<IconProps>;
name: string;
customizable: boolean;
description: string;
iconClassName: string;
};
export const getAuthCoinConfiguration = (): Record<string, AuthCoinConfig> => ({
[ ]: {
icon: CustomOTPIcon,
customizable: true,
name: 'mfa-hotp',
description: loc('factor.hotp.description', 'login'),
iconClassName: 'mfa-hotp',
},
[ ]: {
icon: CustomAppIcon,
name: 'mfa-custom-app-logo',
customizable: true,
description: loc('factor.customFactor.description.generic', 'login'),
iconClassName: 'mfa-custom-app-logo',
},
[ ]: {
icon: DuoIcon,
name: 'mfa-duo',
customizable: false,
description: loc('factor.duo', 'login'),
iconClassName: 'mfa-duo',
},
[ ]: {
icon: EmailIcon,
name: 'mfa-okta-email',
customizable: true,
description: loc('factor.email', 'login'),
iconClassName: 'mfa-okta-email',
},
[ ]: {
icon: GoogleOTPIcon,
name: 'mfa-google-auth',
customizable: false,
description: loc('factor.totpSoft.googleAuthenticator', 'login'),
iconClassName: 'mfa-google-auth',
},
[ ]: {
icon: IDPIcon,
name: 'mfa-custom-factor',
customizable: true,
description: loc('factor.customFactor.description.generic', 'login'),
iconClassName: 'mfa-custom-factor',
},
[ ]: {
icon: OnPremMFAIcon,
name: 'mfa-onprem',
customizable: true,
description: loc('factor.totpHard.description', 'login'),
iconClassName: 'mfa-onprem',
},
[ ]: {
icon: OktaVerifyIcon,
name: 'mfa-okta-verify',
customizable: false,
description: loc('factor.totpSoft.oktaVerify', 'login'),
iconClassName: 'mfa-okta-verify',
},
[ ]: {
icon: PasswordIcon,
name: 'mfa-okta-password',
customizable: true,
description: loc('factor.password', 'login'),
iconClassName: 'mfa-okta-password',
},
[ ]: {
icon: PhoneIcon,
name: 'mfa-okta-phone',
customizable: true,
description: loc('factor.call', 'login'),
iconClassName: 'mfa-okta-phone',
},
[ ]: {
icon: SmartCardIcon,
name: 'smart-card-icon',
customizable: true,
description: loc('piv.card', 'login'),
iconClassName: 'smart-card-icon',
},
[ ]: {
icon: SmartCardIcon,
name: 'smart-card-icon',
customizable: true,
description: loc('piv.card', 'login'),
iconClassName: 'smart-card-icon',
},
[ ]: {
icon: RSAIcon,
name: 'mfa-rsa',
customizable: false,
description: loc('factor.totpHard.rsaSecurId', 'login'),
iconClassName: 'mfa-rsa',
},
[ ]: {
icon: SecurityQuestionIcon,
name: 'mfa-okta-security-question',
customizable: true,
description: loc('factor.securityQuestion', 'login'),
iconClassName: 'mfa-okta-security-question',
},
[ ]: {
icon: SymantecIcon,
name: 'mfa-symantec',
customizable: false,
description: loc('factor.totpHard.symantecVip', 'login'),
iconClassName: 'mfa-symantec',
},
[ ]: {
icon: SecurityKeyOrBiometricsIcon,
name: 'mfa-webauthn',
customizable: true,
description: loc('factor.webauthn.biometric', 'login'),
iconClassName: 'mfa-webauthn',
},
[ ]: {
icon: YubiKeyIcon,
name: 'mfa-yubikey',
customizable: false,
description: loc('factor.totpHard.yubikey', 'login'),
iconClassName: 'mfa-yubikey',
},
[ ]: {
icon: OktaVerifyIcon,
name: 'mfa-okta-verify',
customizable: false,
description: loc('factor.totpSoft.oktaVerify', 'login'),
iconClassName: 'mfa-okta-verify',
},
[ ]: {
icon: OktaVerifyIcon,
name: 'mfa-okta-verify',
customizable: false,
description: loc('factor.totpSoft.oktaVerify', 'login'),
iconClassName: 'mfa-okta-verify',
},
[ ]: {
icon: OktaVerifyIcon,
name: 'mfa-okta-verify',
customizable: false,
description: loc('factor.totpSoft.oktaVerify', 'login'),
iconClassName: 'mfa-okta-verify',
},
[ ]: {
icon: OktaVerifyIcon,
name: 'mfa-okta-verify',
customizable: false,
description: loc('factor.totpSoft.oktaVerify', 'login'),
iconClassName: 'mfa-okta-verify',
},
[ ]: {
icon: OktaVerifyIcon,
name: 'mfa-okta-verify',
customizable: false,
description: loc('factor.totpSoft.oktaVerify', 'login'),
iconClassName: 'mfa-okta-verify',
},
});