diff --git a/.gitignore b/.gitignore index 1bee3e4c..200f75c9 100644 --- a/.gitignore +++ b/.gitignore @@ -52,4 +52,6 @@ jspm_packages /src/account/i18n/baseMessages/ # VS Code devcontainers -.devcontainer \ No newline at end of file +.devcontainer +/.yarn +/.yarnrc.yml \ No newline at end of file diff --git a/src/login/kcContext/KcContext.ts b/src/login/kcContext/KcContext.ts index f67c0762..8b276c98 100644 --- a/src/login/kcContext/KcContext.ts +++ b/src/login/kcContext/KcContext.ts @@ -333,7 +333,6 @@ export declare namespace KcContext { totpSecretEncoded: string; qrUrl: string; policy: { - supportedApplications: string[]; algorithm: "HmacSHA1" | "HmacSHA256" | "HmacSHA512"; digits: number; lookAheadWindow: number; @@ -347,6 +346,7 @@ export declare namespace KcContext { initialCounter: number; } ); + supportedApplications: string[]; totpSecretQrCode: string; manualUrl: string; totpSecret: string; diff --git a/src/login/kcContext/kcContextMocks.ts b/src/login/kcContext/kcContextMocks.ts index 736b2fe5..be992fbb 100644 --- a/src/login/kcContext/kcContextMocks.ts +++ b/src/login/kcContext/kcContextMocks.ts @@ -453,8 +453,8 @@ export const kcContextMocks: KcContext[] = [ manualUrl: "#", totpSecret: "G4nsI8lQagRMUchH8jEG", otpCredentials: [], + supportedApplications: ["FreeOTP", "Google Authenticator"], policy: { - supportedApplications: ["FreeOTP", "Google Authenticator"], algorithm: "HmacSHA1", digits: 6, lookAheadWindow: 1, diff --git a/src/login/pages/LoginConfigTotp.tsx b/src/login/pages/LoginConfigTotp.tsx index 24c0c148..082b313e 100644 --- a/src/login/pages/LoginConfigTotp.tsx +++ b/src/login/pages/LoginConfigTotp.tsx @@ -3,6 +3,7 @@ import type { PageProps } from "keycloakify/login/pages/PageProps"; import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; import type { KcContext } from "../kcContext"; import type { I18n } from "../i18n"; +import { MessageKey } from "keycloakify/login/i18n/i18n"; export default function LoginConfigTotp(props: PageProps, I18n>) { const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; @@ -16,7 +17,7 @@ export default function LoginConfigTotp(props: PageProps = { + const algToKeyUriAlg: Record<(typeof kcContext)["totp"]["policy"]["algorithm"], string> = { "HmacSHA1": "SHA1", "HmacSHA256": "SHA256", "HmacSHA512": "SHA512" @@ -30,8 +31,8 @@ export default function LoginConfigTotp(props: PageProps{msg("loginTotpStep1")}

    - {totp.policy.supportedApplications.map(app => ( -
  • {app}
  • + {totp.supportedApplications.map(app => ( +
  • {msgStr(app as MessageKey, app)}
  • ))}