keycloakify 10.0.0-rc.1 → 10.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PUBLIC_URL.js +1 -1
- package/PUBLIC_URL.js.map +1 -1
- package/account/Fallback.js +3 -0
- package/account/Fallback.js.map +1 -1
- package/account/Template.js +2 -2
- package/account/Template.js.map +1 -1
- package/account/i18n/baseMessages/index.js.map +1 -1
- package/account/i18n/i18n.d.ts +3 -4
- package/account/i18n/i18n.js +3 -4
- package/account/i18n/i18n.js.map +1 -1
- package/account/index.d.ts +1 -1
- package/account/kcContext/KcContext.d.ts +62 -59
- package/account/kcContext/KcContext.js.map +1 -1
- package/account/kcContext/createGetKcContext.d.ts +3 -3
- package/account/kcContext/createGetKcContext.js.map +1 -1
- package/account/kcContext/getKcContextFromWindow.js +1 -1
- package/account/kcContext/getKcContextFromWindow.js.map +1 -1
- package/account/kcContext/kcContextMocks.js +22 -14
- package/account/kcContext/kcContextMocks.js.map +1 -1
- package/account/pages/Account.js +1 -1
- package/account/pages/Account.js.map +1 -1
- package/account/pages/Applications.js +3 -3
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.d.ts +7 -0
- package/account/pages/FederatedIdentity.js +8 -0
- package/account/pages/FederatedIdentity.js.map +1 -0
- package/account/pages/Log.js +2 -2
- package/account/pages/Log.js.map +1 -1
- package/account/pages/Password.js +4 -6
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.js +1 -5
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.js +2 -2
- package/account/pages/Totp.js.map +1 -1
- package/bin/main.js +143109 -0
- package/lib/BASE_URL.js.map +1 -1
- package/login/Fallback.js.map +1 -1
- package/login/Template.js +4 -4
- package/login/Template.js.map +1 -1
- package/login/UserProfileFormFields.js +17 -19
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/baseMessages/index.js.map +1 -1
- package/login/i18n/i18n.d.ts +3 -4
- package/login/i18n/i18n.js +3 -4
- package/login/i18n/i18n.js.map +1 -1
- package/login/index.d.ts +1 -1
- package/login/kcContext/KcContext.d.ts +1 -0
- package/login/kcContext/KcContext.js.map +1 -1
- package/login/kcContext/createGetKcContext.d.ts +3 -3
- package/login/kcContext/createGetKcContext.js.map +1 -1
- package/login/kcContext/getKcContextFromWindow.js +1 -1
- package/login/kcContext/getKcContextFromWindow.js.map +1 -1
- package/login/kcContext/kcContextMocks.js +3 -2
- package/login/kcContext/kcContextMocks.js.map +1 -1
- package/login/lib/useDownloadTerms.js.map +1 -1
- package/login/lib/useUserProfileForm.js +9 -9
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.js +1 -1
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.js +1 -1
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.js +1 -1
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.js +1 -1
- package/login/pages/Error.js.map +1 -1
- package/login/pages/FrontchannelLogout.js +1 -1
- package/login/pages/FrontchannelLogout.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.js +1 -1
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/Info.js +5 -5
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.js +4 -4
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.js +2 -10
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.js +1 -1
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.js +1 -1
- package/login/pages/LoginIdpLinkEmail.js.map +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.js +2 -2
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.js +1 -1
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.js +1 -1
- package/login/pages/LoginPageExpired.js.map +1 -1
- package/login/pages/LoginPassword.js +3 -3
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.js +3 -3
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.js +1 -1
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.js +2 -2
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.js +3 -3
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.js +2 -4
- package/login/pages/LoginUpdateProfile.js.map +1 -1
- package/login/pages/LoginUsername.js +3 -3
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.js +1 -1
- package/login/pages/LoginVerifyEmail.js.map +1 -1
- package/login/pages/LoginX509Info.js +1 -1
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.js +1 -1
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/Register.js +4 -8
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.js +1 -1
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.js +2 -2
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.js +1 -1
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.js +3 -5
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.js +6 -6
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.js +2 -2
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.js +3 -3
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +62 -509
- package/src/PUBLIC_URL.ts +1 -1
- package/src/account/Fallback.tsx +3 -0
- package/src/account/Template.tsx +2 -5
- package/src/account/i18n/i18n.tsx +5 -8
- package/src/account/index.ts +1 -1
- package/src/account/kcContext/KcContext.ts +72 -62
- package/src/account/kcContext/getKcContextFromWindow.ts +1 -1
- package/src/account/kcContext/kcContextMocks.ts +21 -15
- package/src/account/pages/Applications.tsx +2 -2
- package/src/account/pages/FederatedIdentity.tsx +58 -0
- package/src/account/pages/Log.tsx +1 -1
- package/src/account/pages/Sessions.tsx +0 -3
- package/src/account/pages/Totp.tsx +20 -21
- package/src/bin/copy-keycloak-resources-to-public.ts +10 -106
- package/src/bin/download-builtin-keycloak-theme.ts +14 -274
- package/src/bin/eject-keycloak-page.ts +81 -19
- package/src/bin/initialize-email-theme.ts +22 -21
- package/src/bin/keycloakify/buildJars/buildJar.ts +13 -17
- package/src/bin/keycloakify/buildJars/buildJars.ts +14 -15
- package/src/bin/keycloakify/buildJars/generatePom.ts +1 -1
- package/src/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.ts +45 -18
- package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +160 -232
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +7 -4
- package/src/bin/keycloakify/generateFtl/index.ts +0 -1
- package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/bringInAccountV1.ts +8 -7
- package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/generateMessageProperties.ts +1 -1
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +32 -0
- package/src/bin/keycloakify/{generateTheme/generateSrcMainResources.ts → generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts} +40 -46
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +56 -0
- package/src/bin/keycloakify/generateSrcMainResources/index.ts +1 -0
- package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/readExtraPageNames.ts +1 -2
- package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/readFieldNameUsage.ts +5 -4
- package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +14 -15
- package/src/bin/keycloakify/index.ts +0 -7
- package/src/bin/keycloakify/keycloakify.ts +50 -67
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +2 -2
- package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +2 -2
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +1 -1
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +2 -2
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +2 -2
- package/src/bin/main.ts +175 -0
- package/src/bin/shared/KeycloakVersionRange.ts +7 -0
- package/src/bin/{keycloakify/buildOptions → shared}/buildOptions.ts +113 -25
- package/src/bin/{keycloakify/generateFtl/pageId.ts → shared/constants.ts} +25 -1
- package/src/bin/shared/copyKeycloakResourcesToPublic.ts +90 -0
- package/src/bin/{downloadAndUnzip.ts → shared/downloadAndUnzip.ts} +6 -6
- package/src/bin/shared/downloadBuiltinKeycloakTheme.ts +264 -0
- package/src/bin/{keycloakify/generateTheme → shared}/downloadKeycloakStaticResources.ts +8 -8
- package/src/bin/shared/getJarFileBasename.ts +9 -0
- package/src/bin/{getThemeSrcDirPath.ts → shared/getThemeSrcDirPath.ts} +1 -1
- package/src/bin/shared/metaInfKeycloakThemes.ts +34 -0
- package/src/bin/shared/promptKeycloakVersion.ts +106 -0
- package/src/bin/start-keycloak.ts +236 -0
- package/src/bin/tools/fs.rmSync.ts +4 -4
- package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +8 -1
- package/src/bin/{keycloakify/buildOptions → tools}/getNpmWorkspaceRootDirPath.ts +1 -23
- package/src/bin/tools/{readThisNpmProjectVersion.ts → readThisNpmPackageVersion.ts} +1 -1
- package/src/login/Template.tsx +6 -22
- package/src/login/UserProfileFormFields.tsx +2 -5
- package/src/login/i18n/i18n.tsx +5 -8
- package/src/login/index.ts +1 -1
- package/src/login/kcContext/KcContext.ts +2 -2
- package/src/login/kcContext/getKcContextFromWindow.ts +1 -1
- package/src/login/kcContext/kcContextMocks.ts +3 -3
- package/src/login/lib/useUserProfileForm.tsx +10 -10
- package/src/login/pages/Code.tsx +1 -1
- package/src/login/pages/IdpReviewUserProfile.tsx +1 -1
- package/src/login/pages/Login.tsx +1 -1
- package/src/login/pages/LoginConfigTotp.tsx +1 -9
- package/src/login/pages/LoginUpdateProfile.tsx +1 -1
- package/src/login/pages/LoginUsername.tsx +1 -1
- package/src/login/pages/Register.tsx +1 -1
- package/src/login/pages/UpdateEmail.tsx +1 -1
- package/src/login/pages/WebauthnRegister.tsx +1 -1
- package/src/vite-plugin/tsconfig.json +2 -1
- package/src/vite-plugin/vite-plugin.ts +29 -41
- package/tools/Array.prototype.every.js.map +1 -1
- package/tools/HTMLElement.prototype.prepend.js.map +1 -1
- package/tools/clsx.js.map +1 -1
- package/tools/deepAssign.js.map +1 -1
- package/tools/deepClone.js.map +1 -1
- package/tools/formatNumber.js.map +1 -1
- package/tools/memoize.js.map +1 -1
- package/tools/useInsertLinkTags.js.map +1 -1
- package/tools/useInsertScriptTags.js.map +1 -1
- package/tools/useSetClassName.js.map +1 -1
- package/bin/constants.d.ts +0 -10
- package/bin/constants.js +0 -13
- package/bin/constants.js.map +0 -1
- package/bin/copy-keycloak-resources-to-public.d.ts +0 -14
- package/bin/copy-keycloak-resources-to-public.js +0 -216
- package/bin/copy-keycloak-resources-to-public.js.map +0 -1
- package/bin/download-builtin-keycloak-theme.d.ts +0 -10
- package/bin/download-builtin-keycloak-theme.js +0 -352
- package/bin/download-builtin-keycloak-theme.js.map +0 -1
- package/bin/downloadAndUnzip.d.ts +0 -16
- package/bin/downloadAndUnzip.js +0 -255
- package/bin/downloadAndUnzip.js.map +0 -1
- package/bin/eject-keycloak-page.d.ts +0 -2
- package/bin/eject-keycloak-page.js +0 -132
- package/bin/eject-keycloak-page.js.map +0 -1
- package/bin/getThemeSrcDirPath.d.ts +0 -6
- package/bin/getThemeSrcDirPath.js +0 -123
- package/bin/getThemeSrcDirPath.js.map +0 -1
- package/bin/initialize-email-theme.d.ts +0 -2
- package/bin/initialize-email-theme.js +0 -121
- package/bin/initialize-email-theme.js.map +0 -1
- package/bin/keycloakify/buildJars/buildJar.d.ts +0 -14
- package/bin/keycloakify/buildJars/buildJar.js +0 -224
- package/bin/keycloakify/buildJars/buildJar.js.map +0 -1
- package/bin/keycloakify/buildJars/buildJars.d.ts +0 -10
- package/bin/keycloakify/buildJars/buildJars.js +0 -95
- package/bin/keycloakify/buildJars/buildJars.js.map +0 -1
- package/bin/keycloakify/buildJars/extensionVersions.d.ts +0 -12
- package/bin/keycloakify/buildJars/extensionVersions.js +0 -7
- package/bin/keycloakify/buildJars/extensionVersions.js.map +0 -1
- package/bin/keycloakify/buildJars/generatePom.d.ts +0 -13
- package/bin/keycloakify/buildJars/generatePom.js +0 -95
- package/bin/keycloakify/buildJars/generatePom.js.map +0 -1
- package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.d.ts +0 -6
- package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js +0 -35
- package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js.map +0 -1
- package/bin/keycloakify/buildJars/index.d.ts +0 -1
- package/bin/keycloakify/buildJars/index.js +0 -18
- package/bin/keycloakify/buildJars/index.js.map +0 -1
- package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.d.ts +0 -35
- package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.js +0 -14
- package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.js.map +0 -1
- package/bin/keycloakify/buildOptions/buildOptions.d.ts +0 -25
- package/bin/keycloakify/buildOptions/buildOptions.js +0 -178
- package/bin/keycloakify/buildOptions/buildOptions.js.map +0 -1
- package/bin/keycloakify/buildOptions/getCacheDirPath.d.ts +0 -5
- package/bin/keycloakify/buildOptions/getCacheDirPath.js +0 -22
- package/bin/keycloakify/buildOptions/getCacheDirPath.js.map +0 -1
- package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.d.ts +0 -5
- package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js +0 -86
- package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js.map +0 -1
- package/bin/keycloakify/buildOptions/getReactAppRootDirPath.d.ts +0 -5
- package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js +0 -26
- package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js.map +0 -1
- package/bin/keycloakify/buildOptions/index.d.ts +0 -1
- package/bin/keycloakify/buildOptions/index.js +0 -18
- package/bin/keycloakify/buildOptions/index.js.map +0 -1
- package/bin/keycloakify/buildOptions/parsedPackageJson.d.ts +0 -10
- package/bin/keycloakify/buildOptions/parsedPackageJson.js +0 -49
- package/bin/keycloakify/buildOptions/parsedPackageJson.js.map +0 -1
- package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +0 -13
- package/bin/keycloakify/buildOptions/resolvedViteConfig.js +0 -77
- package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +0 -1
- package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +0 -593
- package/bin/keycloakify/generateFtl/generateFtl.d.ts +0 -23
- package/bin/keycloakify/generateFtl/generateFtl.js +0 -169
- package/bin/keycloakify/generateFtl/generateFtl.js.map +0 -1
- package/bin/keycloakify/generateFtl/index.d.ts +0 -2
- package/bin/keycloakify/generateFtl/index.js +0 -19
- package/bin/keycloakify/generateFtl/index.js.map +0 -1
- package/bin/keycloakify/generateFtl/pageId.d.ts +0 -4
- package/bin/keycloakify/generateFtl/pageId.js +0 -41
- package/bin/keycloakify/generateFtl/pageId.js.map +0 -1
- package/bin/keycloakify/generateStartKeycloakTestingContainer.d.ts +0 -11
- package/bin/keycloakify/generateStartKeycloakTestingContainer.js +0 -89
- package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +0 -1
- package/bin/keycloakify/generateTheme/bringInAccountV1.d.ts +0 -9
- package/bin/keycloakify/generateTheme/bringInAccountV1.js +0 -153
- package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +0 -1
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +0 -11
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +0 -102
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +0 -1
- package/bin/keycloakify/generateTheme/generateMessageProperties.d.ts +0 -8
- package/bin/keycloakify/generateTheme/generateMessageProperties.js +0 -271
- package/bin/keycloakify/generateTheme/generateMessageProperties.js.map +0 -1
- package/bin/keycloakify/generateTheme/generateSrcMainResources.d.ts +0 -21
- package/bin/keycloakify/generateTheme/generateSrcMainResources.js +0 -340
- package/bin/keycloakify/generateTheme/generateSrcMainResources.js.map +0 -1
- package/bin/keycloakify/generateTheme/generateTheme.d.ts +0 -13
- package/bin/keycloakify/generateTheme/generateTheme.js +0 -115
- package/bin/keycloakify/generateTheme/generateTheme.js.map +0 -1
- package/bin/keycloakify/generateTheme/generateThemeVariants.d.ts +0 -5
- package/bin/keycloakify/generateTheme/generateThemeVariants.js +0 -67
- package/bin/keycloakify/generateTheme/generateThemeVariants.js.map +0 -1
- package/bin/keycloakify/generateTheme/index.d.ts +0 -1
- package/bin/keycloakify/generateTheme/index.js +0 -18
- package/bin/keycloakify/generateTheme/index.js.map +0 -1
- package/bin/keycloakify/generateTheme/readExtraPageNames.d.ts +0 -5
- package/bin/keycloakify/generateTheme/readExtraPageNames.js +0 -105
- package/bin/keycloakify/generateTheme/readExtraPageNames.js.map +0 -1
- package/bin/keycloakify/generateTheme/readFieldNameUsage.d.ts +0 -7
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js +0 -141
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +0 -1
- package/bin/keycloakify/index.d.ts +0 -2
- package/bin/keycloakify/index.js +0 -23
- package/bin/keycloakify/index.js.map +0 -1
- package/bin/keycloakify/keycloakify.d.ts +0 -1
- package/bin/keycloakify/keycloakify.js +0 -166
- package/bin/keycloakify/keycloakify.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsInCssCode.d.ts +0 -15
- package/bin/keycloakify/replacers/replaceImportsInCssCode.js +0 -88
- package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts +0 -9
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +0 -38
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts +0 -1
- package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js +0 -18
- package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts +0 -12
- package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js +0 -70
- package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts +0 -13
- package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js +0 -95
- package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts +0 -12
- package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js +0 -103
- package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map +0 -1
- package/bin/promptKeycloakVersion.d.ts +0 -3
- package/bin/promptKeycloakVersion.js +0 -121
- package/bin/promptKeycloakVersion.js.map +0 -1
- package/bin/tools/OptionalIfCanBeUndefined.d.ts +0 -14
- package/bin/tools/OptionalIfCanBeUndefined.js +0 -3
- package/bin/tools/OptionalIfCanBeUndefined.js.map +0 -1
- package/bin/tools/SemVer.d.ts +0 -26
- package/bin/tools/SemVer.js +0 -119
- package/bin/tools/SemVer.js.map +0 -1
- package/bin/tools/String.prototype.replaceAll.d.ts +0 -1
- package/bin/tools/String.prototype.replaceAll.js +0 -29
- package/bin/tools/String.prototype.replaceAll.js.map +0 -1
- package/bin/tools/crawl.d.ts +0 -5
- package/bin/tools/crawl.js +0 -74
- package/bin/tools/crawl.js.map +0 -1
- package/bin/tools/crc32.d.ts +0 -9
- package/bin/tools/crc32.js +0 -64
- package/bin/tools/crc32.js.map +0 -1
- package/bin/tools/deflate.d.ts +0 -24
- package/bin/tools/deflate.js +0 -155
- package/bin/tools/deflate.js.map +0 -1
- package/bin/tools/fetchProxyOptions.d.ts +0 -5
- package/bin/tools/fetchProxyOptions.js +0 -172
- package/bin/tools/fetchProxyOptions.js.map +0 -1
- package/bin/tools/fs.existsAsync.d.ts +0 -1
- package/bin/tools/fs.existsAsync.js +0 -86
- package/bin/tools/fs.existsAsync.js.map +0 -1
- package/bin/tools/fs.rm.d.ts +0 -8
- package/bin/tools/fs.rm.js +0 -151
- package/bin/tools/fs.rm.js.map +0 -1
- package/bin/tools/fs.rmSync.d.ts +0 -8
- package/bin/tools/fs.rmSync.js +0 -58
- package/bin/tools/fs.rmSync.js.map +0 -1
- package/bin/tools/getAbsoluteAndInOsFormatPath.d.ts +0 -4
- package/bin/tools/getAbsoluteAndInOsFormatPath.js +0 -16
- package/bin/tools/getAbsoluteAndInOsFormatPath.js.map +0 -1
- package/bin/tools/getThisCodebaseRootDirPath.d.ts +0 -1
- package/bin/tools/getThisCodebaseRootDirPath.js +0 -43
- package/bin/tools/getThisCodebaseRootDirPath.js.map +0 -1
- package/bin/tools/grant-exec-perms.d.ts +0 -1
- package/bin/tools/grant-exec-perms.js +0 -100
- package/bin/tools/grant-exec-perms.js.map +0 -1
- package/bin/tools/isInside.d.ts +0 -4
- package/bin/tools/isInside.js +0 -10
- package/bin/tools/isInside.js.map +0 -1
- package/bin/tools/kebabCaseToSnakeCase.d.ts +0 -1
- package/bin/tools/kebabCaseToSnakeCase.js +0 -35
- package/bin/tools/kebabCaseToSnakeCase.js.map +0 -1
- package/bin/tools/logger.d.ts +0 -12
- package/bin/tools/logger.js +0 -23
- package/bin/tools/logger.js.map +0 -1
- package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +0 -14
- package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +0 -119
- package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +0 -1
- package/bin/tools/octokit-addons/listTags.d.ts +0 -13
- package/bin/tools/octokit-addons/listTags.js +0 -154
- package/bin/tools/octokit-addons/listTags.js.map +0 -1
- package/bin/tools/partitionPromiseSettledResults.d.ts +0 -2
- package/bin/tools/partitionPromiseSettledResults.js +0 -41
- package/bin/tools/partitionPromiseSettledResults.js.map +0 -1
- package/bin/tools/readThisNpmProjectVersion.d.ts +0 -1
- package/bin/tools/readThisNpmProjectVersion.js +0 -37
- package/bin/tools/readThisNpmProjectVersion.js.map +0 -1
- package/bin/tools/tee.d.ts +0 -3
- package/bin/tools/tee.js +0 -37
- package/bin/tools/tee.js.map +0 -1
- package/bin/tools/transformCodebase.d.ts +0 -20
- package/bin/tools/transformCodebase.js +0 -97
- package/bin/tools/transformCodebase.js.map +0 -1
- package/bin/tools/trimIndent.d.ts +0 -5
- package/bin/tools/trimIndent.js +0 -82
- package/bin/tools/trimIndent.js.map +0 -1
- package/bin/tools/unzip.d.ts +0 -2
- package/bin/tools/unzip.js +0 -274
- package/bin/tools/unzip.js.map +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -2
- package/index.js.map +0 -1
- package/lib/keycloakJsAdapter.d.ts +0 -51
- package/lib/keycloakJsAdapter.js +0 -74
- package/lib/keycloakJsAdapter.js.map +0 -1
- package/src/bin/constants.ts +0 -13
- package/src/bin/keycloakify/buildOptions/UserProvidedBuildOptions.ts +0 -21
- package/src/bin/keycloakify/buildOptions/getCacheDirPath.ts +0 -25
- package/src/bin/keycloakify/buildOptions/getReactAppRootDirPath.ts +0 -23
- package/src/bin/keycloakify/buildOptions/index.ts +0 -1
- package/src/bin/keycloakify/buildOptions/parsedPackageJson.ts +0 -32
- package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +0 -74
- package/src/bin/keycloakify/generateTheme/generateTheme.ts +0 -44
- package/src/bin/keycloakify/generateTheme/generateThemeVariants.ts +0 -50
- package/src/bin/keycloakify/generateTheme/index.ts +0 -1
- package/src/bin/promptKeycloakVersion.ts +0 -49
- package/src/bin/tools/grant-exec-perms.ts +0 -19
- package/src/bin/tools/logger.ts +0 -27
- package/src/index.ts +0 -1
- package/src/lib/keycloakJsAdapter.ts +0 -118
- package/vite-plugin/index.d.ts +0 -1
- package/vite-plugin/index.js +0 -18
- package/vite-plugin/index.js.map +0 -1
- package/vite-plugin/tsconfig.tsbuildinfo +0 -1
- package/vite-plugin/vite-plugin.d.ts +0 -6
- package/vite-plugin/vite-plugin.js +0 -158
- package/vite-plugin/vite-plugin.js.map +0 -1
package/src/PUBLIC_URL.ts
CHANGED
package/src/account/Fallback.tsx
CHANGED
@@ -3,6 +3,7 @@ import type { PageProps } from "keycloakify/account/pages/PageProps";
|
|
3
3
|
import type { I18n } from "keycloakify/account/i18n";
|
4
4
|
import type { KcContext } from "./kcContext";
|
5
5
|
import { assert, type Equals } from "tsafe/assert";
|
6
|
+
import FederatedIdentity from "./pages/FederatedIdentity";
|
6
7
|
|
7
8
|
const Password = lazy(() => import("keycloakify/account/pages/Password"));
|
8
9
|
const Account = lazy(() => import("keycloakify/account/pages/Account"));
|
@@ -30,6 +31,8 @@ export default function Fallback(props: PageProps<KcContext, I18n>) {
|
|
30
31
|
return <Applications kcContext={kcContext} {...rest} />;
|
31
32
|
case "log.ftl":
|
32
33
|
return <Log kcContext={kcContext} {...rest} />;
|
34
|
+
case "federatedIdentity.ftl":
|
35
|
+
return <FederatedIdentity kcContext={kcContext} {...rest} />;
|
33
36
|
}
|
34
37
|
assert<Equals<typeof kcContext, never>>(false);
|
35
38
|
})()}
|
package/src/account/Template.tsx
CHANGED
@@ -15,7 +15,7 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
|
|
15
15
|
|
16
16
|
const { getClassName } = useGetClassName({ doUseDefaultCss, classes });
|
17
17
|
|
18
|
-
const { msg, msgStr,
|
18
|
+
const { msg, msgStr, getChangeLocalUrl, labelBySupportedLanguageTag, currentLanguageTag } = i18n;
|
19
19
|
|
20
20
|
const { locale, url, features, realm, message, referrer } = kcContext;
|
21
21
|
|
@@ -81,10 +81,7 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
|
|
81
81
|
<ul>
|
82
82
|
{locale.supported.map(({ languageTag }) => (
|
83
83
|
<li key={languageTag} className="kc-dropdown-item">
|
84
|
-
{
|
85
|
-
<a href="#" onClick={() => changeLocale(languageTag)}>
|
86
|
-
{labelBySupportedLanguageTag[languageTag]}
|
87
|
-
</a>
|
84
|
+
<a href={getChangeLocalUrl(languageTag)}>{labelBySupportedLanguageTag[languageTag]}</a>
|
88
85
|
</li>
|
89
86
|
))}
|
90
87
|
</ul>
|
@@ -28,11 +28,10 @@ export type GenericI18n<MessageKey extends string> = {
|
|
28
28
|
*/
|
29
29
|
currentLanguageTag: string;
|
30
30
|
/**
|
31
|
-
*
|
32
|
-
*
|
33
|
-
* on next load currentLanguageTag === newLanguageTag
|
31
|
+
* Redirect to this url to change the language.
|
32
|
+
* After reload currentLanguageTag === newLanguageTag
|
34
33
|
*/
|
35
|
-
|
34
|
+
getChangeLocalUrl: (newLanguageTag: string) => string;
|
36
35
|
/**
|
37
36
|
* e.g. "en" => "English", "fr" => "Français", ...
|
38
37
|
*
|
@@ -104,7 +103,7 @@ export function createUseI18n<ExtraMessageKey extends string = never>(extraMessa
|
|
104
103
|
} as any
|
105
104
|
}),
|
106
105
|
currentLanguageTag,
|
107
|
-
"
|
106
|
+
"getChangeLocalUrl": newLanguageTag => {
|
108
107
|
const { locale } = kcContext;
|
109
108
|
|
110
109
|
assert(locale !== undefined, "Internationalization not enabled");
|
@@ -113,9 +112,7 @@ export function createUseI18n<ExtraMessageKey extends string = never>(extraMessa
|
|
113
112
|
|
114
113
|
assert(targetSupportedLocale !== undefined, `${newLanguageTag} need to be enabled in Keycloak admin`);
|
115
114
|
|
116
|
-
|
117
|
-
|
118
|
-
assert(false, "never");
|
115
|
+
return targetSupportedLocale.url;
|
119
116
|
},
|
120
117
|
"labelBySupportedLanguageTag": Object.fromEntries(
|
121
118
|
(kcContext.locale?.supported ?? []).map(({ languageTag, label }) => [languageTag, label])
|
package/src/account/index.ts
CHANGED
@@ -4,7 +4,7 @@ export default Fallback;
|
|
4
4
|
|
5
5
|
export { getKcContext } from "keycloakify/account/kcContext/getKcContext";
|
6
6
|
export { createGetKcContext } from "keycloakify/account/kcContext/createGetKcContext";
|
7
|
-
export type { AccountThemePageId as PageId } from "keycloakify/bin/
|
7
|
+
export type { AccountThemePageId as PageId } from "keycloakify/bin/shared/constants";
|
8
8
|
export { createUseI18n } from "keycloakify/account/i18n/i18n";
|
9
9
|
|
10
10
|
export type { PageProps } from "keycloakify/account/pages/PageProps";
|
@@ -1,9 +1,15 @@
|
|
1
|
-
import type { AccountThemePageId } from "keycloakify/bin/keycloakify/generateFtl";
|
2
1
|
import { assert } from "tsafe/assert";
|
3
2
|
import type { Equals } from "tsafe";
|
4
|
-
import {
|
3
|
+
import type { ThemeType, AccountThemePageId } from "keycloakify/bin/shared/constants";
|
5
4
|
|
6
|
-
export type KcContext =
|
5
|
+
export type KcContext =
|
6
|
+
| KcContext.Password
|
7
|
+
| KcContext.Account
|
8
|
+
| KcContext.Sessions
|
9
|
+
| KcContext.Totp
|
10
|
+
| KcContext.Applications
|
11
|
+
| KcContext.Log
|
12
|
+
| KcContext.FederatedIdentity;
|
7
13
|
|
8
14
|
export declare namespace KcContext {
|
9
15
|
export type Common = {
|
@@ -27,6 +33,7 @@ export declare namespace KcContext {
|
|
27
33
|
sessionsUrl: string;
|
28
34
|
applicationsUrl: string;
|
29
35
|
logUrl: string;
|
36
|
+
logoutUrl: string;
|
30
37
|
resourceUrl: string;
|
31
38
|
resourcesCommonPath: string;
|
32
39
|
resourcesPath: string;
|
@@ -91,15 +98,6 @@ export declare namespace KcContext {
|
|
91
98
|
username?: string;
|
92
99
|
};
|
93
100
|
properties: Record<string, string | undefined>;
|
94
|
-
sessions: {
|
95
|
-
sessions: {
|
96
|
-
ipAddress: string;
|
97
|
-
started?: any;
|
98
|
-
lastAccess?: any;
|
99
|
-
expires?: any;
|
100
|
-
clients: string[];
|
101
|
-
}[];
|
102
|
-
};
|
103
101
|
};
|
104
102
|
|
105
103
|
export type Password = Common & {
|
@@ -126,11 +124,12 @@ export declare namespace KcContext {
|
|
126
124
|
pageId: "sessions.ftl";
|
127
125
|
sessions: {
|
128
126
|
sessions: {
|
129
|
-
|
130
|
-
started?: any;
|
131
|
-
lastAccess?: any;
|
132
|
-
expires?: any;
|
127
|
+
expires: string;
|
133
128
|
clients: string[];
|
129
|
+
ipAddress: string;
|
130
|
+
started: string;
|
131
|
+
lastAccess: string;
|
132
|
+
id: string;
|
134
133
|
}[];
|
135
134
|
};
|
136
135
|
stateChecker: string;
|
@@ -164,21 +163,6 @@ export declare namespace KcContext {
|
|
164
163
|
};
|
165
164
|
mode?: "qr" | "manual" | undefined | null;
|
166
165
|
isAppInitiatedAction: boolean;
|
167
|
-
url: {
|
168
|
-
accountUrl: string;
|
169
|
-
passwordUrl: string;
|
170
|
-
totpUrl: string;
|
171
|
-
socialUrl: string;
|
172
|
-
sessionsUrl: string;
|
173
|
-
applicationsUrl: string;
|
174
|
-
logUrl: string;
|
175
|
-
resourceUrl: string;
|
176
|
-
resourcesCommonPath: string;
|
177
|
-
resourcesPath: string;
|
178
|
-
/** @deprecated, not present in recent keycloak version apparently, use kcContext.referrer instead */
|
179
|
-
referrerURI?: string;
|
180
|
-
getLogoutUrl: () => string;
|
181
|
-
};
|
182
166
|
stateChecker: string;
|
183
167
|
};
|
184
168
|
|
@@ -193,12 +177,21 @@ export declare namespace KcContext {
|
|
193
177
|
stateChecker: string;
|
194
178
|
applications: {
|
195
179
|
applications: {
|
196
|
-
realmRolesAvailable: {
|
180
|
+
realmRolesAvailable: {
|
181
|
+
name: string;
|
182
|
+
description: string;
|
183
|
+
compositesStream?: Record<string, unknown>;
|
184
|
+
clientRole?: boolean;
|
185
|
+
composite?: boolean;
|
186
|
+
id?: string;
|
187
|
+
containerId?: string;
|
188
|
+
attributes?: Record<string, unknown>;
|
189
|
+
}[];
|
197
190
|
resourceRolesAvailable: Record<
|
198
191
|
string,
|
199
192
|
{
|
200
193
|
roleName: string;
|
201
|
-
roleDescription
|
194
|
+
roleDescription?: string;
|
202
195
|
clientName: string;
|
203
196
|
clientId: string;
|
204
197
|
}[]
|
@@ -207,41 +200,44 @@ export declare namespace KcContext {
|
|
207
200
|
clientScopesGranted: string[];
|
208
201
|
effectiveUrl?: string;
|
209
202
|
client: {
|
210
|
-
|
211
|
-
|
203
|
+
alwaysDisplayInConsole: boolean;
|
204
|
+
attributes: Record<string, unknown>;
|
205
|
+
authenticationFlowBindingOverrides: Record<string, unknown>;
|
206
|
+
baseUrl?: string;
|
212
207
|
bearerOnly: boolean;
|
213
|
-
id: string;
|
214
|
-
protocolMappersStream: Record<string, unknown>;
|
215
|
-
includeInTokenScope: boolean;
|
216
|
-
redirectUris: string[];
|
217
|
-
fullScopeAllowed: boolean;
|
218
|
-
registeredNodes: Record<string, unknown>;
|
219
|
-
enabled: boolean;
|
220
208
|
clientAuthenticatorType: string;
|
221
|
-
realmScopeMappingsStream: Record<string, unknown>;
|
222
|
-
scopeMappingsStream: Record<string, unknown>;
|
223
|
-
displayOnConsentScreen: boolean;
|
224
209
|
clientId: string;
|
225
|
-
rootUrl: string;
|
226
|
-
authenticationFlowBindingOverrides: Record<string, unknown>;
|
227
|
-
standardFlowEnabled: boolean;
|
228
|
-
attributes: Record<string, unknown>;
|
229
|
-
publicClient: boolean;
|
230
|
-
alwaysDisplayInConsole: boolean;
|
231
210
|
consentRequired: boolean;
|
232
|
-
|
233
|
-
|
234
|
-
protocol: string;
|
235
|
-
dynamicScope: boolean;
|
211
|
+
consentScreenText: string;
|
212
|
+
description: string;
|
236
213
|
directAccessGrantsEnabled: boolean;
|
237
|
-
|
238
|
-
|
214
|
+
displayOnConsentScreen: boolean;
|
215
|
+
dynamicScope: boolean;
|
216
|
+
enabled: boolean;
|
239
217
|
frontchannelLogout: boolean;
|
240
|
-
|
218
|
+
fullScopeAllowed: boolean;
|
219
|
+
id: string;
|
241
220
|
implicitFlowEnabled: boolean;
|
242
|
-
|
243
|
-
|
221
|
+
includeInTokenScope: boolean;
|
222
|
+
managementUrl: string;
|
223
|
+
name?: string;
|
224
|
+
nodeReRegistrationTimeout: string;
|
225
|
+
notBefore: string;
|
226
|
+
protocol: string;
|
227
|
+
protocolMappersStream: Record<string, unknown>;
|
228
|
+
publicClient: boolean;
|
244
229
|
realm: Record<string, unknown>;
|
230
|
+
realmScopeMappingsStream: Record<string, unknown>;
|
231
|
+
redirectUris: string[];
|
232
|
+
registeredNodes: Record<string, unknown>;
|
233
|
+
rolesStream: Record<string, unknown>;
|
234
|
+
rootUrl?: string;
|
235
|
+
scopeMappingsStream: Record<string, unknown>;
|
236
|
+
secret: string;
|
237
|
+
serviceAccountsEnabled: boolean;
|
238
|
+
standardFlowEnabled: boolean;
|
239
|
+
surrogateAuthRequired: boolean;
|
240
|
+
webOrigins: string[];
|
245
241
|
};
|
246
242
|
}[];
|
247
243
|
};
|
@@ -254,9 +250,23 @@ export declare namespace KcContext {
|
|
254
250
|
date: string | number | Date;
|
255
251
|
event: string;
|
256
252
|
ipAddress: string;
|
257
|
-
client:
|
258
|
-
details:
|
253
|
+
client: string;
|
254
|
+
details: { value: string; key: string }[];
|
255
|
+
}[];
|
256
|
+
};
|
257
|
+
};
|
258
|
+
|
259
|
+
export type FederatedIdentity = Common & {
|
260
|
+
pageId: "federatedIdentity.ftl";
|
261
|
+
stateChecker: string;
|
262
|
+
federatedIdentity: {
|
263
|
+
identities: {
|
264
|
+
providerId: string;
|
265
|
+
displayName: string;
|
266
|
+
userName: string;
|
267
|
+
connected: boolean;
|
259
268
|
}[];
|
269
|
+
removeLinkPossible: boolean;
|
260
270
|
};
|
261
271
|
};
|
262
272
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey";
|
2
|
-
import { nameOfTheGlobal } from "keycloakify/bin/constants";
|
2
|
+
import { nameOfTheGlobal } from "keycloakify/bin/shared/constants";
|
3
3
|
import type { KcContext } from "./KcContext";
|
4
4
|
|
5
5
|
export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [KcContextExtension] extends [never]
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import "minimal-polyfills/Object.fromEntries";
|
2
|
-
import { resources_common, keycloak_resources } from "keycloakify/bin/constants";
|
2
|
+
import { resources_common, keycloak_resources } from "keycloakify/bin/shared/constants";
|
3
3
|
import { id } from "tsafe/id";
|
4
4
|
import type { KcContext } from "./KcContext";
|
5
5
|
import { BASE_URL } from "keycloakify/lib/BASE_URL";
|
@@ -17,6 +17,7 @@ export const kcContextCommonMock: KcContext.Common = {
|
|
17
17
|
"resourceUrl": "#",
|
18
18
|
"accountUrl": "#",
|
19
19
|
"applicationsUrl": "#",
|
20
|
+
"logoutUrl": "#",
|
20
21
|
"getLogoutUrl": () => "#",
|
21
22
|
"logUrl": "#",
|
22
23
|
"passwordUrl": "#",
|
@@ -156,17 +157,6 @@ export const kcContextCommonMock: KcContext.Common = {
|
|
156
157
|
"css/account.css img/icon-sidebar-active.png img/logo.png resources-common/node_modules/patternfly/dist/css/patternfly.min.css resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css",
|
157
158
|
"kcButtonClass": "btn",
|
158
159
|
"kcButtonDefaultClass": "btn-default"
|
159
|
-
},
|
160
|
-
"sessions": {
|
161
|
-
"sessions": [
|
162
|
-
{
|
163
|
-
"ipAddress": "127.0.0.1",
|
164
|
-
"started": new Date().toString(),
|
165
|
-
"lastAccess": new Date().toString(),
|
166
|
-
"expires": new Date().toString(),
|
167
|
-
"clients": ["Chrome", "Firefox"]
|
168
|
-
}
|
169
|
-
]
|
170
160
|
}
|
171
161
|
};
|
172
162
|
|
@@ -200,12 +190,12 @@ export const kcContextMocks: KcContext[] = [
|
|
200
190
|
"sessions": {
|
201
191
|
"sessions": [
|
202
192
|
{
|
203
|
-
...kcContextCommonMock.sessions,
|
204
193
|
"ipAddress": "127.0.0.1",
|
205
194
|
"started": new Date().toString(),
|
206
195
|
"lastAccess": new Date().toString(),
|
207
196
|
"expires": new Date().toString(),
|
208
|
-
"clients": ["Chrome", "Firefox"]
|
197
|
+
"clients": ["Chrome", "Firefox"],
|
198
|
+
"id": "f8951177-817d-4a70-9c02-86d3c170fe51"
|
209
199
|
}
|
210
200
|
]
|
211
201
|
},
|
@@ -246,9 +236,25 @@ export const kcContextMocks: KcContext[] = [
|
|
246
236
|
"event": "login",
|
247
237
|
"ipAddress": "172.17.0.1",
|
248
238
|
"client": "security-admin-console",
|
249
|
-
"details": [
|
239
|
+
"details": [{ key: "openid-connect", value: "admin" }]
|
250
240
|
}
|
251
241
|
]
|
252
242
|
}
|
243
|
+
}),
|
244
|
+
id<KcContext.FederatedIdentity>({
|
245
|
+
...kcContextCommonMock,
|
246
|
+
"stateChecker": "",
|
247
|
+
"pageId": "federatedIdentity.ftl",
|
248
|
+
"federatedIdentity": {
|
249
|
+
"identities": [
|
250
|
+
{
|
251
|
+
"providerId": "keycloak-oidc",
|
252
|
+
"displayName": "keycloak-oidc",
|
253
|
+
"userName": "John",
|
254
|
+
"connected": true
|
255
|
+
}
|
256
|
+
],
|
257
|
+
"removeLinkPossible": true
|
258
|
+
}
|
253
259
|
})
|
254
260
|
];
|
@@ -61,10 +61,10 @@ export default function Applications(props: PageProps<Extract<KcContext, { pageI
|
|
61
61
|
|
62
62
|
<td>
|
63
63
|
{!isArrayWithEmptyObject(application.realmRolesAvailable) &&
|
64
|
-
application.realmRolesAvailable.map(role => (
|
64
|
+
application.realmRolesAvailable.map((role, index) => (
|
65
65
|
<span key={role.name}>
|
66
66
|
{role.description ? advancedMsg(role.description) : advancedMsg(role.name)}
|
67
|
-
{
|
67
|
+
{index < application.realmRolesAvailable.length - 1 && ", "}
|
68
68
|
</span>
|
69
69
|
))}
|
70
70
|
{!isArrayWithEmptyObject(application.realmRolesAvailable) && application.resourceRolesAvailable && ", "}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { PageProps } from "keycloakify/account";
|
2
|
+
import { I18n } from "keycloakify/account/i18n";
|
3
|
+
import { KcContext } from "keycloakify/account/kcContext";
|
4
|
+
|
5
|
+
export default function FederatedIdentity(props: PageProps<Extract<KcContext, { pageId: "federatedIdentity.ftl" }>, I18n>) {
|
6
|
+
const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
|
7
|
+
|
8
|
+
const { url, federatedIdentity, stateChecker } = kcContext;
|
9
|
+
const { msg } = i18n;
|
10
|
+
return (
|
11
|
+
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} active="federatedIdentity">
|
12
|
+
<div className="main-layout social">
|
13
|
+
<div className="row">
|
14
|
+
<div className="col-md-10">
|
15
|
+
<h2>{msg("federatedIdentitiesHtmlTitle")}</h2>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<div id="federated-identities">
|
19
|
+
{federatedIdentity.identities.map(identity => (
|
20
|
+
<div key={identity.providerId} className="row margin-bottom">
|
21
|
+
<div className="col-sm-2 col-md-2">
|
22
|
+
<label htmlFor={identity.providerId} className="control-label">
|
23
|
+
{identity.displayName}
|
24
|
+
</label>
|
25
|
+
</div>
|
26
|
+
<div className="col-sm-5 col-md-5">
|
27
|
+
<input disabled className="form-control" value={identity.userName} />
|
28
|
+
</div>
|
29
|
+
<div className="col-sm-5 col-md-5">
|
30
|
+
{identity.connected ? (
|
31
|
+
federatedIdentity.removeLinkPossible && (
|
32
|
+
<form action={url.socialUrl} method="post" className="form-inline">
|
33
|
+
<input type="hidden" name="stateChecker" value={stateChecker} />
|
34
|
+
<input type="hidden" name="action" value="remove" />
|
35
|
+
<input type="hidden" name="providerId" value={identity.providerId} />
|
36
|
+
<button id={`remove-link-${identity.providerId}`} className="btn btn-default">
|
37
|
+
{msg("doRemove")}
|
38
|
+
</button>
|
39
|
+
</form>
|
40
|
+
)
|
41
|
+
) : (
|
42
|
+
<form action={url.socialUrl} method="post" className="form-inline">
|
43
|
+
<input type="hidden" name="stateChecker" value={stateChecker} />
|
44
|
+
<input type="hidden" name="action" value="add" />
|
45
|
+
<input type="hidden" name="providerId" value={identity.providerId} />
|
46
|
+
<button id={`add-link-${identity.providerId}`} className="btn btn-default">
|
47
|
+
{msg("doAdd")}
|
48
|
+
</button>
|
49
|
+
</form>
|
50
|
+
)}
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
))}
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</Template>
|
57
|
+
);
|
58
|
+
}
|
@@ -2,7 +2,7 @@ import type { PageProps } from "keycloakify/account/pages/PageProps";
|
|
2
2
|
import type { KcContext } from "../kcContext";
|
3
3
|
import type { I18n } from "../i18n";
|
4
4
|
import { Key } from "react";
|
5
|
-
import { useGetClassName } from "
|
5
|
+
import { useGetClassName } from "keycloakify/account/lib/useGetClassName";
|
6
6
|
|
7
7
|
export default function Log(props: PageProps<Extract<KcContext, { pageId: "log.ftl" }>, I18n>) {
|
8
8
|
const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
|
@@ -12,12 +12,9 @@ export default function Sessions(props: PageProps<Extract<KcContext, { pageId: "
|
|
12
12
|
classes
|
13
13
|
});
|
14
14
|
|
15
|
-
console.log({ kcContext });
|
16
15
|
const { url, stateChecker, sessions } = kcContext;
|
17
16
|
|
18
17
|
const { msg } = i18n;
|
19
|
-
console.log({ sdf: kcContext.locale?.supported });
|
20
|
-
console.log({ asdf: "asdf" });
|
21
18
|
return (
|
22
19
|
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} active="sessions">
|
23
20
|
<div className={getClassName("kcContentWrapperClass")}>
|
@@ -7,6 +7,7 @@ import { MessageKey } from "keycloakify/account/i18n/i18n";
|
|
7
7
|
|
8
8
|
export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp.ftl" }>, I18n>) {
|
9
9
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
10
|
+
|
10
11
|
const { getClassName } = useGetClassName({
|
11
12
|
doUseDefaultCss,
|
12
13
|
classes
|
@@ -78,7 +79,7 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
|
|
78
79
|
<p>{msg("totpStep1")}</p>
|
79
80
|
|
80
81
|
<ul id="kc-totp-supported-apps">
|
81
|
-
{totp.supportedApplications
|
82
|
+
{totp.supportedApplications?.map(app => (
|
82
83
|
<li key={app}>{msg(app as MessageKey)}</li>
|
83
84
|
))}
|
84
85
|
</ul>
|
@@ -99,28 +100,26 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
|
|
99
100
|
</li>
|
100
101
|
<li>
|
101
102
|
<p>{msg("totpManualStep3")}</p>
|
102
|
-
<
|
103
|
-
<
|
104
|
-
|
105
|
-
|
103
|
+
<ul>
|
104
|
+
<li id="kc-totp-type">
|
105
|
+
{msg("totpType")}: {msg(`totp.${totp.policy.type}`)}
|
106
|
+
</li>
|
107
|
+
<li id="kc-totp-algorithm">
|
108
|
+
{msg("totpAlgorithm")}: {algToKeyUriAlg?.[totp.policy.algorithm] ?? totp.policy.algorithm}
|
109
|
+
</li>
|
110
|
+
<li id="kc-totp-digits">
|
111
|
+
{msg("totpDigits")}: {totp.policy.digits}
|
112
|
+
</li>
|
113
|
+
{totp.policy.type === "totp" ? (
|
114
|
+
<li id="kc-totp-period">
|
115
|
+
{msg("totpInterval")}: {totp.policy.period}
|
106
116
|
</li>
|
107
|
-
|
108
|
-
|
117
|
+
) : (
|
118
|
+
<li id="kc-totp-counter">
|
119
|
+
{msg("totpCounter")}: {totp.policy.initialCounter}
|
109
120
|
</li>
|
110
|
-
|
111
|
-
|
112
|
-
</li>
|
113
|
-
{totp.policy.type === "totp" ? (
|
114
|
-
<li id="kc-totp-period">
|
115
|
-
{msg("totpInterval")}: {totp.policy.period}
|
116
|
-
</li>
|
117
|
-
) : (
|
118
|
-
<li id="kc-totp-counter">
|
119
|
-
{msg("totpCounter")}: {totp.policy.initialCounter}
|
120
|
-
</li>
|
121
|
-
)}
|
122
|
-
</ul>
|
123
|
-
</p>
|
121
|
+
)}
|
122
|
+
</ul>
|
124
123
|
</li>
|
125
124
|
</>
|
126
125
|
) : (
|