fix: more webauthn consistency fixes
Signed-off-by: James Elliott <james-d-elliott@users.noreply.github.com>feat-otp-verification
parent
1341ef79d6
commit
e464295c8b
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Tajný klíč",
|
"Secret": "Tajný klíč",
|
||||||
"Security Key - WebAuthN": "Bezpečnostní klíč - WebAuthN",
|
"Security Key - WebAuthn": "Bezpečnostní klíč - WebAuthn",
|
||||||
"Select a Device": "Vybrat zařízení",
|
"Select a Device": "Vybrat zařízení",
|
||||||
"Sign in": "Přihlásit se",
|
"Sign in": "Přihlásit se",
|
||||||
"Sign out": "Odhlásit se",
|
"Sign out": "Odhlásit se",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Hemmelighed",
|
"Secret": "Hemmelighed",
|
||||||
"Security Key - WebAuthN": "Sikkerhedsnøgle - WebAuthN",
|
"Security Key - WebAuthn": "Sikkerhedsnøgle - WebAuthn",
|
||||||
"Select a Device": "Vælg en enhed",
|
"Select a Device": "Vælg en enhed",
|
||||||
"Sign in": "Log ind",
|
"Sign in": "Log ind",
|
||||||
"Sign out": "Log ud",
|
"Sign out": "Log ud",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Zurücksetzen",
|
"Reset": "Zurücksetzen",
|
||||||
"Scan QR Code": "QR-Code scannen",
|
"Scan QR Code": "QR-Code scannen",
|
||||||
"Secret": "Geheimnis",
|
"Secret": "Geheimnis",
|
||||||
"Security Key - WebAuthN": "Sicherheitsschlüssel - WebAuthN",
|
"Security Key - WebAuthn": "Sicherheitsschlüssel - WebAuthn",
|
||||||
"Select a Device": "Gerät auswählen",
|
"Select a Device": "Gerät auswählen",
|
||||||
"Sign in": "Anmelden",
|
"Sign in": "Anmelden",
|
||||||
"Sign out": "Abmelden",
|
"Sign out": "Abmelden",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Μυστικό",
|
"Secret": "Μυστικό",
|
||||||
"Security Key - WebAuthN": "Κλειδί Ασφαλείας - WebAuthn",
|
"Security Key - WebAuthn": "Κλειδί Ασφαλείας - WebAuthn",
|
||||||
"Select a Device": "Επιλέξτε μια συσκευή",
|
"Select a Device": "Επιλέξτε μια συσκευή",
|
||||||
"Sign in": "Σύνδεση",
|
"Sign in": "Σύνδεση",
|
||||||
"Sign out": "Αποσύνδεση",
|
"Sign out": "Αποσύνδεση",
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Scope": "Scope {{name}}",
|
"Scope": "Scope {{name}}",
|
||||||
"Secret": "Secret",
|
"Secret": "Secret",
|
||||||
"Security Key - WebAuthN": "Security Key - WebAuthN",
|
"Security Key - WebAuthn": "Security Key - WebAuthn",
|
||||||
"Select a Device": "Select a Device",
|
"Select a Device": "Select a Device",
|
||||||
"Sign in": "Sign in",
|
"Sign in": "Sign in",
|
||||||
"Sign out": "Sign out",
|
"Sign out": "Sign out",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Restablecer",
|
"Reset": "Restablecer",
|
||||||
"Scan QR Code": "Escanear Código QR",
|
"Scan QR Code": "Escanear Código QR",
|
||||||
"Secret": "Secreto",
|
"Secret": "Secreto",
|
||||||
"Security Key - WebAuthN": "Clave de seguridad - WebAuthN",
|
"Security Key - WebAuthn": "Clave de seguridad - WebAuthn",
|
||||||
"Select a Device": "Seleccionar Dispositivo",
|
"Select a Device": "Seleccionar Dispositivo",
|
||||||
"Sign in": "Iniciar Sesión",
|
"Sign in": "Iniciar Sesión",
|
||||||
"Sign out": "Cerrar Sesión",
|
"Sign out": "Cerrar Sesión",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Nollaa",
|
"Reset": "Nollaa",
|
||||||
"Scan QR Code": "Skannaa QR-koodi",
|
"Scan QR Code": "Skannaa QR-koodi",
|
||||||
"Secret": "Salainen",
|
"Secret": "Salainen",
|
||||||
"Security Key - WebAuthN": "Suojausavain - WebAuthN",
|
"Security Key - WebAuthn": "Suojausavain - WebAuthn",
|
||||||
"Select a Device": "Valitse laite",
|
"Select a Device": "Valitse laite",
|
||||||
"Sign in": "Kirjaudu sisään",
|
"Sign in": "Kirjaudu sisään",
|
||||||
"Sign out": "Kirjaudu ulos",
|
"Sign out": "Kirjaudu ulos",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Réinitialiser",
|
"Reset": "Réinitialiser",
|
||||||
"Scan QR Code": "Scannez le QR Code",
|
"Scan QR Code": "Scannez le QR Code",
|
||||||
"Secret": "Secret",
|
"Secret": "Secret",
|
||||||
"Security Key - WebAuthN": "Clé de sécurité - WebAuthN",
|
"Security Key - WebAuthn": "Clé de sécurité - WebAuthn",
|
||||||
"Select a Device": "Sélectionnez un appareil",
|
"Select a Device": "Sélectionnez un appareil",
|
||||||
"Sign in": "Se connecter",
|
"Sign in": "Se connecter",
|
||||||
"Sign out": "Se déconnecter",
|
"Sign out": "Se déconnecter",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Segreto",
|
"Secret": "Segreto",
|
||||||
"Security Key - WebAuthN": "Chiave Di Sicurezza - WebAuthN",
|
"Security Key - WebAuthn": "Chiave Di Sicurezza - WebAuthn",
|
||||||
"Select a Device": "Seleziona un dispositivo",
|
"Select a Device": "Seleziona un dispositivo",
|
||||||
"Sign in": "Accedi",
|
"Sign in": "Accedi",
|
||||||
"Sign out": "Esci",
|
"Sign out": "Esci",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "シークレット",
|
"Secret": "シークレット",
|
||||||
"Security Key - WebAuthN": "セキュリティキー - WebAuthN",
|
"Security Key - WebAuthn": "セキュリティキー - WebAuthn",
|
||||||
"Select a Device": "デバイスを選択",
|
"Select a Device": "デバイスを選択",
|
||||||
"Sign in": "サインイン",
|
"Sign in": "サインイン",
|
||||||
"Sign out": "サインアウト",
|
"Sign out": "サインアウト",
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
"Reset": "Tilbakestill",
|
"Reset": "Tilbakestill",
|
||||||
"Scan QR Code": "Skann QR Kode",
|
"Scan QR Code": "Skann QR Kode",
|
||||||
"Secret": "Hemmelig",
|
"Secret": "Hemmelig",
|
||||||
"Security Key - WebAuthN": "Sikkerhetsnøkkel - WebAuthN",
|
"Security Key - WebAuthn": "Sikkerhetsnøkkel - WebAuthn",
|
||||||
"Select a Device": "Velg en enhet",
|
"Select a Device": "Velg en enhet",
|
||||||
"Sign in": "Logg inn",
|
"Sign in": "Logg inn",
|
||||||
"Sign out": "Logg ut",
|
"Sign out": "Logg ut",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Geheim",
|
"Secret": "Geheim",
|
||||||
"Security Key - WebAuthN": "Beveiligingssleutel - WebAuthN",
|
"Security Key - WebAuthn": "Beveiligingssleutel - WebAuthn",
|
||||||
"Select a Device": "Selecteer een apparaat",
|
"Select a Device": "Selecteer een apparaat",
|
||||||
"Sign in": "Log in",
|
"Sign in": "Log in",
|
||||||
"Sign out": "Log uit",
|
"Sign out": "Log uit",
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
"Reset": "Tilbakestill",
|
"Reset": "Tilbakestill",
|
||||||
"Scan QR Code": "Skann QR Kode",
|
"Scan QR Code": "Skann QR Kode",
|
||||||
"Secret": "Hemmelig",
|
"Secret": "Hemmelig",
|
||||||
"Security Key - WebAuthN": "Sikkerhetsnøkkel - WebAuthN",
|
"Security Key - WebAuthn": "Sikkerhetsnøkkel - WebAuthn",
|
||||||
"Select a Device": "Velg en enhet",
|
"Select a Device": "Velg en enhet",
|
||||||
"Sign in": "Logg inn",
|
"Sign in": "Logg inn",
|
||||||
"Sign out": "Logg ut",
|
"Sign out": "Logg ut",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Sekretny",
|
"Secret": "Sekretny",
|
||||||
"Security Key - WebAuthN": "Klucz bezpieczeństwa - WebAuthN",
|
"Security Key - WebAuthn": "Klucz bezpieczeństwa - WebAuthn",
|
||||||
"Select a Device": "Wybierz urządzenie",
|
"Select a Device": "Wybierz urządzenie",
|
||||||
"Sign in": "Zaloguj się",
|
"Sign in": "Zaloguj się",
|
||||||
"Sign out": "Wyloguj się",
|
"Sign out": "Wyloguj się",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Segredo",
|
"Secret": "Segredo",
|
||||||
"Security Key - WebAuthN": "Chave de segurança - WebAuthN",
|
"Security Key - WebAuthn": "Chave de segurança - WebAuthn",
|
||||||
"Select a Device": "Selecione um dispositivo",
|
"Select a Device": "Selecione um dispositivo",
|
||||||
"Sign in": "Iniciar sessão",
|
"Sign in": "Iniciar sessão",
|
||||||
"Sign out": "Encerrar sessão",
|
"Sign out": "Encerrar sessão",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Ler Código QR",
|
"Scan QR Code": "Ler Código QR",
|
||||||
"Secret": "Segredo",
|
"Secret": "Segredo",
|
||||||
"Security Key - WebAuthN": "Chave de Segurança - WebAuthN",
|
"Security Key - WebAuthn": "Chave de Segurança - WebAuthn",
|
||||||
"Select a Device": "Selecione um Dispositivo",
|
"Select a Device": "Selecione um Dispositivo",
|
||||||
"Sign in": "Iniciar sessão",
|
"Sign in": "Iniciar sessão",
|
||||||
"Sign out": "Terminar sessão",
|
"Sign out": "Terminar sessão",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Secret",
|
"Secret": "Secret",
|
||||||
"Security Key - WebAuthN": "Cheie de securitate - WebAuthN",
|
"Security Key - WebAuthn": "Cheie de securitate - WebAuthn",
|
||||||
"Select a Device": "Selectați un dispozitiv",
|
"Select a Device": "Selectați un dispozitiv",
|
||||||
"Sign in": "Autentificare",
|
"Sign in": "Autentificare",
|
||||||
"Sign out": "Deconectare",
|
"Sign out": "Deconectare",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Сбросить",
|
"Reset": "Сбросить",
|
||||||
"Scan QR Code": "Отсканировать QR Code",
|
"Scan QR Code": "Отсканировать QR Code",
|
||||||
"Secret": "Секрет",
|
"Secret": "Секрет",
|
||||||
"Security Key - WebAuthN": "Сектретный ключ - WebAuthN",
|
"Security Key - WebAuthn": "Сектретный ключ - WebAuthn",
|
||||||
"Select a Device": "Выберите устройство",
|
"Select a Device": "Выберите устройство",
|
||||||
"Sign in": "Авторизация",
|
"Sign in": "Авторизация",
|
||||||
"Sign out": "Выход",
|
"Sign out": "Выход",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Återställ",
|
"Reset": "Återställ",
|
||||||
"Scan QR Code": "Skanna QR koden",
|
"Scan QR Code": "Skanna QR koden",
|
||||||
"Secret": "Kod",
|
"Secret": "Kod",
|
||||||
"Security Key - WebAuthN": "Säkerhetsnyckel - WebAuthN",
|
"Security Key - WebAuthn": "Säkerhetsnyckel - WebAuthn",
|
||||||
"Select a Device": "Välj en enhet",
|
"Select a Device": "Välj en enhet",
|
||||||
"Sign in": "Logga in",
|
"Sign in": "Logga in",
|
||||||
"Sign out": "Logga ut",
|
"Sign out": "Logga ut",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "Scan QR Code",
|
"Scan QR Code": "Scan QR Code",
|
||||||
"Secret": "Секрет",
|
"Secret": "Секрет",
|
||||||
"Security Key - WebAuthN": "Ключ безпеки - WebAuthN",
|
"Security Key - WebAuthn": "Ключ безпеки - WebAuthn",
|
||||||
"Select a Device": "Оберіть пристрій",
|
"Select a Device": "Оберіть пристрій",
|
||||||
"Sign in": "Увійти",
|
"Sign in": "Увійти",
|
||||||
"Sign out": "Вийти",
|
"Sign out": "Вийти",
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"Reset": "Reset",
|
"Reset": "Reset",
|
||||||
"Scan QR Code": "扫描二维码",
|
"Scan QR Code": "扫描二维码",
|
||||||
"Secret": "密钥",
|
"Secret": "密钥",
|
||||||
"Security Key - WebAuthN": "安全密钥 - WebAuthN",
|
"Security Key - WebAuthn": "安全密钥 - WebAuthn",
|
||||||
"Select a Device": "选择一个设备",
|
"Select a Device": "选择一个设备",
|
||||||
"Sign in": "登录",
|
"Sign in": "登录",
|
||||||
"Sign out": "登出",
|
"Sign out": "登出",
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
"Reset": "重設",
|
"Reset": "重設",
|
||||||
"Scan QR Code": "掃描 QR Code",
|
"Scan QR Code": "掃描 QR Code",
|
||||||
"Secret": "密錀",
|
"Secret": "密錀",
|
||||||
"Security Key - WebAuthN": "Security Key - WebAuthN",
|
"Security Key - WebAuthn": "Security Key - WebAuthn",
|
||||||
"Select a Device": "選擇裝置",
|
"Select a Device": "選擇裝置",
|
||||||
"Sign in": "登入",
|
"Sign in": "登入",
|
||||||
"Sign out": "登出",
|
"Sign out": "登出",
|
||||||
|
|
|
@ -1,11 +1,32 @@
|
||||||
{
|
<!DOCTYPE html>
|
||||||
"Base":"{{ .Base }}",
|
<html lang="en">
|
||||||
"DuoSelfEnrollment":"{{ .DuoSelfEnrollment }}",
|
<head>
|
||||||
"LogoOverride":"{{ .LogoOverride }}",
|
<base href="{{ .BaseURL }}" />
|
||||||
"RememberMe":"{{ .RememberMe }}",
|
<meta property="csp-nonce" content="{{ .CSPNonce }}" />
|
||||||
"ResetPassword":"{{ .ResetPassword }}",
|
<meta charset="utf-8" />
|
||||||
"ResetPasswordCustomURL":"{{ .ResetPasswordCustomURL }}",
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
"PrivacyPolicyURL":"{{ .PrivacyPolicyURL }}",
|
<meta name="theme-color" content="#000000" />
|
||||||
"PrivacyPolicyAccept":"{{ .PrivacyPolicyAccept }}",
|
<meta name="description" content="Authelia login portal for your apps" />
|
||||||
"Theme":"{{ .Theme }}"
|
<link rel="manifest" href="./manifest.json" />
|
||||||
}
|
<link rel="icon" href="./favicon.ico" />
|
||||||
|
<title>Login - Authelia</title>
|
||||||
|
<script type="module" crossorigin src="./static/js/index.78b807a3.js"></script>
|
||||||
|
<link rel="stylesheet" href="./static/css/index.9502ad8b.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body
|
||||||
|
data-basepath="{{ .Base }}"
|
||||||
|
data-duoselfenrollment="{{ .DuoSelfEnrollment }}"
|
||||||
|
data-logooverride="{{ .LogoOverride }}"
|
||||||
|
data-privacypolicyaccept="{{ .PrivacyPolicyAccept }}"
|
||||||
|
data-privacypolicyurl="{{ .PrivacyPolicyURL }}"
|
||||||
|
data-rememberme="{{ .RememberMe }}"
|
||||||
|
data-resetpassword="{{ .ResetPassword }}"
|
||||||
|
data-resetpasswordcustomurl="{{ .ResetPasswordCustomURL }}"
|
||||||
|
data-theme="{{ .Theme }}"
|
||||||
|
>
|
||||||
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
|
<div id="root"></div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
@ -65,7 +65,7 @@ export function AssertionResultFailureString(result: AssertionResult) {
|
||||||
case AssertionResult.FailureSyntax:
|
case AssertionResult.FailureSyntax:
|
||||||
return "The assertion challenge was rejected as malformed or incompatible by your browser.";
|
return "The assertion challenge was rejected as malformed or incompatible by your browser.";
|
||||||
case AssertionResult.FailureWebAuthnNotSupported:
|
case AssertionResult.FailureWebAuthnNotSupported:
|
||||||
return "Your browser does not support the WebAuthN protocol.";
|
return "Your browser does not support the WebAuthn protocol.";
|
||||||
case AssertionResult.FailureUnrecognized:
|
case AssertionResult.FailureUnrecognized:
|
||||||
return "This device is not registered.";
|
return "This device is not registered.";
|
||||||
case AssertionResult.FailureUnknownSecurity:
|
case AssertionResult.FailureUnknownSecurity:
|
||||||
|
@ -86,7 +86,7 @@ export function AttestationResultFailureString(result: AttestationResult) {
|
||||||
case AttestationResult.FailureSyntax:
|
case AttestationResult.FailureSyntax:
|
||||||
return "The attestation challenge was rejected as malformed or incompatible by your browser.";
|
return "The attestation challenge was rejected as malformed or incompatible by your browser.";
|
||||||
case AttestationResult.FailureWebAuthnNotSupported:
|
case AttestationResult.FailureWebAuthnNotSupported:
|
||||||
return "Your browser does not support the WebAuthN protocol.";
|
return "Your browser does not support the WebAuthn protocol.";
|
||||||
case AttestationResult.FailureUserConsent:
|
case AttestationResult.FailureUserConsent:
|
||||||
return "You cancelled the attestation request.";
|
return "You cancelled the attestation request.";
|
||||||
case AttestationResult.FailureUserVerificationOrResidentKey:
|
case AttestationResult.FailureUserVerificationOrResidentKey:
|
||||||
|
|
|
@ -69,7 +69,7 @@ function getAttestationResultFromDOMException(exception: DOMException): Attestat
|
||||||
// § 6.3.2 Step 4.
|
// § 6.3.2 Step 4.
|
||||||
return AttestationResult.FailureUserVerificationOrResidentKey;
|
return AttestationResult.FailureUserVerificationOrResidentKey;
|
||||||
default:
|
default:
|
||||||
console.error(`Unhandled DOMException occurred during WebAuthN attestation: ${exception}`);
|
console.error(`Unhandled DOMException occurred during WebAuthn attestation: ${exception}`);
|
||||||
return AttestationResult.FailureUnknown;
|
return AttestationResult.FailureUnknown;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,7 @@ function getAssertionResultFromDOMException(
|
||||||
return AssertionResult.FailureUnknownSecurity;
|
return AssertionResult.FailureUnknownSecurity;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
console.error(`Unhandled DOMException occurred during WebAuthN assertion: ${exception}`);
|
console.error(`Unhandled DOMException occurred during WebAuthn assertion: ${exception}`);
|
||||||
return AssertionResult.FailureUnknown;
|
return AssertionResult.FailureUnknown;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ const MethodSelectionDialog = function (props: Props) {
|
||||||
{props.methods.has(SecondFactorMethod.WebAuthn) && props.webauthnSupported ? (
|
{props.methods.has(SecondFactorMethod.WebAuthn) && props.webauthnSupported ? (
|
||||||
<MethodItem
|
<MethodItem
|
||||||
id="webauthn-option"
|
id="webauthn-option"
|
||||||
method={translate("Security Key - WebAuthN")}
|
method={translate("Security Key - WebAuthn")}
|
||||||
icon={<FingerTouchIcon size={32} />}
|
icon={<FingerTouchIcon size={32} />}
|
||||||
onClick={() => props.onClick(SecondFactorMethod.WebAuthn)}
|
onClick={() => props.onClick(SecondFactorMethod.WebAuthn)}
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Reference in New Issue