diff --git a/base/account/account.ftl b/base/account/account.ftl deleted file mode 100644 index 08433f83d78b6e56fc53e455c76cc680be25ab02..0000000000000000000000000000000000000000 --- a/base/account/account.ftl +++ /dev/null @@ -1,70 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='account' bodyClass='user'; section> - -
-
-

${msg("editAccountHtmlTitle")}

-
-
- * ${msg("requiredFields")} -
-
- -
- - - - <#if !realm.registrationEmailAsUsername> -
-
- <#if realm.editUsernameAllowed>* -
- -
- disabled="disabled" value="${(account.username!'')?html}"/> -
-
- - -
-
- * -
- -
- -
-
- -
-
- * -
- -
- -
-
- -
-
- * -
- -
- -
-
- -
- -
- - - \ No newline at end of file diff --git a/base/account/applications.ftl b/base/account/applications.ftl deleted file mode 100644 index bca5102368e84072c22706984463bbf4d5d70763..0000000000000000000000000000000000000000 --- a/base/account/applications.ftl +++ /dev/null @@ -1,96 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='applications' bodyClass='applications'; section> - -
-
-

${msg("applicationsHtmlTitle")}

-
-
- -
- - - - - - - - - - - - - - - - - <#list applications.applications as application> - - - - - - - - - - - - - - - -
${msg("application")}${msg("availablePermissions")}${msg("grantedPermissions")}${msg("grantedPersonalInfo")}${msg("additionalGrants")}${msg("action")}
- <#if application.client.baseUrl??> - <#if application.client.name??>${advancedMsg(application.client.name)}<#else>${application.client.clientId} - <#if application.client.baseUrl??> - - <#list application.realmRolesAvailable as role> - <#if role.description??>${advancedMsg(role.description)}<#else>${advancedMsg(role.name)} - <#if role_has_next>, - - <#list application.resourceRolesAvailable?keys as resource> - <#if application.realmRolesAvailable?has_content>, - <#list application.resourceRolesAvailable[resource] as clientRole> - <#if clientRole.roleDescription??>${advancedMsg(clientRole.roleDescription)}<#else>${advancedMsg(clientRole.roleName)} - ${msg("inResource")} <#if clientRole.clientName??>${advancedMsg(clientRole.clientName)}<#else>${clientRole.clientId} - <#if clientRole_has_next>, - - - - <#if application.client.consentRequired> - <#list application.realmRolesGranted as role> - <#if role.description??>${advancedMsg(role.description)}<#else>${advancedMsg(role.name)} - <#if role_has_next>, - - <#list application.resourceRolesGranted?keys as resource> - <#if application.realmRolesGranted?has_content>, - <#list application.resourceRolesGranted[resource] as clientRole> - <#if clientRole.roleDescription??>${advancedMsg(clientRole.roleDescription)}<#else>${advancedMsg(clientRole.roleName)} - ${msg("inResource")} <#if clientRole.clientName??>${advancedMsg(clientRole.clientName)}<#else>${clientRole.clientId} - <#if clientRole_has_next>, - - - <#else> - ${msg("fullAccess")} - - - <#if application.client.consentRequired> - <#list application.claimsGranted as claim> - ${advancedMsg(claim)}<#if claim_has_next>, - - <#else> - ${msg("fullAccess")} - - - <#list application.additionalGrants as grant> - ${advancedMsg(grant)}<#if grant_has_next>, - - - <#if (application.client.consentRequired && application.claimsGranted?has_content) || application.additionalGrants?has_content> - - -
-
- - \ No newline at end of file diff --git a/base/account/federatedIdentity.ftl b/base/account/federatedIdentity.ftl deleted file mode 100644 index 9a901733cea2eea1f683d8cc5b10a34bfd9838d5..0000000000000000000000000000000000000000 --- a/base/account/federatedIdentity.ftl +++ /dev/null @@ -1,32 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='social' bodyClass='social'; section> - -
-
-

${msg("federatedIdentitiesHtmlTitle")}

-
-
- -
- <#list federatedIdentity.identities as identity> -
-
- -
-
- -
-
-
- -
- - \ No newline at end of file diff --git a/base/account/log.ftl b/base/account/log.ftl deleted file mode 100644 index 29046cf0d233c6b652e7a824ac048bb52f38124e..0000000000000000000000000000000000000000 --- a/base/account/log.ftl +++ /dev/null @@ -1,35 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='log' bodyClass='log'; section> - -
-
-

${msg("accountLogHtmlTitle")}

-
-
- - - - - - - - - - - - - - <#list log.events as event> - - - - - - - - - - -
${msg("date")}${msg("event")}${msg("ip")}${msg("client")}${msg("details")}
${event.date?datetime}${event.event}${event.ipAddress}${event.client!}<#list event.details as detail>${detail.key} = ${detail.value} <#if detail_has_next>,
- - \ No newline at end of file diff --git a/base/account/messages/messages_ca.properties b/base/account/messages/messages_ca.properties deleted file mode 100644 index a1b8f91e4f8e92ee1491647e0bb1e2045cfb7a14..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_ca.properties +++ /dev/null @@ -1,147 +0,0 @@ -doSave=Desa -doCancel=Cancel\u00B7la -doLogOutAllSessions=Desconnecta de totes les sessions -doRemove=Elimina -doAdd=Afegeix -doSignOut=Desconnectar - -editAccountHtmlTitle=Edita compte -federatedIdentitiesHtmlTitle=Identitats federades -accountLogHtmlTitle=Registre del compte -changePasswordHtmlTitle=Canvia contrasenya -sessionsHtmlTitle=Sessions -accountManagementTitle=Gesti\u00F3 de Compte Keycloak -authenticatorTitle=Autenticador -applicationsHtmlTitle=Aplicacions - -authenticatorCode=Codi d''un sol \u00FAs -email=Email -firstName=Nom -givenName=Nom de pila -fullName=Nom complet -lastName=Cognoms -familyName=Cognom -password=Contrasenya -passwordConfirm=Confirma la contrasenya -passwordNew=Nova contrasenya -username=Usuari -address=Adre\u00E7a -street=Carrer -locality=Ciutat o Municipi -region=Estat, Prov\u00EDncia, o Regi\u00F3 -postal_code=Postal code -country=Pa\u00EDs -emailVerified=Email verificat -gssDelegationCredential=GSS Delegation Credential - -role_admin=Administrador -role_realm-admin=Administrador del domini -role_create-realm=Crear domini -role_view-realm=Veure domini -role_view-users=Veure usuaris -role_view-applications=Veure aplicacions -role_view-clients=Veure clients -role_view-events=Veure events -role_view-identity-providers=Veure prove\u00EFdors d''identitat -role_manage-realm=Gestionar domini -role_manage-users=Gestinar usuaris -role_manage-applications=Gestionar aplicacions -role_manage-identity-providers=Gestionar prove\u00EFdors d''identitat -role_manage-clients=Gestionar clients -role_manage-events=Gestionar events -role_view-profile=Veure perfil -role_manage-account=Gestionar compte -role_read-token=Llegir token -role_offline-access=Acc\u00E9s sense connexi\u00F3 -client_account=Compte -client_security-admin-console=Consola d''Administraci\u00F3 de Seguretat -client_realm-management=Gesti\u00F3 de domini -client_broker=Broker - - -requiredFields=Camps obligatoris -allFieldsRequired=Tots els camps obligatoris - -backToApplication=« Torna a l''aplicaci\u00F3 -backTo=Torna a {0} - -date=Data -event=Event -ip=IP -client=Client -clients=Clients -details=Detalls -started=Iniciat -lastAccess=\u00DAltim acc\u00E9s -expires=Expira -applications=Aplicacions - -account=Compte -federatedIdentity=Identitat federada -authenticator=Autenticador -sessions=Sessions -log=Registre - -application=Aplicaci\u00F3 -availablePermissions=Permisos disponibles -grantedPermissions=Permisos concedits -grantedPersonalInfo=Informaci\u00F3 personal concedida -additionalGrants=Permisos addicionals -action=Acci\u00F3 -inResource=a -fullAccess=Acc\u00E9s total -offlineToken=Codi d''autoritzaci\u00F3 offline -revoke=Revocar perm\u00EDs - -configureAuthenticators=Autenticadors configurats -mobile=M\u00F2bil -totpStep1=Instal\u00B7la FreeOTP o Google Authenticator al teu tel\u00E8fon m\u00F2bil. Les dues aplicacions estan disponibles a Google Play i en l''App Store d''Apple. -totpStep2=Obre l''aplicaci\u00F3 i escaneja el codi o introdueix la clau. -totpStep3=Introdueix el codi \u00FAnic que et mostra l''aplicaci\u00F3 d''autenticaci\u00F3 i fes clic a Envia per finalitzar la configuraci\u00F3 - -missingUsernameMessage=Si us plau indica el teu usuari. -missingFirstNameMessage=Si us plau indica el nom. -invalidEmailMessage=Email no v\u00E0lid -missingLastNameMessage=Si us plau indica els teus cognoms. -missingEmailMessage=Si us plau indica l''email. -missingPasswordMessage=Si us plau indica la contrasenya. -notMatchPasswordMessage=Les contrasenyes no coincideixen. - -missingTotpMessage=Si us plau indica el teu codi d''autenticaci\u00F3 -invalidPasswordExistingMessage=La contrasenya actual no \u00E9s correcta. -invalidPasswordConfirmMessage=La confirmaci\u00F3 de contrasenya no coincideix. -invalidTotpMessage=El c\u00F3digo de autenticaci\u00F3n no es v\u00E1lido. - -usernameExistsMessage=L''usuari ja existeix -emailExistsMessage=L''email ja existeix - -readOnlyUserMessage=No pots actualitzar el teu usuari perqu\u00E8 el teu compte \u00E9s de nom\u00E9s lectura. -readOnlyPasswordMessage=No pots actualitzar la contrasenya perqu\u00E8 el teu compte \u00E9s de nom\u00E9s lectura. - -successTotpMessage=Aplicaci\u00F3 d''autenticaci\u00F3 m\u00F2bil configurada. -successTotpRemovedMessage=Aplicaci\u00F3 d''autenticaci\u00F3 m\u00F2bil eliminada. - -successGrantRevokedMessage=Perm\u00EDs revocat correctament - -accountUpdatedMessage=El teu compte s''ha actualitzat. -accountPasswordUpdatedMessage=La contrasenya s''ha actualitzat. - -missingIdentityProviderMessage=Prove\u00EFdor d''identitat no indicat. -invalidFederatedIdentityActionMessage=Acci\u00F3 no v\u00E0lida o no indicada. -identityProviderNotFoundMessage=No s''ha trobat un prove\u00EFdor d''identitat. -federatedIdentityLinkNotActiveMessage=Aquesta identitat ja no est\u00E0 activa -federatedIdentityRemovingLastProviderMessage=No pots eliminar l''\u00FAltima identitat federada perqu\u00E8 no tens fixada una contrasenya. -identityProviderRedirectErrorMessage=Error en la redirecci\u00F3 al prove\u00EFdor d''identitat -identityProviderRemovedMessage=Prove\u00EFdor d''identitat esborrat correctament. - -accountDisabledMessage=El compte est\u00E0 desactivada, contacteu amb l''administrador. - -accountTemporarilyDisabledMessage=El compte est\u00E0 temporalment desactivat, contacta amb l''administrador o intenta-ho de nou m\u00E9s tard. -invalidPasswordMinLengthMessage=Contrasenya incorrecta: longitud m\u00EDnima {0}. -invalidPasswordMinLowerCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres min\u00FAscules. -invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres num\u00E9ricos. -invalidPasswordMinUpperCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres maj\u00FAscules. -invalidPasswordMinSpecialCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} car\u00E0cters especials. -invalidPasswordNotUsernameMessage=Contrasenya incorrecta: no pot ser igual al nom d''usuari. -invalidPasswordRegexPatternMessage=Contrasenya incorrecta: no compleix l''expressi\u00F3 regular. -invalidPasswordHistoryMessage=Contrasenya incorrecta: no pot ser igual a cap de les \u00FAltimes {0} contrasenyes. \ No newline at end of file diff --git a/base/account/messages/messages_de.properties b/base/account/messages/messages_de.properties deleted file mode 100644 index f323249160a3936a002745ca255d8bab45611edb..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_de.properties +++ /dev/null @@ -1,146 +0,0 @@ -doLogOutAllSessions=Alle Sitzungen abmelden -doSave=Speichern -doCancel=Abbrechen -doRemove=Entfernen -doAdd=Hinzuf\u00FCgen -doSignOut=Abmelden - -editAccountHtmlTitle=Benutzerkonto bearbeiten -federatedIdentitiesHtmlTitle=F\u00F6derierte Identit\u00E4ten -accountLogHtmlTitle=Benutzerkonto Log -changePasswordHtmlTitle=Passwort \u00C4ndern -sessionsHtmlTitle=Sitzungen -accountManagementTitle=Keycloak Benutzerkontoverwaltung -authenticatorTitle=Authenticator -applicationsHtmlTitle=Applikationen - -authenticatorCode=One-time Code -email=E-Mail -firstName=Vorname -givenName=Vorname -fullName=Voller Name -lastName=Nachname -familyName=Nachname -password=Passwort -passwordConfirm=Passwortbest\u00E4tigung -passwordNew=Neues Passwort -username=Benutzernamen -address=Adresse -street=Stra\u00DFe -region=Staat, Provinz, Region -postal_code=PLZ -locality=Stadt oder Ortschaft -country=Land -emailVerified=E-Mail verifiziert -gssDelegationCredential=GSS delegierte Berechtigung - -role_admin=Admin -role_realm-admin=Realm Admin -role_create-realm=Realm erstellen -role_view-realm=Realm ansehen -role_view-users=Benutzer ansehen -role_view-applications=Applikationen ansehen -role_view-clients=Clients ansehen -role_view-events=Events ansehen -role_view-identity-providers=Identity Provider ansehen -role_manage-realm=Realm verwalten -role_manage-users=Benutzer verwalten -role_manage-applications=Applikationen verwalten -role_manage-identity-providers=Identity Provider verwalten -role_manage-clients=Clients verwalten -role_manage-events=Events verwalten -role_view-profile=Profile ansehen -role_manage-account=Profile verwalten -role_read-token=Token lesen -role_offline-access=Offline-Zugriff -client_account=Konto -client_realm-management=Realm-Management -client_broker=Broker - - -requiredFields=Erforderliche Felder -allFieldsRequired=Alle Felder sind erforderlich - -backToApplication=« Zur\u00FCck zur Applikation -backTo=Zur\u00FCck zu {0} - -date=Datum -event=Ereignis -ip=IP -client=Client -clients=Clients -details=Details -started=Startdatum -lastAccess=Letzter Zugriff -expires=Ablaufdatum -applications=Applikationen - -account=Benutzerkonto -federatedIdentity=F\u00F6derierte Identit\u00E4t -authenticator=Authenticator -sessions=Sitzungen -log=Log - -application=Applikation -availablePermissions=verf\u00FCgbare Berechtigungen -grantedPermissions=gew\u00E4hrte Berechtigungen -grantedPersonalInfo=gew\u00E4hrte pers\u00F6nliche Informationen -additionalGrants=zus\u00E4tzliche Berechtigungen -action=Aktion -inResource=in -fullAccess=Vollzugriff -offlineToken=Offline-Token -revoke=Berechtigung widerrufen - -configureAuthenticators=Authenticatoren konfigurieren -mobile=Mobile -totpStep1=Installieren Sie FreeOTP oder Google Authenticator auf Ihrem Smartphone. -totpStep2=\u00D6ffnen Sie die Applikation und scannen Sie den Barcode oder geben Sie den Code ein. -totpStep3=Geben Sie den von der Applikation generierten One-time Code ein und klicken Sie auf Speichern. - -missingUsernameMessage=Bitte geben Sie einen Benutzernamen ein. -missingFirstNameMessage=Bitte geben Sie einen Vornamen ein. -missingEmailMessage=Bitte geben Sie eine E-Mail Adresse ein. -missingLastNameMessage=Bitte geben Sie einen Nachnamen ein. -missingPasswordMessage=Bitte geben Sie ein Passwort ein. -notMatchPasswordMessage=Passw\u00F6rter sind nicht identisch. - -missingTotpMessage=Bitte geben Sie den One-time Code ein. -invalidPasswordExistingMessage=Das aktuelle Passwort is ung\u00FCltig. -invalidPasswordConfirmMessage=Die Passwortbest\u00E4tigung ist nicht identisch. -invalidTotpMessage=Ung\u00FCltiger One-time Code. -invalidEmailMessage=Ung\u00FCltige E-Mail Adresse. - -usernameExistsMessage=Der Benutzername existiert bereits. -emailExistsMessage=Die E-Mail-Adresse existiert bereits. - -readOnlyUserMessage=Sie k\u00F6nnen dieses Benutzerkonto nicht \u00E4ndern, da es schreibgesch\u00FCtzt ist. -readOnlyPasswordMessage=Sie k\u00F6nnen dieses Passwort nicht \u00E4ndern, da es schreibgesch\u00FCtzt ist. - -successTotpMessage=Mobile Authentifizierung eingerichtet. -successTotpRemovedMessage=Mobile Authentifizierung entfernt. - -successGrantRevokedMessage=Berechtigung erfolgreich widerrufen. - -accountUpdatedMessage=Ihr Benutzerkonto wurde aktualisiert. -accountPasswordUpdatedMessage=Ihr Passwort wurde aktualisiert. - -missingIdentityProviderMessage=Identity Provider nicht angegeben. -invalidFederatedIdentityActionMessage=Ung\u00FCltige oder fehlende Aktion. -identityProviderNotFoundMessage=Angegebener Identity Provider nicht gefunden. -federatedIdentityLinkNotActiveMessage=Diese Identit\u00E4t ist nicht mehr aktiv. -federatedIdentityRemovingLastProviderMessage=Sie k\u00F6nnen den letzten Eintrag nicht entfernen, da Sie kein Passwort haben. -identityProviderRedirectErrorMessage=Fehler bei der Weiterleitung zum Identity Provider. -identityProviderRemovedMessage=Identity Provider erfolgreich entfernt. - -accountDisabledMessage=Benutzerkonto ist gesperrt, bitte kontaktieren Sie den Admin. - -accountTemporarilyDisabledMessage=Benutzerkonto ist tempor\u00E4r gesperrt, bitte kontaktieren Sie den Admin oder versuchen Sie es sp\u00E4ter noch einmal. -invalidPasswordMinLengthMessage=Ung\u00FCltiges Passwort\: Minimall\u00E4nge {0}. -invalidPasswordMinDigitsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Zahl(en) beinhalten. -invalidPasswordMinLowerCaseCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Kleinbuchstaben beinhalten. -invalidPasswordMinUpperCaseCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Grossbuchstaben beinhalten. -invalidPasswordMinSpecialCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Spezialzeichen beinhalten. -invalidPasswordNotUsernameMessage=Ung\u00FCltiges Passwort\: darf nicht gleich sein wie Benutzername. -invalidPasswordRegexPatternMessage=Ung\u00FCltiges Passwort\: nicht Regex-Muster (n) entsprechen. -invalidPasswordHistoryMessage=Ung\u00FCltiges Passwort: darf nicht einem der letzten {0} Passw\u00F6rter entsprechen. \ No newline at end of file diff --git a/base/account/messages/messages_en.properties b/base/account/messages/messages_en.properties deleted file mode 100644 index b3f48291a6476e0fc9273928f5aee85458aaf38a..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_en.properties +++ /dev/null @@ -1,166 +0,0 @@ -doSave=Save -doCancel=Cancel -doLogOutAllSessions=Log out all sessions -doRemove=Remove -doAdd=Add -doSignOut=Sign Out - -editAccountHtmlTitle=Edit Account -federatedIdentitiesHtmlTitle=Federated Identities -accountLogHtmlTitle=Account Log -changePasswordHtmlTitle=Change Password -sessionsHtmlTitle=Sessions -accountManagementTitle=Keycloak Account Management -authenticatorTitle=Authenticator -applicationsHtmlTitle=Applications - -authenticatorCode=One-time code -email=Email -firstName=First name -givenName=Given name -fullName=Full name -lastName=Last name -familyName=Family name -password=Password -passwordConfirm=Confirmation -passwordNew=New Password -username=Username -address=Address -street=Street -locality=City or Locality -region=State, Province, or Region -postal_code=Zip or Postal code -country=Country -emailVerified=Email verified -gssDelegationCredential=GSS Delegation Credential - -role_admin=Admin -role_realm-admin=Realm Admin -role_create-realm=Create realm -role_view-realm=View realm -role_view-users=View users -role_view-applications=View applications -role_view-clients=View clients -role_view-events=View events -role_view-identity-providers=View identity providers -role_manage-realm=Manage realm -role_manage-users=Manage users -role_manage-applications=Manage applications -role_manage-identity-providers=Manage identity providers -role_manage-clients=Manage clients -role_manage-events=Manage events -role_view-profile=View profile -role_manage-account=Manage account -role_manage-account-links=Manage account links -role_read-token=Read token -role_offline-access=Offline access -role_uma_authorization=Obtain permissions -client_account=Account -client_security-admin-console=Security Admin Console -client_admin-cli=Admin CLI -client_realm-management=Realm Management -client_broker=Broker - - -requiredFields=Required fields -allFieldsRequired=All fields required - -backToApplication=« Back to application -backTo=Back to {0} - -date=Date -event=Event -ip=IP -client=Client -clients=Clients -details=Details -started=Started -lastAccess=Last Access -expires=Expires -applications=Applications - -account=Account -federatedIdentity=Federated Identity -authenticator=Authenticator -sessions=Sessions -log=Log - -application=Application -availablePermissions=Available Permissions -grantedPermissions=Granted Permissions -grantedPersonalInfo=Granted Personal Info -additionalGrants=Additional Grants -action=Action -inResource=in -fullAccess=Full Access -offlineToken=Offline Token -revoke=Revoke Grant - -configureAuthenticators=Configured Authenticators -mobile=Mobile -totpStep1=Install FreeOTP or Google Authenticator on your device. Both applications are available in Google Play and Apple App Store. -totpStep2=Open the application and scan the barcode or enter the key. -totpStep3=Enter the one-time code provided by the application and click Save to finish the setup. - -missingUsernameMessage=Please specify username. -missingFirstNameMessage=Please specify first name. -invalidEmailMessage=Invalid email address. -missingLastNameMessage=Please specify last name. -missingEmailMessage=Please specify email. -missingPasswordMessage=Please specify password. -notMatchPasswordMessage=Passwords don''t match. - -missingTotpMessage=Please specify authenticator code. -invalidPasswordExistingMessage=Invalid existing password. -invalidPasswordConfirmMessage=Password confirmation doesn''t match. -invalidTotpMessage=Invalid authenticator code. - -usernameExistsMessage=Username already exists. -emailExistsMessage=Email already exists. - -readOnlyUserMessage=You can''t update your account as it is read only. -readOnlyPasswordMessage=You can''t update your password as your account is read only. - -successTotpMessage=Mobile authenticator configured. -successTotpRemovedMessage=Mobile authenticator removed. - -successGrantRevokedMessage=Grant revoked successfully. - -accountUpdatedMessage=Your account has been updated. -accountPasswordUpdatedMessage=Your password has been updated. - -missingIdentityProviderMessage=Identity provider not specified. -invalidFederatedIdentityActionMessage=Invalid or missing action. -identityProviderNotFoundMessage=Specified identity provider not found. -federatedIdentityLinkNotActiveMessage=This identity is not active anymore. -federatedIdentityRemovingLastProviderMessage=You can''t remove last federated identity as you don''t have password. -identityProviderRedirectErrorMessage=Failed to redirect to identity provider. -identityProviderRemovedMessage=Identity provider removed successfully. -identityProviderAlreadyLinkedMessage=Federated identity returned by {0} is already linked to another user. -staleCodeAccountMessage=The page expired. Please try one more time. -consentDenied=Consent denied. - -accountDisabledMessage=Account is disabled, contact admin. - -accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later. -invalidPasswordMinLengthMessage=Invalid password: minimum length {0}. -invalidPasswordMinLowerCaseCharsMessage=Invalid password: must contain at least {0} lower case characters. -invalidPasswordMinDigitsMessage=Invalid password: must contain at least {0} numerical digits. -invalidPasswordMinUpperCaseCharsMessage=Invalid password: must contain at least {0} upper case characters. -invalidPasswordMinSpecialCharsMessage=Invalid password: must contain at least {0} special characters. -invalidPasswordNotUsernameMessage=Invalid password: must not be equal to the username. -invalidPasswordRegexPatternMessage=Invalid password: fails to match regex pattern(s). -invalidPasswordHistoryMessage=Invalid password: must not be equal to any of last {0} passwords. -invalidPasswordGenericMessage=Invalid password: new password doesn''t match password policies. - -locale_ca=Catal\u00E0 -locale_de=Deutsch -locale_en=English -locale_es=Espa\u00F1ol -locale_fr=Fran\u00e7ais -locale_it=Italian -locale_ja=\u65E5\u672C\u8A9E -locale_no=Norsk -locale_lt=Lietuvi\u0173 -locale_pt-BR=Portugu\u00EAs (Brasil) -locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 \ No newline at end of file diff --git a/base/account/messages/messages_es.properties b/base/account/messages/messages_es.properties deleted file mode 100644 index fd36e598ca4d8e0d34502878954ce753750deafb..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_es.properties +++ /dev/null @@ -1,147 +0,0 @@ -doSave=Guardar -doCancel=Cancelar -doLogOutAllSessions=Desconectar de todas las sesiones -doRemove=Eliminar -doAdd=A\u00F1adir -doSignOut=Desconectar - -editAccountHtmlTitle=Editar cuenta -federatedIdentitiesHtmlTitle=Identidades federadas -accountLogHtmlTitle=Registro de la cuenta -changePasswordHtmlTitle=Cambiar contrase\u00F1a -sessionsHtmlTitle=Sesiones -accountManagementTitle=Gesti\u00F3n de Cuenta Keycloak -authenticatorTitle=Autenticador -applicationsHtmlTitle=Aplicaciones - -authenticatorCode=C\u00F3digo de un solo uso -email=Email -firstName=Nombre -givenName=Nombre de pila -fullName=Nombre completo -lastName=Apellidos -familyName=Apellido -password=Contrase\u00F1a -passwordConfirm=Confirma la contrase\u00F1a -passwordNew=Nueva contrase\u00F1a -username=Usuario -address=Direcci\u00F3n -street=Calle -locality=Ciudad o Municipio -region=Estado, Provincia, o Regi\u00F3n -postal_code=C\u00F3digo Postal -country=Pa\u00EDs -emailVerified=Email verificado -gssDelegationCredential=GSS Delegation Credential - -role_admin=Administrador -role_realm-admin=Administrador del dominio -role_create-realm=Crear dominio -role_view-realm=Ver dominio -role_view-users=Ver usuarios -role_view-applications=Ver aplicaciones -role_view-clients=Ver clientes -role_view-events=Ver eventos -role_view-identity-providers=Ver proveedores de identidad -role_manage-realm=Gestionar dominio -role_manage-users=Gestionar usuarios -role_manage-applications=Gestionar aplicaciones -role_manage-identity-providers=Gestionar proveedores de identidad -role_manage-clients=Gestionar clientes -role_manage-events=Gestionar eventos -role_view-profile=Ver perfil -role_manage-account=Gestionar cuenta -role_read-token=Leer token -role_offline-access=Acceso sin conexi\u00F3n -client_account=Cuenta -client_security-admin-console=Consola de Administraci\u00F3n de Seguridad -client_realm-management=Gesti\u00F3n de dominio -client_broker=Broker - - -requiredFields=Campos obligatorios -allFieldsRequired=Todos los campos obligatorios - -backToApplication=« Volver a la aplicaci\u00F3n -backTo=Volver a {0} - -date=Fecha -event=Evento -ip=IP -client=Cliente -clients=Clientes -details=Detalles -started=Iniciado -lastAccess=\u00DAltimo acceso -expires=Expira -applications=Aplicaciones - -account=Cuenta -federatedIdentity=Identidad federada -authenticator=Autenticador -sessions=Sesiones -log=Regisro - -application=Aplicaci\u00F3n -availablePermissions=Permisos disponibles -grantedPermissions=Permisos concedidos -grantedPersonalInfo=Informaci\u00F3n personal concedida -additionalGrants=Permisos adicionales -action=Acci\u00F3n -inResource=en -fullAccess=Acceso total -offlineToken=C\u00F3digo de autorizaci\u00F3n offline -revoke=Revocar permiso - -configureAuthenticators=Autenticadores configurados -mobile=M\u00F3vil -totpStep1=Instala FreeOTP o Google Authenticator en tu tel\u00E9fono m\u00F3vil. Ambas aplicaciones est\u00E1n disponibles en Google Play y en la App Store de Apple. -totpStep2=Abre la aplicaci\u00F3n y escanea el c\u00F3digo o introduce la clave. -totpStep3=Introduce el c\u00F3digo \u00FAnico que te muestra la aplicaci\u00F3n de autenticaci\u00F3n y haz clic en Enviar para finalizar la configuraci\u00F3n - -missingUsernameMessage=Por favor indica tu usuario. -missingFirstNameMessage=Por favor indica el nombre. -invalidEmailMessage=Email no v\u00E1lido -missingLastNameMessage=Por favor indica tus apellidos. -missingEmailMessage=Por favor indica el email. -missingPasswordMessage=Por favor indica tu contrase\u00F1a. -notMatchPasswordMessage=Las contrase\u00F1as no coinciden. - -missingTotpMessage=Por favor indica tu c\u00F3digo de autenticaci\u00F3n -invalidPasswordExistingMessage=La contrase\u00F1a actual no es correcta. -invalidPasswordConfirmMessage=La confirmaci\u00F3n de contrase\u00F1a no coincide. -invalidTotpMessage=El c\u00F3digo de autenticaci\u00F3n no es v\u00E1lido. - -usernameExistsMessage=El usuario ya existe -emailExistsMessage=El email ya existe - -readOnlyUserMessage=No puedes actualizar tu usuario porque tu cuenta es de solo lectura. -readOnlyPasswordMessage=No puedes actualizar tu contrase\u00F1a porque tu cuenta es de solo lectura. - -successTotpMessage=Aplicaci\u00F3n de autenticaci\u00F3n m\u00F3vil configurada. -successTotpRemovedMessage=Aplicaci\u00F3n de autenticaci\u00F3n m\u00F3vil eliminada. - -successGrantRevokedMessage=Permiso revocado correctamente - -accountUpdatedMessage=Tu cuenta se ha actualizado. -accountPasswordUpdatedMessage=Tu contrase\u00F1a se ha actualizado. - -missingIdentityProviderMessage=Proveedor de identidad no indicado. -invalidFederatedIdentityActionMessage=Acci\u00F3n no v\u00E1lida o no indicada. -identityProviderNotFoundMessage=No se encontr\u00F3 un proveedor de identidad. -federatedIdentityLinkNotActiveMessage=Esta identidad ya no est\u00E1 activa -federatedIdentityRemovingLastProviderMessage=No puedes eliminar la \u00FAltima identidad federada porque no tienes fijada una contrase\u00F1a. -identityProviderRedirectErrorMessage=Error en la redirecci\u00F3n al proveedor de identidad -identityProviderRemovedMessage=Proveedor de identidad borrado correctamente. - -accountDisabledMessage=La cuenta est\u00E1 desactivada, contacta con el administrador. - -accountTemporarilyDisabledMessage=La cuenta est\u00E1 temporalmente desactivada, contacta con el administrador o int\u00E9ntalo de nuevo m\u00E1s tarde. -invalidPasswordMinLengthMessage=Contrase\u00F1a incorrecta: longitud m\u00EDnima {0}. -invalidPasswordMinLowerCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras min\u00FAsculas. -invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres num\u00E9ricos. -invalidPasswordMinUpperCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras may\u00FAsculas. -invalidPasswordMinSpecialCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres especiales. -invalidPasswordNotUsernameMessage=Contrase\u00F1a incorrecta: no puede ser igual al nombre de usuario. -invalidPasswordRegexPatternMessage=Contrase\u00F1a incorrecta: no cumple la expresi\u00F3n regular. -invalidPasswordHistoryMessage=Contrase\u00F1a incorrecta: no puede ser igual a ninguna de las \u00FAltimas {0} contrase\u00F1as. \ No newline at end of file diff --git a/base/account/messages/messages_fr.properties b/base/account/messages/messages_fr.properties deleted file mode 100644 index 3cdc01674ed3eb22c36775955f1ec15428ef98e2..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_fr.properties +++ /dev/null @@ -1,152 +0,0 @@ -# TIPS to encode UTF-8 to ISO -# native2ascii -encoding ISO8859_1 srcFile > dstFile - -doSave=Sauvegarder -doCancel=Annuler -doLogOutAllSessions=D\u00e9connexion de toutes les sessions -doRemove=Supprimer -doAdd=Ajouter -doSignOut=D\u00e9connexion - -editAccountHtmlTitle=\u00c9dition du compte -federatedIdentitiesHtmlTitle=Identit\u00e9s f\u00e9d\u00e9r\u00e9es -accountLogHtmlTitle=Acc\u00e8s au compte -changePasswordHtmlTitle=Changer de mot de passe -sessionsHtmlTitle=Sessions -accountManagementTitle=Gestion de Compte Keycloak -authenticatorTitle=Authentification -applicationsHtmlTitle=Applications - -authenticatorCode=Mot de passe unique -email=Courriel -firstName=Pr\u00e9nom -givenName=Pr\u00e9nom -fullName=Nom Complet -lastName=Nom -familyName=Nom de Famille -password=Mot de passe -passwordConfirm=Confirmation -passwordNew=Nouveau mot de passe -username=Compte -address=Adresse -street=Rue -locality=Ville ou Localit\u00e9 -region=\u00c9tat, Province ou R\u00e9gion -postal_code=Code Postal -country=Pays -emailVerified=Courriel v\u00e9rifi\u00e9 -gssDelegationCredential=Accr\u00e9ditation de d\u00e9l\u00e9gation GSS - -role_admin=Administrateur -role_realm-admin=Administrateur du domaine -role_create-realm=Cr\u00e9er un domaine -role_view-realm=Voir un domaine -role_view-users=Voir les utilisateurs -role_view-applications=Voir les applications -role_view-clients=Voir les clients -role_view-events=Voir les \u00e9v\u00e9nements -role_view-identity-providers=Voir les fournisseurs d''identit\u00e9s -role_manage-realm=G\u00e9rer le domaine -role_manage-users=G\u00e9rer les utilisateurs -role_manage-applications=G\u00e9rer les applications -role_manage-identity-providers=G\u00e9rer les fournisseurs d''identit\u00e9s -role_manage-clients=G\u00e9rer les clients -role_manage-events=G\u00e9rer les \u00e9v\u00e9nements -role_view-profile=Voir le profil -role_manage-account=G\u00e9rer le compte -role_read-token=Lire le jeton d''authentification -role_offline-access=Acc\u00e8s hors-ligne -client_account=Compte -client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9 -client_admin-cli=Admin CLI -client_realm-management=Gestion du domaine -client_broker=Broker - - -requiredFields=Champs obligatoires -allFieldsRequired=Tous les champs sont obligatoires - -backToApplication=« Revenir \u00e0 l''application -backTo=Revenir \u00e0 {0} - -date=Date -event=Ev\u00e9nement -ip=IP -client=Client -clients=Clients -details=D\u00e9tails -started=D\u00e9but -lastAccess=Dernier acc\u00e8s -expires=Expiration -applications=Applications - -account=Compte -federatedIdentity=Identit\u00e9 f\u00e9d\u00e9r\u00e9e -authenticator=Authentification -sessions=Sessions -log=Connexion - -application=Application -availablePermissions=Permissions disponibles -grantedPermissions=Permissions accord\u00e9es -grantedPersonalInfo=Informations personnelles accord\u00e9es -additionalGrants=Droits additionnels -action=Action -inResource=dans -fullAccess=Acc\u00e8s complet -offlineToken=Jeton d''authentification hors-ligne -revoke=R\u00e9voquer un droit - -configureAuthenticators=Authentifications configur\u00e9es. -mobile=T\u00e9l\u00e9phone mobile -totpStep1=Installez FreeOTP ou bien Google Authenticator sur votre mobile. Ces deux applications sont disponibles sur Google Play et Apple App Store. -totpStep2=Ouvrez l''application et scannez le code-barres ou entrez la clef. -totpStep3=Entrez le code \u00e0 usage unique fourni par l''application et cliquez sur Sauvegarder pour terminer. - -missingUsernameMessage=Veuillez entrer votre nom d''utilisateur. -missingFirstNameMessage=Veuillez entrer votre pr\u00e9nom. -invalidEmailMessage=Courriel invalide. -missingLastNameMessage=Veuillez entrer votre nom. -missingEmailMessage=Veuillez entrer votre courriel. -missingPasswordMessage=Veuillez entrer votre mot de passe. -notMatchPasswordMessage=Les mots de passe ne sont pas identiques - -missingTotpMessage=Veuillez entrer le code d''authentification. -invalidPasswordExistingMessage=Mot de passe existant invalide. -invalidPasswordConfirmMessage=Le mot de passe de confirmation ne correspond pas. -invalidTotpMessage=Le code d''authentification est invalide. - -usernameExistsMessage=Le nom d''utilisateur existe d\u00e9j\u00e0. -emailExistsMessage=Le courriel existe d\u00e9j\u00e0. - -readOnlyUserMessage=Vous ne pouvez pas mettre \u00e0 jour votre compte car il est en lecture seule. -readOnlyPasswordMessage=Vous ne pouvez pas mettre \u00e0 jour votre mot de passe car votre compte est en lecture seule. - -successTotpMessage=L''authentification via t\u00e9l\u00e9phone mobile est configur\u00e9e. -successTotpRemovedMessage=L''authentification via t\u00e9l\u00e9phone mobile est supprim\u00e9e. - -successGrantRevokedMessage=Droit r\u00e9voqu\u00e9 avec succ\u00e8s. - -accountUpdatedMessage=Votre compte a \u00e9t\u00e9 mis \u00e0 jour. -accountPasswordUpdatedMessage=Votre mot de passe a \u00e9t\u00e9 mis \u00e0 jour. - -missingIdentityProviderMessage=Le fournisseur d''identit\u00e9 n''est pas sp\u00e9cifi\u00e9. -invalidFederatedIdentityActionMessage=Action manquante ou invalide. -identityProviderNotFoundMessage=Le fournisseur d''identit\u00e9 sp\u00e9cifi\u00e9 n''est pas trouv\u00e9. -federatedIdentityLinkNotActiveMessage=Cette identit\u00e9 n''est plus active dor\u00e9navant. -federatedIdentityRemovingLastProviderMessage=Vous ne pouvez pas supprimer votre derni\u00e8re f\u00e9d\u00e9ration d''identit\u00e9 sans avoir de mot de passe sp\u00e9cifi\u00e9. -identityProviderRedirectErrorMessage=Erreur de redirection vers le fournisseur d''identit\u00e9. -identityProviderRemovedMessage=Le fournisseur d''identit\u00e9 a \u00e9t\u00e9 supprim\u00e9 correctement. -identityProviderAlreadyLinkedMessage=Le fournisseur d''identit\u00e9 retourn\u00e9 par {0} est d\u00e9j\u00e0 li\u00e9 \u00e0 un autre utilisateur. - -accountDisabledMessage=Ce compte est d\u00e9sactiv\u00e9, veuillez contacter votre administrateur. - -accountTemporarilyDisabledMessage=Ce compte est temporairement d\u00e9sactiv\u00e9, veuillez contacter votre administrateur ou r\u00e9essayez plus tard. -invalidPasswordMinLengthMessage=Mot de passe invalide: longueur minimale {0}. -invalidPasswordMinLowerCaseCharsMessage=Mot de passe invalide: doit contenir au moins {0} lettre(s) en minuscule. -invalidPasswordMinDigitsMessage=Mot de passe invalide: doit contenir au moins {0} chiffre(s). -invalidPasswordMinUpperCaseCharsMessage=Mot de passe invalide: doit contenir au moins {0} lettre(s) en majuscule. -invalidPasswordMinSpecialCharsMessage=Mot de passe invalide: doit contenir au moins {0} caract\u00e8re(s) sp\u00e9ciaux. -invalidPasswordNotUsernameMessage=Mot de passe invalide: ne doit pas \u00eatre identique au nom d''utilisateur. -invalidPasswordRegexPatternMessage=Mot de passe invalide: ne valide pas l''expression rationnelle. -invalidPasswordHistoryMessage=Mot de passe invalide: ne doit pas \u00eatre \u00e9gal aux {0} derniers mots de passe. diff --git a/base/account/messages/messages_it.properties b/base/account/messages/messages_it.properties deleted file mode 100644 index 611bed168b3fe5a6443e2a0c20def8ea29f4393c..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_it.properties +++ /dev/null @@ -1,153 +0,0 @@ -doSave=Salva -doCancel=Annulla -doLogOutAllSessions=Effettua il blog out da tutte le sessioni -doRemove=Elimina -doAdd=Aggiungi -doSignOut=Esci - -editAccountHtmlTitle=Modifica Account -federatedIdentitiesHtmlTitle=Federated Identities -accountLogHtmlTitle=Account Log -changePasswordHtmlTitle=Cambia Password -sessionsHtmlTitle=Sessioni -accountManagementTitle=Keycloak Account Management -authenticatorTitle=Authenticator -applicationsHtmlTitle=Applicazioni - -authenticatorCode=Codice One-time -email=Email -firstName=Nome -givenName=Nome -fullName=Nome Completo -lastName=Cognome -familyName=Cognome -password=Password -passwordConfirm=Conferma Password -passwordNew=Nuova Password -username=Username -address=Indirizzo -street=Via -locality=Citt\u00e0 o Localit\u00e0 -region=Stato, Provincia, o Regione -postal_code=CAP -country=Paese -emailVerified=Email verificata -gssDelegationCredential=Credenziali GSS Delegation - -role_admin=Admin -role_realm-admin=Realm Admin -role_create-realm=Crea realm -role_view-realm=Visualizza realm -role_view-users=Visualizza utenti -role_view-applications=Visualizza applicazioni -role_view-clients=Visualizza client -role_view-events=Visualizza eventi -role_view-identity-providers=Visualizza identity provider -role_manage-realm=Gestisci realm -role_manage-users=Gestisci utenti -role_manage-applications=Gestisci applicazioni -role_manage-identity-providers=Gestisci identity provider -role_manage-clients=Gestisci i client -role_manage-events=Gestisci eventi -role_view-profile=Visualizza profilo -role_manage-account=Gestisci account -role_read-token=Leggi token -role_offline-access=Accesso offline -role_uma_authorization=Ottieni permessi -client_account=Account -client_security-admin-console=Security Admin Console -client_admin-cli=Admin CLI -client_realm-management=Gestione Realm -client_broker=Broker - - -requiredFields=Campi obbligatori -allFieldsRequired=Tutti campi obbligatori - -backToApplication=« Torna all''applicazione -backTo=Torna a {0} - -date=Data -event=Evento -ip=IP -client=Client -clients=Clients -details=Dettagli -started=Iniziato -lastAccess=Ultimo accesso -expires=Scade -applications=Applicazioni - -account=Account -federatedIdentity=Federated Identity -authenticator=Authenticator -sessions=Sessioni -log=Log - -application=Applicazione -availablePermissions=Permessi disponibili -grantedPermissions=Permessi concessi -grantedPersonalInfo=Informazioni Personali concesse -additionalGrants=Concessioni addizionali -action=Azione -inResource=in -fullAccess=Accesso completo -offlineToken=Token offline -revoke=Revoca concessione - -configureAuthenticators=Configura Authenticators -mobile=Mobile -totpStep1=Installa FreeOTP o Google Authenticator sul tuo dispositivo mobile. -totpStep2=Apri l''applicazione e scansiona il barcode o scrivi la chiave. -totpStep3=Scrivi il codice one-time fornito dall''applicazione e clicca Salva per completare il setup. - -missingUsernameMessage=Inserisci la username. -missingFirstNameMessage=Inserisci il nome. -invalidEmailMessage=Indirizzo email non valido. -missingLastNameMessage=Inserisci il cognome. -missingEmailMessage=Inserisci l''indirizzo email. -missingPasswordMessage=Inserisci la password. -notMatchPasswordMessage=Le password non corrispondono. - -missingTotpMessage=Inserisci il codice di autenticazione. -invalidPasswordExistingMessage=Password esistente non valida. -invalidPasswordConfirmMessage=La password di conferma non coincide. -invalidTotpMessage=Codice di autenticazione non valido. - -usernameExistsMessage=Username gi\u00e0 esistente. -emailExistsMessage=Email gi\u00e0 esistente. - -readOnlyUserMessage=Non puoi aggiornare il tuo account dal momento che \u00e8 in modalit\u00e0 sola lettura. -readOnlyPasswordMessage=Non puoi aggiornare il tuo account dal momento che \u00e8 in modalit\u00e0 sola lettura. - -successTotpMessage=Mobile authenticator configurato. -successTotpRemovedMessage=Mobile authenticator eliminato. - -successGrantRevokedMessage=Concessione revocata correttamente. - -accountUpdatedMessage=Il tuo account \u00e8 stato aggiornato. -accountPasswordUpdatedMessage=La tua password \u00e8 stata aggiornata. - -missingIdentityProviderMessage=Identity provider non specificata. -invalidFederatedIdentityActionMessage=Azione non valida o mancante. -identityProviderNotFoundMessage=L''identity provider specificato non \u00e8 stato trovato. -federatedIdentityLinkNotActiveMessage=Questo identity non \u00e8 pi\u00f9 attivo. -federatedIdentityRemovingLastProviderMessage=Non puoi rimuovere l''ultimo federated identity dal momento che non hai pi\u00f9 la password. -identityProviderRedirectErrorMessage=Il reindirizzamento all''identity provider \u00e8 fallito. -identityProviderRemovedMessage=Identity provider eliminato correttamente. -identityProviderAlreadyLinkedMessage=Federated identity ritornata da {0} \u00e8 gi\u00e0 collegata ad un altro utente. -staleCodeAccountMessage=La pagina \u00e8 scaduta. Riprova di nuovo. -consentDenied=Permesso negato. - -accountDisabledMessage=Account disabilitato, contatta l''amministratore. - -accountTemporarilyDisabledMessage=L''account \u00e8 temporaneamente disabilitato, contatta l''amministratore o riprova pi\u00f9 tardi. -invalidPasswordMinLengthMessage=Password non valida: lunghezza minima {0}. -invalidPasswordMinLowerCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri minuscoli. -invalidPasswordMinDigitsMessage=Password non valida: deve contenere almeno {0} numeri. -invalidPasswordMinUpperCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri maiuscoli. -invalidPasswordMinSpecialCharsMessage=Password non valida: deve contenere almeno {0} caratteri speciali. -invalidPasswordNotUsernameMessage=Password non valida: non deve essere uguale alla username. -invalidPasswordRegexPatternMessage=Password non valida: fallito il match con una o pi\u00f9 espressioni regolari. -invalidPasswordHistoryMessage=Password non valida: non deve essere uguale a nessuna delle ultime {0} password. -invalidPasswordGenericMessage=Password non valida: la nuova password non rispetta le indicazioni previste. diff --git a/base/account/messages/messages_ja.properties b/base/account/messages/messages_ja.properties deleted file mode 100644 index ae4d270b88939e5ebb8406c2052e9e513d600d62..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_ja.properties +++ /dev/null @@ -1,153 +0,0 @@ -# encoding: utf-8 -doSave=保存 -doCancel=キャンセル -doLogOutAllSessions=全セッションからログアウト -doRemove=削除 -doAdd=追加 -doSignOut=サインアウト - -editAccountHtmlTitle=アカウントの編集 -federatedIdentitiesHtmlTitle=Federated Identities -accountLogHtmlTitle=アカウントログ -changePasswordHtmlTitle=パスワード変更 -sessionsHtmlTitle=セッション -accountManagementTitle=Keycloak アカウント管理 -authenticatorTitle=Authenticator -applicationsHtmlTitle=アプリケーション - -authenticatorCode=ワンタイムコード -email=Eメール -firstName=名 -givenName=名 -fullName=氏名 -lastName=姓 -familyName=姓 -password=パスワード -passwordConfirm=新しいパスワード (確認) -passwordNew=新しいパスワード -username=ユーザー名 -address=住所 -street=番地 -locality=市区町村 -region=都道府県 -postal_code=郵便番号 -country=国 -emailVerified=確認済みEメール -gssDelegationCredential=GSS 代行クレデンシャル - -role_admin=管理者 -role_realm-admin=レルムの管理 -role_create-realm=レルムの作成 -role_view-realm=レルムの参照 -role_view-users=ユーザーの参照 -role_view-applications=アプリケーションの参照 -role_view-clients=クライアントの参照 -role_view-events=イベントの参照 -role_view-identity-providers=アイデンティティ プロバイダーの参照 -role_manage-realm=レルムの管理 -role_manage-users=ユーザーの管理 -role_manage-applications=アプリケーションの管理 -role_manage-identity-providers=アイデンティティ プロバイダーの管理 -role_manage-clients=クライアントの管理 -role_manage-events=イベントの管理 -role_view-profile=プロフィールの参照 -role_manage-account=アカウントの管理 -role_read-token=トークンの参照 -role_offline-access=オフラインアクセス -role_uma_authorization=アクセス権の取得 -client_account=アカウント -client_security-admin-console=セキュリティ管理コンソール -client_admin-cli=管理 CLI -client_realm-management=レルム管理 -client_broker=ブローカー - - -requiredFields=必須 -allFieldsRequired=全ての入力項目が必須 - -backToApplication=« アプリケーションに戻る -backTo={0} に戻る - -date=日付 -event=イベント -ip=IP -client=クライアント -clients=クライアント -details=詳細 -started=開始 -lastAccess=最終アクセス -expires=有効期限 -applications=アプリケーション - -account=アカウント -federatedIdentity=Federated Identity -authenticator=Authenticator -sessions=セッション -log=ログ - -application=アプリケーション -availablePermissions=使用可能なアクセス権 -grantedPermissions=許可されたアクセス権 -grantedPersonalInfo=許可された個人情報 -additionalGrants=追加の許可 -action=アクション -inResource=in -fullAccess=フルアクセス -offlineToken=オフライントークン -revoke=許可の取り消し - -configureAuthenticators=設定済みの Authenticator -mobile=モバイル -totpStep1=FreeOTP または Google Authenticator (Google認証システム) をご自身のデバイスにインストールしてください。これらのアプリケーションは Google Play と Apple App Store で入手できます。 -totpStep2=アプリケーションを開きバーコードをスキャンするかキーを入力してください。 -totpStep3=アプリケーションで提供されたワンタイムコードを入力して保存をクリックし、セットアップを完了してください。 - -missingUsernameMessage=ユーザー名を入力してください。 -missingFirstNameMessage=名を入力してください。 -invalidEmailMessage=無効なメールアドレスです。 -missingLastNameMessage=姓を入力してください。 -missingEmailMessage=Eメールを入力してください。 -missingPasswordMessage=パスワードを入力してください。 -notMatchPasswordMessage=パスワードが一致していません。 - -missingTotpMessage=Authenticator コードを入力してください。 -invalidPasswordExistingMessage=無効な既存のパスワードです。 -invalidPasswordConfirmMessage=新しいパスワード (確認) と一致していません。 -invalidTotpMessage=無効な Authenticator コードです。 - -usernameExistsMessage=既に存在するユーザー名です。 -emailExistsMessage=既に存在するEメールです。 - -readOnlyUserMessage=リードオンリーのためアカウントを更新することはできません。 -readOnlyPasswordMessage=リードオンリーのためパスワードを更新することはできません。 - -successTotpMessage=モバイル Authenticator が設定されました。 -successTotpRemovedMessage=モバイル Authenticator が削除されました。 - -successGrantRevokedMessage=許可が正常に取り消しされました。 - -accountUpdatedMessage=アカウントが更新されました。 -accountPasswordUpdatedMessage=パスワードが更新されました。 - -missingIdentityProviderMessage=アイデンティティ プロバイダーが指定されていません。 -invalidFederatedIdentityActionMessage=無効または存在しないアクションです。 -identityProviderNotFoundMessage=指定されたアイデンティティ プロバイダーが見つかりません。 -federatedIdentityLinkNotActiveMessage=このアイデンティティは有効ではありません。 -federatedIdentityRemovingLastProviderMessage=パスワードがないため最後の Federated Identity を削除できません。 -identityProviderRedirectErrorMessage=アイデンティティ プロバイダーへのリダイレクトに失敗しました。 -identityProviderRemovedMessage=アイデンティティ プロバイダーが正常に削除されました。 -identityProviderAlreadyLinkedMessage={0}から返された Federated Identity は既に他のユーザーに関連付けされています。 -staleCodeAccountMessage=有効期限切れです。再度お試しください。 -consentDenied=同意が拒否されました。 - -accountDisabledMessage=アカウントが無効です。管理者に連絡してください。 - -accountTemporarilyDisabledMessage=アカウントが一時的に無効です。管理者に連絡、またはしばらく時間をおいてから再度お試しください。 -invalidPasswordMinLengthMessage=無効なパスワード: 最小 {0} の長さが必要です。 -invalidPasswordMinLowerCaseCharsMessage=無効なパスワード: 少なくとも {0} 文字の小文字を含む必要があります。 -invalidPasswordMinDigitsMessage=無効なパスワード: 少なくとも {0} 文字の数字を含む必要があります。 -invalidPasswordMinUpperCaseCharsMessage=無効なパスワード: 少なくとも {0} 文字の大文字を含む必要があります。 -invalidPasswordMinSpecialCharsMessage=無効なパスワード: 少なくとも {0} 文字の特殊文字を含む必要があります。 -invalidPasswordNotUsernameMessage=無効なパスワード: ユーザー名と同じパスワードは禁止されています。 -invalidPasswordRegexPatternMessage=無効なパスワード: 正規表現パターンと一致しません。 -invalidPasswordHistoryMessage=無効なパスワード: 最近の {0} パスワードのいずれかと同じパスワードは禁止されています。 \ No newline at end of file diff --git a/base/account/messages/messages_lt.properties b/base/account/messages/messages_lt.properties deleted file mode 100644 index 1660d728a45ac4b52e6ef917b470846e9dcbc9a9..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_lt.properties +++ /dev/null @@ -1,153 +0,0 @@ -doSave=Saugoti -doCancel=At\u0161aukti - -doLogOutAllSessions=Atjungti visas sesijas -doRemove=\u0160alinti -doAdd=Prid\u0117ti -doSignOut=Atsijungti - -editAccountHtmlTitle=Redaguoti paskyr\u0105 -federatedIdentitiesHtmlTitle=Susietos paskyros -accountLogHtmlTitle=Paskyros \u017Eurnalas -changePasswordHtmlTitle=Keisti slapta\u017Eod\u012F -sessionsHtmlTitle=Prisijungimo sesijos -accountManagementTitle=Keycloak Naudotoj\u0173 Administravimas -authenticatorTitle=Autentifikatorius -applicationsHtmlTitle=Programos - -authenticatorCode=Vienkartinis kodas -email=El. pa\u0161tas -firstName=Vardas -givenName=Pavard\u0117 -fullName=Pilnas vardas -lastName=Pavard\u0117 -familyName=Pavard\u0117 -password=Slapta\u017Eodis -passwordConfirm=Pakartotas slapta\u017Eodis -passwordNew=Naujas slapta\u017Eodis -username=Naudotojo vardas -address=Adresas -street=Gatv\u0117 -locality=Miestas arba vietov\u0117 -region=Rajonas -postal_code=Pa\u0161to kodas -country=\u0160alis -emailVerified=El. pa\u0161to adresas patvirtintas -gssDelegationCredential=GSS prisijungimo duomen\u0173 delegavimas - -role_admin=Administratorius -role_realm-admin=Srities administravimas -role_create-realm=Kurti srit\u012F -role_view-realm=Per\u017Ei\u016Br\u0117ti srit\u012F -role_view-users=Per\u017Ei\u016Br\u0117ti naudotojus -role_view-applications=Per\u017Ei\u016Br\u0117ti programas -role_view-clients=Per\u017Ei\u016Br\u0117ti klientines programas -role_view-events=Per\u017Ei\u016Br\u0117ti \u012Fvyki\u0173 \u017Eurnal\u0105 -role_view-identity-providers=Per\u017Ei\u016Br\u0117ti tapatyb\u0117s teik\u0117jus -role_manage-realm=Valdyti sritis -role_manage-users=Valdyti naudotojus -role_manage-applications=Valdyti programas -role_manage-identity-providers=Valdyti tapatyb\u0117s teik\u0117jus -role_manage-clients=Valdyti programas -role_manage-events=Valdyti \u012Fvykius -role_view-profile=Per\u017Ei\u016Br\u0117ti paskyr\u0105 -role_manage-account=Valdyti paskyr\u0105 -role_read-token=Skaityti prieigos rak\u0161\u0105 -role_offline-access=Darbas neprisijungus -role_uma_authorization=\u012Egauti UMA autorizavimo teises -client_account=Paskyra -client_security-admin-console=Saugumo administravimo konsol\u0117 -client_admin-cli=Administravimo CLI -client_realm-management=Srities valdymas -client_broker=Tarpininkas - - -requiredFields=Privalomi laukai -allFieldsRequired=Visi laukai yra privalomi - -backToApplication=« Gr\u012F\u017Eti \u012F program\u0105 -backTo=Atgal \u012F {0} - -date=Data -event=\u012Evykis -ip=IP -client=Klientas -clients=Klientai -details=Detaliau -started=Suk\u016Brimo laikas -lastAccess=V\u0117liausia prieiga -expires=Galioja iki -applications=Programos - -account=Paskyra -federatedIdentity=Susieta tapatyb\u0117 -authenticator=Autentifikatorius -sessions=Sesijos -log=\u012Evykiai - -application=Programa -availablePermissions=Galimos teis\u0117s -grantedPermissions=\u012Egalintos teis\u0117s -grantedPersonalInfo=\u012Egalinta asmenin\u0117 informacija -additionalGrants=Papildomi \u012Fgaliojimai -action=Veiksmas -inResource=yra -fullAccess=Pilna prieiga -offlineToken=Re\u017Eimo neprisijungus raktas (token) -revoke=At\u0161aukti \u012Fgaliojim\u0105 - -configureAuthenticators=Sukonfig\u016Bruotas autentifikatorius -mobile=Mobilus -totpStep1=\u012Ediekite FreeOTP arba Google Authenticator savo \u012Frenginyje. Program\u0117l\u0117s prieinamos Google Play ir Apple App Store. -totpStep2=Atidarykite program\u0117l\u0119 ir nuskenuokite barkod\u0105 arba \u012Fveskite kod\u0105. -totpStep3=\u012Eveskite program\u0117l\u0117je sugeneruot\u0105 vien\u0105 kart\u0105 galiojant\u012F kod\u0105 ir paspauskite Saugoti nor\u0117dami prisijungti. - -missingUsernameMessage=Pra\u0161ome \u012Fvesti naudotojo vard\u0105. -missingFirstNameMessage=Pra\u0161ome \u012Fvesti vard\u0105. -invalidEmailMessage=Neteisingas el. pa\u0161to adresas. -missingLastNameMessage=Pra\u0161ome \u012Fvesti pavard\u0119. -missingEmailMessage=Pra\u0161ome \u012Fvesti el. pa\u0161to adres\u0105. -missingPasswordMessage=Pra\u0161ome \u012Fvesti slapta\u017Eod\u012F. -notMatchPasswordMessage=Slapta\u017Eod\u017Eiai nesutampa. - -missingTotpMessage=Pra\u0161ome \u012Fvesti autentifikacijos kod\u0105. -invalidPasswordExistingMessage=Neteisingas dabartinis slapta\u017Eodis. -invalidPasswordConfirmMessage=Pakartotas slapta\u017Eodis nesutampa. -invalidTotpMessage=Neteisingas autentifikacijos kodas. - -usernameExistsMessage=Toks naudotojas jau egzistuoja. -emailExistsMessage=El. pa\u0161to adresas jau egzistuoja. - -readOnlyUserMessage=Tik skaitymui sukonfig\u016Bruotos paskyros duomen\u0173 atnaujinti neleid\u017Eiama. -readOnlyPasswordMessage=Tik skaitymui sukonfig\u016Bruotos paskyros slapta\u017Eod\u017Eio atnaujinti neleid\u017Eiama. - -successTotpMessage=Mobilus autentifikatorius sukonfig\u016Bruotas. -successTotpRemovedMessage=Mobilus autentifikatorius pa\u0161alintas. - -successGrantRevokedMessage=\u012Egalinimas pa\u0161alintas s\u0117kmingai. - -accountUpdatedMessage=J\u016Bs\u0173 paskyros duomenys s\u0117kmingai atnaujinti. -accountPasswordUpdatedMessage=J\u016Bs\u0173 paskyros slapta\u017Eodis pakeistas. - -missingIdentityProviderMessage=Nenurodytas tapatyb\u0117s teik\u0117jas. -invalidFederatedIdentityActionMessage=Neteisingas arba ne\u017Einomas veiksmas. -identityProviderNotFoundMessage=Nurodytas tapatyb\u0117s teik\u0117jas nerastas. -federatedIdentityLinkNotActiveMessage=Nurodyta susieta tapatyb\u0117 neaktyvi. -federatedIdentityRemovingLastProviderMessage=J\u016Bs negalite pa\u0161alinti paskutinio tapatyb\u0117s teik\u0117jo s\u0105sajos, nes J\u016Bs neturite nusistat\u0119 paskyros slapta\u017Eod\u017Eio. -identityProviderRedirectErrorMessage=Klaida nukreipiant \u012F tapatyb\u0117s teik\u0117jo puslap\u012F. -identityProviderRemovedMessage=Tapatyb\u0117s teik\u0117jas s\u0117kmingai pa\u0161alintas. -identityProviderAlreadyLinkedMessage=Susieta tapatyb\u0117 i\u0161 {0} jau susieta su kita paskyra. -staleCodeAccountMessage=Puslapio galiojimas baig\u0117si. Bandykite dar kart\u0105. -consentDenied=Prieiga draud\u017Eiama. - -accountDisabledMessage=Paskyros galiojimas sustabdytas, kreipkit\u0117s \u012F administratori\u0173. - -accountTemporarilyDisabledMessage=Paskyros galiojimas laikinai sustabdytas. Kreipkit\u0117s \u012F administratori\u0173 arba pabandykite v\u0117liau. -invalidPasswordMinLengthMessage=Per trumpas slapta\u017Eodis: ma\u017Eiausias ilgis {0}. -invalidPasswordMinLowerCaseCharsMessage=Neteisingas slapta\u017Eodis: privaloma \u012Fvesti {0} ma\u017E\u0105j\u0105 raid\u0119. -invalidPasswordMinDigitsMessage=Neteisingas slapta\u017Eodis: privaloma \u012Fvesti {0} skaitmen\u012F. -invalidPasswordMinUpperCaseCharsMessage=Neteisingas slapta\u017Eodis: privaloma \u012Fvesti {0} did\u017Ei\u0105j\u0105 raid\u0119. -invalidPasswordMinSpecialCharsMessage=Neteisingas slapta\u017Eodis: privaloma \u012Fvesti {0} special\u0173 simbol\u012F. -invalidPasswordNotUsernameMessage=Neteisingas slapta\u017Eodis: slapta\u017Eodis negali sutapti su naudotojo vardu. -invalidPasswordRegexPatternMessage=Neteisingas slapta\u017Eodis: slapta\u017Eodis netenkina regex taisykl\u0117s(i\u0173). -invalidPasswordHistoryMessage=Neteisingas slapta\u017Eodis: slapta\u017Eodis negali sutapti su prie\u0161 tai buvusiais {0} slapta\u017Eod\u017Eiais. \ No newline at end of file diff --git a/base/account/messages/messages_no.properties b/base/account/messages/messages_no.properties deleted file mode 100644 index 0bc2c19434be9502e04fbc342d77169a8b13b513..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_no.properties +++ /dev/null @@ -1,163 +0,0 @@ -doSave=Lagre -doCancel=Avbryt -doLogOutAllSessions=Logg ut av alle sesjoner -doRemove=Fjern -doAdd=Legg til -doSignOut=Logg ut - -editAccountHtmlTitle=Rediger konto -federatedIdentitiesHtmlTitle=Federerte identiteter -accountLogHtmlTitle=Kontologg -changePasswordHtmlTitle=Endre passord -sessionsHtmlTitle=Sesjoner -accountManagementTitle=Keycloak kontoadministrasjon -authenticatorTitle=Autentikator -applicationsHtmlTitle=Applikasjoner - -authenticatorCode=Engangskode -email=E-post -firstName=Fornavn -givenName=Fornavn -fullName=Fullt navn -lastName=Etternavn -familyName=Etternavn -password=Passord -passwordConfirm=Bekreftelse -passwordNew=Nytt passord -username=Brukernavn -address=Adresse -street=Gate-/veinavn + husnummer -locality=By -region=Fylke -postal_code=Postnummer -country=Land -emailVerified=E-post bekreftet -gssDelegationCredential=GSS legitimasjonsdelegering - -role_admin=Administrator -role_realm-admin=Administrator for sikkerhetsdomene -role_create-realm=Opprette sikkerhetsdomene -role_view-realm=Se sikkerhetsdomene -role_view-users=Se brukere -role_view-applications=Se applikasjoner -role_view-clients=Se klienter -role_view-events=Se hendelser -role_view-identity-providers=Se identitetsleverand\u00F8rer -role_manage-realm=Administrere sikkerhetsdomene -role_manage-users=Administrere brukere -role_manage-applications=Administrere applikasjoner -role_manage-identity-providers=Administrere identitetsleverand\u00F8rer -role_manage-clients=Administrere klienter -role_manage-events=Administrere hendelser -role_view-profile=Se profil -role_manage-account=Administrere konto -role_read-token=Lese token -role_offline-access=Frakoblet tilgang -role_uma_authorization=Skaffe tillatelser -client_account=Konto -client_security-admin-console=Sikkerhetsadministrasjonskonsoll -client_admin-cli=Kommandolinje-grensesnitt for administrator -client_realm-management=Sikkerhetsdomene-administrasjon -client_broker=Broker - - -requiredFields=Obligatoriske felt -allFieldsRequired=Alle felt m\u00E5 fylles ut - -backToApplication=« Tilbake til applikasjonen -backTo=Tilbake til {0} - -date=Dato -event=Hendelse -ip=IP -client=Klient -clients=Klienter -details=Detaljer -started=Startet -lastAccess=Sist benyttet -expires=Utl\u00F8per -applications=Applikasjoner - -account=Konto -federatedIdentity=Federert identitet -authenticator=Autentikator -sessions=Sesjoner -log=Logg - -application=Applikasjon -availablePermissions=Tilgjengelige rettigheter -grantedPermissions=Innvilgede rettigheter -grantedPersonalInfo=Innvilget personlig informasjon -additionalGrants=Ekstra rettigheter -action=Handling -inResource=i -fullAccess=Full tilgang -offlineToken=Offline token -revoke=Opphev rettighet - -configureAuthenticators=Konfigurerte autentikatorer -mobile=Mobiltelefon -totpStep1=Installer FreeOTP eller Google Authenticator p\u00E5 din enhet. Begge applikasjoner er tilgjengelige p\u00E5 Google Play og Apple App Store. -totpStep2=\u00C5pne applikasjonen og skann strekkoden eller skriv inn koden. -totpStep3=Skriv inn engangskoden gitt av applikasjonen og klikk Lagre for \u00E5 fullf\u00F8re. - -missingUsernameMessage=Vennligst oppgi brukernavn. -missingFirstNameMessage=Vennligst oppgi fornavn. -invalidEmailMessage=Ugyldig e-postadresse. -missingLastNameMessage=Vennligst oppgi etternavn. -missingEmailMessage=Vennligst oppgi e-postadresse. -missingPasswordMessage=Vennligst oppgi passord. -notMatchPasswordMessage=Passordene er ikke like. - -missingTotpMessage=Vennligst oppgi engangskode. -invalidPasswordExistingMessage=Ugyldig eksisterende passord. -invalidPasswordConfirmMessage=Passordene er ikke like. -invalidTotpMessage=Ugyldig engangskode. - -usernameExistsMessage=Brukernavnet finnes allerede. -emailExistsMessage=E-postadressen finnes allerede. - -readOnlyUserMessage=Du kan ikke oppdatere kontoen din ettersom den er skrivebeskyttet. -readOnlyPasswordMessage=Du kan ikke oppdatere passordet ditt ettersom kontoen din er skrivebeskyttet. - -successTotpMessage=Autentikator for mobiltelefon er konfigurert. -successTotpRemovedMessage=Autentikator for mobiltelefon er fjernet. - -successGrantRevokedMessage=Vellykket oppheving av rettighet. - -accountUpdatedMessage=Kontoen din har blitt oppdatert. -accountPasswordUpdatedMessage=Ditt passord har blitt oppdatert. - -missingIdentityProviderMessage=Identitetsleverand\u00F8r er ikke spesifisert. -invalidFederatedIdentityActionMessage=Ugyldig eller manglende handling. -identityProviderNotFoundMessage=Spesifisert identitetsleverand\u00F8r ikke funnet. -federatedIdentityLinkNotActiveMessage=Denne identiteten er ikke lenger aktiv. -federatedIdentityRemovingLastProviderMessage=Du kan ikke fjerne siste federerte identitet ettersom du ikke har et passord. -identityProviderRedirectErrorMessage=Redirect til identitetsleverand\u00F8r feilet. -identityProviderRemovedMessage=Fjerning av identitetsleverand\u00F8r var vellykket. -identityProviderAlreadyLinkedMessage=Federert identitet returnert av {0} er allerede koblet til en annen bruker. -staleCodeAccountMessage=Siden har utl\u00F8pt. Vennligst pr\u00F8v en gang til. -consentDenied=Samtykke avsl\u00E5tt. - -accountDisabledMessage=Konto er deaktivert, kontakt administrator. - -accountTemporarilyDisabledMessage=Konto er midlertidig deaktivert, kontakt administrator eller pr\u00F8v igjen senere. -invalidPasswordMinLengthMessage=Ugyldig passord: minimum lengde {0}. -invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sm\u00E5 bokstaver. -invalidPasswordMinDigitsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sifre. -invalidPasswordMinUpperCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} store bokstaver. -invalidPasswordMinSpecialCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} spesialtegn. -invalidPasswordNotUsernameMessage=Ugyldig passord: kan ikke v\u00E6re likt brukernavn. -invalidPasswordRegexPatternMessage=Ugyldig passord: tilfredsstiller ikke kravene for passord-m\u00F8nster. -invalidPasswordHistoryMessage=Ugyldig passord: kan ikke v\u00E6re likt noen av de {0} foreg\u00E5ende passordene. - -locale_ca=Catal\u00E0 -locale_de=Deutsch -locale_en=English -locale_es=Espa\u00F1ol -locale_fr=Fran\u00e7ais -locale_it=Italian -locale_ja=\u65E5\u672C\u8A9E -locale_no=Norsk -locale_pt-BR=Portugu\u00EAs (Brasil) -locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 diff --git a/base/account/messages/messages_pt_BR.properties b/base/account/messages/messages_pt_BR.properties deleted file mode 100644 index 80e851534333982585022956999c42e030f3d289..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_pt_BR.properties +++ /dev/null @@ -1,149 +0,0 @@ -doSave=Salvar -doCancel=Cancelar -doLogOutAllSessions=Sair de todas as sess\u00F5es -doRemove=Remover -doAdd=Adicionar -doSignOut=Sair - -editAccountHtmlTitle=Editar Conta -federatedIdentitiesHtmlTitle=Identidades Federadas -accountLogHtmlTitle=Log da conta -changePasswordHtmlTitle=Alterar senha -sessionsHtmlTitle=Sess\u00F5es -accountManagementTitle=Gerenciamento de Conta -authenticatorTitle=Autenticator -applicationsHtmlTitle=Aplicativos - -authenticatorCode=C\u00F3digo autenticador -email=E-mail -firstName=Primeiro nome -givenName=Primeiro nome -fullName=Nome completo -lastName=Sobrenome -familyName=Sobrenome -password=Senha -passwordConfirm=Confirma\u00E7\u00E3o -passwordNew=Nova senha -username=Nome de us\u00FAario -address=Endere\u00E7o -street=Logradouro -locality=Cidade ou Localidade -region=Estado -postal_code=CEP -country=Pa\u00EDs -emailVerified=E-mail verificado -gssDelegationCredential=GSS Delega\u00E7\u00E3o de Credencial - -role_admin=Admin -role_realm-admin=Realm Admin -role_create-realm=Cria realm -role_view-realm=Visualiza realm -role_view-users=Visualiza usu\u00E1rios -role_view-applications=Visualiza aplica\u00E7\u00F5es -role_view-clients=Visualiza clientes -role_view-events=Visualiza eventos -role_view-identity-providers=Visualiza provedores de identidade -role_manage-realm=Gerencia realm -role_manage-users=Gerencia usu\u00E1rios -role_manage-applications=Gerencia aplica\u00E7\u00F5es -role_manage-identity-providers=Gerencia provedores de identidade -role_manage-clients=Gerencia clientes -role_manage-events=Gerencia eventos -role_view-profile=Visualiza perfil -role_manage-account=Gerencia conta -role_read-token=L\u00EA token -role_offline-access=Acesso Offline -role_uma_authorization=Obter permiss\u00F5es -client_account=Conta -client_security-admin-console=Console de Administra\u00E7\u00E3o de Seguran\u00E7a -client_admin-cli=Admin CLI -client_realm-management=Gerenciamento de Realm -client_broker=Broker - -requiredFields=Campos obrigat\u00F3rios -allFieldsRequired=Todos os campos s\u00E3o obrigat\u00F3rios - -backToApplication=« Voltar para aplica\u00E7\u00E3o -backTo=Voltar para {0} - -date=Data -event=Evento -ip=IP -client=Cliente -clients=Clientes -details=Detalhes -started=Iniciado -lastAccess=\u00DAltimo acesso -expires=Expira -applications=Aplicativos - -account=Conta -federatedIdentity=Identidade Federada -authenticator=Autenticador -sessions=Sess\u00F5es -log=Log - -application=Aplicativo -availablePermissions=Permiss\u00F5es Dispon\u00EDveis -grantedPermissions=Permiss\u00F5es Concedidas -grantedPersonalInfo=Informa\u00E7\u00F5es Pessoais Concedidas -additionalGrants=Concess\u00F5es Adicionais -action=A\u00E7\u00E3o -inResource=em -fullAccess=Acesso Completo -offlineToken=Offline Token -revoke=Revogar Concess\u00F5es - -configureAuthenticators=Autenticadores Configurados -mobile=Mobile -totpStep1=Instalar FreeOTP ou Google Authenticator em seu dispositivo. Ambas aplica\u00E7\u00F5es est\u00E3o dispon\u00EDveis no Google Play e na Apple App Store. -totpStep2=Abra o aplicativo e escaneie o c\u00F3digo de barras ou entre com o c\u00F3digo. -totpStep3=Digite o c\u00F3digo fornecido pelo aplicativo e clique em Salvar para concluir a configura\u00E7\u00E3o. - -missingUsernameMessage=Por favor, especifique o nome de usu\u00E1rio. -missingFirstNameMessage=Por favor, informe o primeiro nome. -invalidEmailMessage=E-mail inv\u00E1lido. -missingLastNameMessage=Por favor, informe o sobrenome. -missingEmailMessage=Por favor, informe o e-mail. -missingPasswordMessage=Por favor, informe a senha. -notMatchPasswordMessage=As senhas n\u00E3o coincidem. - -missingTotpMessage=Por favor, informe o c\u00F3digo autenticador. -invalidPasswordExistingMessage=Senha atual inv\u00E1lida. -invalidPasswordConfirmMessage=A senha de confirma\u00E7\u00E3o n\u00E3o coincide. -invalidTotpMessage=C\u00F3digo autenticador inv\u00E1lido. - -usernameExistsMessage=Este nome de usu\u00E1rio j\u00E1 existe. -emailExistsMessage=Este e-mail j\u00E1 existe. - -readOnlyUserMessage=Voc\u00EA n\u00E3o pode atualizar sua conta, uma vez que \u00E9 apenas de leitura -readOnlyPasswordMessage=Voc\u00EA n\u00E3o pode atualizar sua senha, sua conta \u00E9 somente leitura - -successTotpMessage=Autenticador mobile configurado. -successTotpRemovedMessage=Autenticador mobile removido. - -successGrantRevokedMessage=Concess\u00F5es revogadas com sucesso. - -accountUpdatedMessage=Sua conta foi atualizada -accountPasswordUpdatedMessage=Sua senha foi atualizada - -missingIdentityProviderMessage=Provedor de identidade n\u00E3o especificado -invalidFederatedIdentityActionMessage=A\u00E7\u00E3o inv\u00E1lida ou ausente -identityProviderNotFoundMessage=O provedor de identidade especificado n\u00E3o foi encontrado -federatedIdentityLinkNotActiveMessage=Esta identidade n\u00E3o est\u00E1 mais em atividade -federatedIdentityRemovingLastProviderMessage=Voc\u00EA n\u00E3o pode remover a \u00FAltima identidade federada como voc\u00EA n\u00E3o tem senha -identityProviderRedirectErrorMessage=Falha ao redirecionar para o provedor de identidade -identityProviderRemovedMessage=Provedor de identidade removido com sucesso -identityProviderAlreadyLinkedMessage=Identidade federada retornado por {0} j\u00E1 est\u00E1 ligado a outro usu\u00E1rio. - -accountDisabledMessage=Conta desativada, contate o administrador - -accountTemporarilyDisabledMessage=A conta est\u00E1 temporariamente indispon\u00EDvel, contate o administrador ou tente novamente mais tarde -invalidPasswordMinLengthMessage=Senha inv\u00E1lida\: comprimento m\u00EDnimo {0} -invalidPasswordMinLowerCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) min\u00FAsculo -invalidPasswordMinDigitsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} n\u00FAmero(s) -invalidPasswordMinUpperCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) mai\u00FAsculo -invalidPasswordMinSpecialCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) especial -invalidPasswordNotUsernameMessage=Senha inv\u00E1lida\: n\u00E3o deve ser igual ao nome de usu\u00E1rio -invalidPasswordRegexPatternMessage=Senha inv\u00E1lida\: n\u00E3o corresponde ao padr\u00E3o da express\u00E3o regular. -invalidPasswordHistoryMessage=Senha inv\u00E1lida\: n\u00E3o pode ser igual a qualquer uma das {0} \u00FAltimas senhas. \ No newline at end of file diff --git a/base/account/messages/messages_ru.properties b/base/account/messages/messages_ru.properties deleted file mode 100644 index 7d47a5536166b6f296c64aa91ca511a54225e29b..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_ru.properties +++ /dev/null @@ -1,155 +0,0 @@ -# encoding: utf-8 -doSave=Сохранить -doCancel=Отмена -doLogOutAllSessions=Выйти из всех сессий -doRemove=Удалить -doAdd=Добавить -doSignOut=Выход - -editAccountHtmlTitle=Изменение учетной записи -federatedIdentitiesHtmlTitle=Федеративные идентификаторы -accountLogHtmlTitle=Лог учетной записи -changePasswordHtmlTitle=Смена пароля -sessionsHtmlTitle=Сессии -accountManagementTitle=Управление учетной записью -authenticatorTitle=Аутентификатор -applicationsHtmlTitle=Приложения - -authenticatorCode=Одноразовый код -email=E-mail -firstName=Имя -givenName=Имя -fullName=Полное имя -lastName=Фамилия -familyName=Фамилия -password=Пароль -passwordConfirm=Подтверждение пароля -passwordNew=Новый пароль -username=Имя пользователя -address=Адрес -street=Улица -locality=Город -region=Регион -postal_code=Почтовый индекс -country=Страна -emailVerified=E-mail подтвержден -gssDelegationCredential=Делегирование учетных данных через GSS - -role_admin=Администратор -role_realm-admin=Администратор realm -role_create-realm=Создать realm -role_view-realm=Просмотр realm -role_view-users=Просмотр пользователей -role_view-applications=Просмотр приложений -role_view-clients=Просмотр клиентов -role_view-events=Просмотр событий -role_view-identity-providers=Просмотр провайдеров учетных записей -role_manage-realm=Управление realm -role_manage-users=Управление пользователями -role_manage-applications=Управление приложениями -role_manage-identity-providers=Управление провайдерами учетных записей -role_manage-clients=Управление клиентами -role_manage-events=Управление событиями -role_view-profile=Просмотр профиля -role_manage-account=Управление учетной записью -role_read-token=Чтение токена -role_offline-access=Доступ оффлайн -role_uma_authorization=Получение разрешений -client_account=Учетная запись -client_security-admin-console=Консоль администратора безопасности -client_admin-cli=Командный интерфейс администратора -client_realm-management=Управление Realm -client_broker=Брокер - - -requiredFields=Обязательные поля -allFieldsRequired=Все поля обязательны - -backToApplication=« Назад в приложение -backTo=Назад в {0} - -date=Дата -event=Событие -ip=IP -client=Клиент -clients=Клиенты -details=Детали -started=Начата -lastAccess=Последний доступ -expires=Истекает -applications=Приложения - -account=Учетная запись -federatedIdentity=Федеративный идентификатор -authenticator=Аутентификатор -sessions=Сессии -log=Журнал - -application=Приложение -availablePermissions=Доступные разрешения -grantedPermissions=Согласованные разрешения -grantedPersonalInfo=Согласованная персональная информация -additionalGrants=Дополнительные согласования -action=Действие -inResource=в -fullAccess=Полный доступ -offlineToken=Оффлайн токен -revoke=Отозвать согласование - -configureAuthenticators=Сконфигурированные аутентификаторы -mobile=Мобильное приложение -totpStep1=Установите FreeOTP или Google Authenticator. Оба приложения доступны на Google Play и в Apple App Store. -totpStep2=Откройте приложение и просканируйте баркод, либо введите ключ. -totpStep3=Введите одноразовый код, выданный приложением, и нажмите сохранить для завершения установки. - -missingUsernameMessage=Введите имя пользователя. -missingFirstNameMessage=Введите имя. -invalidEmailMessage=Введите корректный E-mail. -missingLastNameMessage=Введите фамилию. -missingEmailMessage=Введите E-mail. -missingPasswordMessage=Введите пароль. -notMatchPasswordMessage=Пароли не совпадают. - -missingTotpMessage=Введите код аутентификатора. -invalidPasswordExistingMessage=Существующий пароль неверный. -invalidPasswordConfirmMessage=Подтверждение пароля не совпадает. -invalidTotpMessage=Неверный код аутентификатора. - -usernameExistsMessage=Имя пользователя уже существует. -emailExistsMessage=E-mail уже существует. - -readOnlyUserMessage=Вы не можете обновить информацию вашей учетной записи, т.к. она доступна только для чтения. -readOnlyPasswordMessage=Вы не можете обновить пароль вашей учетной записи, т.к. он доступен только для чтения. - -successTotpMessage=Аутентификатор в мобильном приложении сконфигурирован. -successTotpRemovedMessage=Аутентификатор в мобильном приложении удален. - -successGrantRevokedMessage=Согласование отозвано успешно. - -accountUpdatedMessage=Ваша учетная запись обновлена. -accountPasswordUpdatedMessage=Ваша пароль обновлен. - -missingIdentityProviderMessage=Провайдер учетных записей не задан. -invalidFederatedIdentityActionMessage=Некорректное или недопустимое действие. -identityProviderNotFoundMessage=Заданный провайдер учетных записей не найден. -federatedIdentityLinkNotActiveMessage=Идентификатор больше не активен. -federatedIdentityRemovingLastProviderMessage=Вы не можете удалить последний федеративный идентификатор, т.к. Вы не имеете пароля. -identityProviderRedirectErrorMessage=Ошибка перенаправления в провайдер учетных записей. -identityProviderRemovedMessage=Провайдер учетных записей успешно удален. -identityProviderAlreadyLinkedMessage=Федеративный идентификатор, возвращенный {0} уже используется другим пользователем. -staleCodeAccountMessage=Страница устарела. Попробуйте еще раз. -consentDenied=В согласовании отказано. - -accountDisabledMessage=Учетная запись заблокирована, обратитесь к администратору. - -accountTemporarilyDisabledMessage=Учетная запись временно заблокирована, обратитесь к администратору или попробуйте позже. -invalidPasswordMinLengthMessage=Некорректный пароль: длина пароля должна быть не менее {0} символа(ов). -invalidPasswordMinLowerCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символа(ов) в нижнем регистре. -invalidPasswordMinDigitsMessage=Некорректный пароль: пароль должен содержать не менее {0} цифр(ы). -invalidPasswordMinUpperCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символа(ов) в верхнем регистре. -invalidPasswordMinSpecialCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} спецсимвола(ов). -invalidPasswordNotUsernameMessage=Некорректный пароль: пароль не должен совпадать с именем пользователя. -invalidPasswordRegexPatternMessage=Некорректный пароль: пароль не удовлетворяет регулярному выражению. -invalidPasswordHistoryMessage=Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролями. -invalidPasswordGenericMessage=Некорректный пароль: новый пароль не соответствует правилам пароля. - diff --git a/base/account/messages/messages_sv.properties b/base/account/messages/messages_sv.properties deleted file mode 100644 index 8c83abbe2b09bfeceedca6f50e66233ccf92c079..0000000000000000000000000000000000000000 --- a/base/account/messages/messages_sv.properties +++ /dev/null @@ -1,150 +0,0 @@ -# encoding: utf-8 -doSave=Spara -doCancel=Avbryt -doLogOutAllSessions=Logga ut från samtliga sessioner -doRemove=Ta Bort -doAdd=Lägg Till -doSignOut=Logga Ut - -editAccountHtmlTitle=Redigera Konto -federatedIdentitiesHtmlTitle=Federerade identiteter -accountLogHtmlTitle=Kontoslogg -changePasswordHtmlTitle=Byt Lösenord -sessionsHtmlTitle=Sessioner -accountManagementTitle=Kontohantering för Keycloak -authenticatorTitle=Autentiserare -applicationsHtmlTitle=Applikationer - -authenticatorCode=Engångskod -email=E-post -firstName=Förnamn -lastName=Efternamn -password=Lösenord -passwordConfirm=Bekräftelse -passwordNew=Nytt Lösenord -username=Användarnamn -address=Adress -street=Gata -locality=Postort -region=Stat, Provins, eller Region -postal_code=Postnummer -country=Land -emailVerified=E-post verifierad -gssDelegationCredential=GSS Delegation Credential - -role_admin=Administratör -role_realm-admin=Realm Administratör -role_create-realm=Skapa realm -role_view-realm=Visa realm -role_view-users=Visa användare -role_view-applications=Visa applikationer -role_view-clients=Visa klienter -role_view-events=Visa event -role_view-identity-providers=Visa identity providers -role_manage-realm=Hantera realm -role_manage-users=Hantera användare -role_manage-applications=Hantera applikationer -role_manage-identity-providers=Hantera identity providers -role_manage-clients=Hantera klienter -role_manage-events=Hantera event -role_view-profile=Visa profil -role_manage-account=Hantera konto -role_read-token=Läs element -role_offline-access=Åtkomst Offline -role_uma_authorization=Erhåll tillstånd -client_account=Konto -client_security-admin-console=Säkerhetsadministratörskonsol -client_admin-cli=Administratörs CLI -client_realm-management=Realmhantering - - -requiredFields=Obligatoriska fält -allFieldsRequired=Samtliga fält krävs - -backToApplication=« Tillbaka till applikationen -backTo=Tillbaka till {0} - -date=Datum -event=Event -ip=IP -client=Klient -clients=Klienter -details=Detaljer -started=Startade -lastAccess=Senast Åtkomst -expires=Upphör -applications=Applikationer - -account=Konto -federatedIdentity=Federerad identitet -authenticator=Autentiserare -sessions=Sessioner -log=Logg - -application=Applikation -availablePermissions=Tillgängliga Tillstånd -grantedPermissions=Beviljade Tillstånd -grantedPersonalInfo=Medgiven Personlig Information -additionalGrants=Ytterligare Medgivanden -action=Åtgärd -inResource=in -fullAccess=Fullständig Åtkomst -offlineToken=Offline Token -revoke=Upphäv Tillstånd - -configureAuthenticators=Ändrade Autentiserare -mobile=Mobil -totpStep1=Installera FreeOTP eller Google Authenticator på din enhet. Båda applikationerna finns tillgängliga på Google Play och Apple App Store. -totpStep2=Öppna applikationen och skanna streckkoden eller skriv i nyckeLn. -totpStep3=Fyll i engångskoden som tillhandahålls av applikationen och klicka på Spara för att avsluta inställningarna. - -missingUsernameMessage=Vänligen ange användarnamn. -missingFirstNameMessage=Vänligen ange förnamn. -invalidEmailMessage=Ogiltig e-postadress. -missingLastNameMessage=Vänligen ange efternamn. -missingEmailMessage=Vänligen ange e-post. -missingPasswordMessage=Vänligen ange lösenord. -notMatchPasswordMessage=Lösenorden matchar inte. - -missingTotpMessage=Vänligen ange autentiserarekoden. -invalidPasswordExistingMessage=Det nuvarande lösenordet är ogiltigt. -invalidPasswordConfirmMessage=Lösenordsbekräftelsen matchar inte. -invalidTotpMessage=Autentiserarekoden är ogiltig. - -usernameExistsMessage=Användarnamnet finns redan. -emailExistsMessage=E-posten finns redan. - -readOnlyUserMessage=Du kan inte uppdatera ditt konto eftersom det är skrivskyddat. -readOnlyPasswordMessage=Du kan inte uppdatera ditt lösenord eftersom ditt konto är skrivskyddat. - -successTotpMessage=Mobilautentiseraren är inställd. -successTotpRemovedMessage=Mobilautentiseraren är borttagen. - -successGrantRevokedMessage=Upphävandet av tillståndet lyckades. - -accountUpdatedMessage=Ditt konto har uppdaterats. -accountPasswordUpdatedMessage=Ditt lösenord har uppdaterats. - -missingIdentityProviderMessage=Identity provider är inte angiven. -invalidFederatedIdentityActionMessage=Åtgärden är ogiltig eller saknas. -identityProviderNotFoundMessage=Angiven identity provider hittas inte. -federatedIdentityLinkNotActiveMessage=Den här identiteten är inte längre aktiv. -federatedIdentityRemovingLastProviderMessage=Du kan inte ta bort senaste federerade identiteten eftersom du inte har lösenordet. -identityProviderRedirectErrorMessage=Misslyckades med att omdirigera till identity provider. -identityProviderRemovedMessage=Borttaginingen av Identity provider lyckades. -identityProviderAlreadyLinkedMessage=Den federerade identiteten som returnerades av {0} är redan länkad till en annan användare. -staleCodeAccountMessage=Sidan har redan upphört. Vänligen försök igen. -consentDenied=Samtycket förnekades. - -accountDisabledMessage=Kontot är inaktiverat, kontakta administratör. - -accountTemporarilyDisabledMessage=Kontot är tillfälligt inaktiverat, kontakta administratör eller försök igen senare. -invalidPasswordMinLengthMessage=Ogiltigt lösenord. Minsta längd är {0}. -invalidPasswordMinLowerCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} små bokstäver. -invalidPasswordMinDigitsMessage=Ogiltigt lösenord: måste innehålla minst {0} siffror. -invalidPasswordMinUpperCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} stora bokstäver. -invalidPasswordMinSpecialCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} specialtecken. -invalidPasswordNotUsernameMessage=Ogiltigt lösenord: Får inte vara samma som användarnamnet. -invalidPasswordRegexPatternMessage=Ogiltigt lösenord: matchar inte regex mönstret(en). -invalidPasswordHistoryMessage=Ogiltigt lösenord: Får inte vara samma som de senaste {0} lösenorden. -invalidPasswordGenericMessage=Ogiltigt lösenord: Det nya lösenordet stämmer inte med lösenordspolicyn. \ No newline at end of file diff --git a/base/account/password.ftl b/base/account/password.ftl deleted file mode 100644 index 5df21184fb5b63e5145dc0c0453d77d16168e000..0000000000000000000000000000000000000000 --- a/base/account/password.ftl +++ /dev/null @@ -1,60 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='password' bodyClass='password'; section> - -
-
-

${msg("changePasswordHtmlTitle")}

-
-
- ${msg("allFieldsRequired")} -
-
- -
- - - - <#if password.passwordSet> -
-
- -
- -
- -
-
- - - - -
-
- -
- -
- -
-
- -
-
- -
- -
- -
-
- -
-
-
- -
-
-
-
- - \ No newline at end of file diff --git a/base/account/sessions.ftl b/base/account/sessions.ftl deleted file mode 100644 index 1c0ef1b0e55557c9012874886003ba758f79a3fa..0000000000000000000000000000000000000000 --- a/base/account/sessions.ftl +++ /dev/null @@ -1,41 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='sessions' bodyClass='sessions'; section> - -
-
-

${msg("sessionsHtmlTitle")}

-
-
- - - - - - - - - - - - - - <#list sessions.sessions as session> - - - - - - - - - - -
${msg("ip")}${msg("started")}${msg("lastAccess")}${msg("expires")}${msg("clients")}
${session.ipAddress}${session.started?datetime}${session.lastAccess?datetime}${session.expires?datetime} - <#list session.clients as client> - ${client}
- -
- - ${msg("doLogOutAllSessions")} - - diff --git a/base/account/template.ftl b/base/account/template.ftl deleted file mode 100644 index c117cffda40a12b18c6b6d9203af9381709d3f4a..0000000000000000000000000000000000000000 --- a/base/account/template.ftl +++ /dev/null @@ -1,82 +0,0 @@ -<#macro mainLayout active bodyClass> - - - - - - - - ${msg("accountManagementTitle")} - - <#if properties.styles?has_content> - <#list properties.styles?split(' ') as style> - - - - <#if properties.scripts?has_content> - <#list properties.scripts?split(' ') as script> - - - - - - - - -
-
- -
- -
- <#if message?has_content> -
- <#if message.type=='success' > - <#if message.type=='error' > - ${message.summary} -
- - - <#nested "content"> -
-
- - - - \ No newline at end of file diff --git a/base/account/theme.properties b/base/account/theme.properties deleted file mode 100644 index 6b2b6e8fac09da2e0ca67439e7628502d1b8344c..0000000000000000000000000000000000000000 --- a/base/account/theme.properties +++ /dev/null @@ -1 +0,0 @@ -locales=ca,de,en,es,fr,it,ja,lt,no,pt-BR,ru,sv \ No newline at end of file diff --git a/base/account/totp.ftl b/base/account/totp.ftl deleted file mode 100644 index 4b96dd8b347ecc057b3c0a7098e1f51424c25137..0000000000000000000000000000000000000000 --- a/base/account/totp.ftl +++ /dev/null @@ -1,67 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='totp' bodyClass='totp'; section> - - <#if totp.enabled> -

${msg("authenticatorTitle")}

- - - - - - - - - - - - -
${msg("configureAuthenticators")}
${msg("mobile")} - -
- <#else> -

${msg("authenticatorTitle")}

- -
- -
    -
  1. -

    ${msg("totpStep1")}

    -
  2. -
  3. -

    ${msg("totpStep2")}

    -

    Figure: Barcode

    -

    ${totp.totpSecretEncoded}

    -
  4. -
  5. -

    ${msg("totpStep3")}

    -
  6. -
- -
- -
- -
-
- -
- -
- - -
-
- -
-
-
- - -
-
-
-
- - - diff --git a/base/admin/resources/partials/group-list.html b/base/admin/resources/partials/group-list.html deleted file mode 100644 index efb62bfc9bd535a6dafdd96090e82d0a90f4078d..0000000000000000000000000000000000000000 --- a/base/admin/resources/partials/group-list.html +++ /dev/null @@ -1,37 +0,0 @@ -
- - - - - - - - - - - - - -
-
-
- - - - - -
-
-
-
-
- -
- - \ No newline at end of file diff --git a/base/admin/resources/partials/group-members.html b/base/admin/resources/partials/group-members.html deleted file mode 100644 index a3b420f5882c155a9bc1060cd86eeea02cb5b853..0000000000000000000000000000000000000000 --- a/base/admin/resources/partials/group-members.html +++ /dev/null @@ -1,61 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{:: 'username' | translate}} - {{:: 'last-name' | translate}} - {{:: 'first-name' | translate}} - {{:: 'email' | translate}} -
-
- - - -
-
{{user.username}}{{user.lastName}}{{user.firstName}}{{user.email}}{{:: 'edit' | translate}}
{{:: 'no-group-members' | translate}}{{:: 'no-group-members' | translate}}
-
- - \ No newline at end of file diff --git a/base/admin/theme.properties b/base/admin/theme.properties deleted file mode 100644 index 46cee857189bafdee798f0c2b1d5984b188db771..0000000000000000000000000000000000000000 --- a/base/admin/theme.properties +++ /dev/null @@ -1,2 +0,0 @@ -import=common/keycloak -locales=ca,de,en,es,fr,it,ja,lt,no,pt-BR,ru \ No newline at end of file diff --git a/base/email/html/email-test.ftl b/base/email/html/email-test.ftl deleted file mode 100644 index 604415d22afc96aa935158e6e4a42381cb7b07a3..0000000000000000000000000000000000000000 --- a/base/email/html/email-test.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - -${msg("emailTestBodyHtml",realmName)} - - diff --git a/base/email/html/event-login_error.ftl b/base/email/html/event-login_error.ftl deleted file mode 100644 index d31410307c0052113705ab3504f8d666aa591440..0000000000000000000000000000000000000000 --- a/base/email/html/event-login_error.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - -${msg("eventLoginErrorBodyHtml",event.date,event.ipAddress)} - - diff --git a/base/email/html/event-remove_totp.ftl b/base/email/html/event-remove_totp.ftl deleted file mode 100644 index 91699ea3492dc0ebded38b6a544d00c09b575a4c..0000000000000000000000000000000000000000 --- a/base/email/html/event-remove_totp.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - -${msg("eventRemoveTotpBodyHtml",event.date, event.ipAddress)} - - diff --git a/base/email/html/event-update_totp.ftl b/base/email/html/event-update_totp.ftl deleted file mode 100644 index c0190c7278b35da36675019458ddeefa8b6a82af..0000000000000000000000000000000000000000 --- a/base/email/html/event-update_totp.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - -${msg("eventUpdateTotpBodyHtml",event.date, event.ipAddress)} - - diff --git a/base/email/html/executeActions.ftl b/base/email/html/executeActions.ftl deleted file mode 100644 index f75e10fa2e292990acc127cda02c2dfad59eafe0..0000000000000000000000000000000000000000 --- a/base/email/html/executeActions.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - -${msg("executeActionsBodyHtml",link, linkExpiration, realmName)} - - diff --git a/base/email/html/password-reset.ftl b/base/email/html/password-reset.ftl deleted file mode 100644 index 846b45dafdef1ff676f76dbd38046ed39e8a1aef..0000000000000000000000000000000000000000 --- a/base/email/html/password-reset.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - -${msg("passwordResetBodyHtml",link, linkExpiration, realmName)} - - \ No newline at end of file diff --git a/base/email/text/email-test.ftl b/base/email/text/email-test.ftl deleted file mode 100644 index 19942c791f337babae6cc59520ae4a8be37d8be6..0000000000000000000000000000000000000000 --- a/base/email/text/email-test.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("emailTestBody", realmName)} \ No newline at end of file diff --git a/base/email/text/email-verification.ftl b/base/email/text/email-verification.ftl deleted file mode 100644 index 0ae601f723dc9ba135957d705d5ead48afc3b04f..0000000000000000000000000000000000000000 --- a/base/email/text/email-verification.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("emailVerificationBody",link, linkExpiration, realmName)} \ No newline at end of file diff --git a/base/email/text/event-login_error.ftl b/base/email/text/event-login_error.ftl deleted file mode 100644 index 7835c914646e277079d57dd88859df0173916adb..0000000000000000000000000000000000000000 --- a/base/email/text/event-login_error.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("eventLoginErrorBody",event.date,event.ipAddress)} \ No newline at end of file diff --git a/base/email/text/event-remove_totp.ftl b/base/email/text/event-remove_totp.ftl deleted file mode 100644 index 8930b64d5723a8d5d2b3c36ecb9be24f9755bc49..0000000000000000000000000000000000000000 --- a/base/email/text/event-remove_totp.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("eventRemoveTotpBody",event.date, event.ipAddress)} \ No newline at end of file diff --git a/base/email/text/event-update_password.ftl b/base/email/text/event-update_password.ftl deleted file mode 100644 index 754daac5c33a64e40ae2e87ad5eaaca3d2fd4660..0000000000000000000000000000000000000000 --- a/base/email/text/event-update_password.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("eventUpdatePasswordBody",event.date, event.ipAddress)} \ No newline at end of file diff --git a/base/email/text/event-update_totp.ftl b/base/email/text/event-update_totp.ftl deleted file mode 100644 index 3a7b0f71237415a432788ab6d2c670ce4d740728..0000000000000000000000000000000000000000 --- a/base/email/text/event-update_totp.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("eventUpdateTotpBody",event.date, event.ipAddress)} \ No newline at end of file diff --git a/base/email/text/executeActions.ftl b/base/email/text/executeActions.ftl deleted file mode 100644 index a33758f1526012fbd6b795bd559d761091d20262..0000000000000000000000000000000000000000 --- a/base/email/text/executeActions.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("executeActionsBody",link, linkExpiration, realmName)} \ No newline at end of file diff --git a/base/email/text/identity-provider-link.ftl b/base/email/text/identity-provider-link.ftl deleted file mode 100644 index a8c0d54e92b99be6453dcd865139f764775f43cc..0000000000000000000000000000000000000000 --- a/base/email/text/identity-provider-link.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("identityProviderLinkBody", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration)} \ No newline at end of file diff --git a/base/email/text/password-reset.ftl b/base/email/text/password-reset.ftl deleted file mode 100644 index aba4fd19415ea2e1f1550b230cc84846300a7f07..0000000000000000000000000000000000000000 --- a/base/email/text/password-reset.ftl +++ /dev/null @@ -1 +0,0 @@ -${msg("passwordResetBody",link, linkExpiration, realmName)} \ No newline at end of file diff --git a/base/email/theme.properties b/base/email/theme.properties deleted file mode 100644 index 6b2b6e8fac09da2e0ca67439e7628502d1b8344c..0000000000000000000000000000000000000000 --- a/base/email/theme.properties +++ /dev/null @@ -1 +0,0 @@ -locales=ca,de,en,es,fr,it,ja,lt,no,pt-BR,ru,sv \ No newline at end of file diff --git a/base/login/code.ftl b/base/login/code.ftl deleted file mode 100644 index f266bdade601bdd3bb233e14e11bfe5e3e3b2f05..0000000000000000000000000000000000000000 --- a/base/login/code.ftl +++ /dev/null @@ -1,19 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - <#if code.success> - ${msg("codeSuccessTitle")} - <#else> - ${msg("codeErrorTitle", code.error)} - - <#elseif section = "form"> -
- <#if code.success> -

${msg("copyCodeInstruction")}

- - <#else> -

${code.error}

- -
- - diff --git a/base/login/error.ftl b/base/login/error.ftl deleted file mode 100644 index c069e26bd717727e30859f318ce893952179567a..0000000000000000000000000000000000000000 --- a/base/login/error.ftl +++ /dev/null @@ -1,15 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout displayMessage=false; section> - <#if section = "title"> - ${msg("errorTitle")} - <#elseif section = "header"> - ${msg("errorTitleHtml")} - <#elseif section = "form"> -
-

${message.summary}

- <#if client?? && client.baseUrl?has_content> -

${msg("backToApplication")}

- -
- - \ No newline at end of file diff --git a/base/login/info.ftl b/base/login/info.ftl deleted file mode 100644 index cb228d2a15521a5b37f446f52bdb11895ccf385c..0000000000000000000000000000000000000000 --- a/base/login/info.ftl +++ /dev/null @@ -1,20 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout displayMessage=false; section> - <#if section = "title"> - ${message.summary} - <#elseif section = "header"> - ${message.summary} - <#elseif section = "form"> -
-

${message.summary}

- <#if skipLink??> - <#else> - <#if pageRedirectUri??> -

${msg("backToApplication")}

- <#elseif client.baseUrl??> -

${msg("backToApplication")}

- - -
- - \ No newline at end of file diff --git a/base/login/login-config-totp.ftl b/base/login/login-config-totp.ftl deleted file mode 100644 index 0515c2726ac56832f98d96c4b49a53de44bafc43..0000000000000000000000000000000000000000 --- a/base/login/login-config-totp.ftl +++ /dev/null @@ -1,32 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout displayInfo=true; section> - <#if section = "title"> - ${msg("loginTotpTitle")} - <#elseif section = "header"> - ${msg("loginTotpTitle")} - <#elseif section = "form"> -
    -
  1. -

    ${msg("loginTotpStep1")}

    -
  2. -
  3. -

    ${msg("loginTotpStep2")}

    - Figure: Barcode
    - ${totp.totpSecretEncoded} -
  4. -
  5. -

    ${msg("loginTotpStep3")}

    -
  6. -
-
-
-
- -
- -
- - -
- - diff --git a/base/login/login-idp-link-confirm.ftl b/base/login/login-idp-link-confirm.ftl deleted file mode 100644 index 29ee2ae97fd36149d916c07cadaac6bb8fc482b4..0000000000000000000000000000000000000000 --- a/base/login/login-idp-link-confirm.ftl +++ /dev/null @@ -1,13 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("confirmLinkIdpTitle")} - <#elseif section = "header"> - ${msg("confirmLinkIdpTitle")} - <#elseif section = "form"> -
- - -
- - \ No newline at end of file diff --git a/base/login/login-idp-link-email.ftl b/base/login/login-idp-link-email.ftl deleted file mode 100644 index 1dbd43d50c5fb42364aa7933c7dc73cd4be6c070..0000000000000000000000000000000000000000 --- a/base/login/login-idp-link-email.ftl +++ /dev/null @@ -1,18 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("emailLinkIdpTitle", idpAlias)} - <#elseif section = "header"> - ${msg("emailLinkIdpTitle", idpAlias)} - <#elseif section = "form"> -

- ${msg("emailLinkIdp1", idpAlias, brokerContext.username, realm.displayName)} -

-

- ${msg("emailLinkIdp2")} ${msg("doClickHere")} ${msg("emailLinkIdp3")} -

-

- ${msg("emailLinkIdp4")} ${msg("doClickHere")} ${msg("emailLinkIdp5")} -

- - \ No newline at end of file diff --git a/base/login/login-oauth-grant.ftl b/base/login/login-oauth-grant.ftl deleted file mode 100644 index edafc660e022d7f91c1eed5ff482eb5469a69d6c..0000000000000000000000000000000000000000 --- a/base/login/login-oauth-grant.ftl +++ /dev/null @@ -1,65 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout bodyClass="oauth"; section> - <#if section = "title"> - ${msg("oauthGrantTitle")} - <#elseif section = "header"> - ${msg("oauthGrantTitleHtml",(realm.displayNameHtml!''))} <#if client.name??>${advancedMsg(client.name)}<#else>${client.clientId}. - <#elseif section = "form"> -
-

${msg("oauthGrantRequest")}

- - -
- -
-
-
-
-
- -
-
- - -
-
-
-
-
- - \ No newline at end of file diff --git a/base/login/login-page-expired.ftl b/base/login/login-page-expired.ftl deleted file mode 100644 index f58c25db33ee4039854caf13003ae2f58d82d713..0000000000000000000000000000000000000000 --- a/base/login/login-page-expired.ftl +++ /dev/null @@ -1,13 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("pageExpiredTitle")} - <#elseif section = "header"> - ${msg("pageExpiredTitle")} - <#elseif section = "form"> -

- ${msg("pageExpiredMsg1")} ${msg("doClickHere")} . - ${msg("pageExpiredMsg2")} ${msg("doClickHere")} . -

- - \ No newline at end of file diff --git a/base/login/login-reset-password.ftl b/base/login/login-reset-password.ftl deleted file mode 100644 index a0d118a40d6b443651665c00a854ee3759d7abab..0000000000000000000000000000000000000000 --- a/base/login/login-reset-password.ftl +++ /dev/null @@ -1,33 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout displayInfo=true; section> - <#if section = "title"> - ${msg("emailForgotTitle")} - <#elseif section = "header"> - ${msg("emailForgotTitle")} - <#elseif section = "form"> -
-
-
- -
-
- -
-
- -
- - -
- -
-
-
- <#elseif section = "info" > - ${msg("emailInstruction")} - - diff --git a/base/login/login-totp.ftl b/base/login/login-totp.ftl deleted file mode 100644 index f7068a6e536aff3776e976e23e79142ab03e2004..0000000000000000000000000000000000000000 --- a/base/login/login-totp.ftl +++ /dev/null @@ -1,34 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("loginTitle",realm.displayName)} - <#elseif section = "header"> - ${msg("loginTitleHtml",realm.displayNameHtml)} - <#elseif section = "form"> -
-
-
- -
- -
- -
-
- -
-
-
-
-
- -
-
- - -
-
-
-
- - \ No newline at end of file diff --git a/base/login/login-update-password.ftl b/base/login/login-update-password.ftl deleted file mode 100644 index 1dece7f3daafe8e191207515e43a7b820139ff85..0000000000000000000000000000000000000000 --- a/base/login/login-update-password.ftl +++ /dev/null @@ -1,42 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout displayInfo=true; section> - <#if section = "title"> - ${msg("updatePasswordTitle")} - <#elseif section = "header"> - ${msg("updatePasswordTitle")} - <#elseif section = "form"> -
- - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
- -
- -
-
-
- - \ No newline at end of file diff --git a/base/login/login-update-profile.ftl b/base/login/login-update-profile.ftl deleted file mode 100644 index 458884c8491fd4111fe0304f1475f677e36a9107..0000000000000000000000000000000000000000 --- a/base/login/login-update-profile.ftl +++ /dev/null @@ -1,58 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("loginProfileTitle")} - <#elseif section = "header"> - ${msg("loginProfileTitle")} - <#elseif section = "form"> -
- <#if user.editUsernameAllowed> -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
- -
- -
-
-
- - \ No newline at end of file diff --git a/base/login/login-verify-email.ftl b/base/login/login-verify-email.ftl deleted file mode 100644 index 53caaa380253c29c00816c26c3189a0faae85528..0000000000000000000000000000000000000000 --- a/base/login/login-verify-email.ftl +++ /dev/null @@ -1,15 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("emailVerifyTitle")} - <#elseif section = "header"> - ${msg("emailVerifyTitle")} - <#elseif section = "form"> -

- ${msg("emailVerifyInstruction1")} -

-

- ${msg("emailVerifyInstruction2")} ${msg("doClickHere")} ${msg("emailVerifyInstruction3")} -

- - \ No newline at end of file diff --git a/base/login/login.ftl b/base/login/login.ftl deleted file mode 100644 index 7c0212346a3eb013733cefc27aeb69ba5116be1d..0000000000000000000000000000000000000000 --- a/base/login/login.ftl +++ /dev/null @@ -1,79 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout displayInfo=social.displayInfo; section> - <#if section = "title"> - ${msg("loginTitle",(realm.displayName!''))} - <#elseif section = "header"> - ${msg("loginTitleHtml",(realm.displayNameHtml!''))} - <#elseif section = "form"> - <#if realm.password> -
-
-
- -
- -
- <#if usernameEditDisabled??> - - <#else> - - -
-
- -
-
- -
- -
- -
-
- -
-
- <#if realm.rememberMe && !usernameEditDisabled??> -
- -
- -
- <#if realm.resetPasswordAllowed> - ${msg("doForgotPassword")} - -
-
- -
-
- -
-
-
-
- - <#elseif section = "info" > - <#if realm.password && realm.registrationAllowed && !usernameEditDisabled??> -
- ${msg("noAccount")} ${msg("doRegister")} -
- - - <#if realm.password && social.providers??> -
- -
- - - diff --git a/base/login/messages/messages_de.properties b/base/login/messages/messages_de.properties deleted file mode 100644 index 327e99b003ecc87b3f8dc0c9d2889f91188b3bad..0000000000000000000000000000000000000000 --- a/base/login/messages/messages_de.properties +++ /dev/null @@ -1,195 +0,0 @@ -doLogIn=Anmelden -doRegister=Registrieren -doCancel=Abbrechen -doSubmit=Absenden -doYes=Ja -doNo=Nein -doAccept=Annehmen -doDecline=Ablehnen -doContinue=Weiter -doForgotPassword=Passwort vergessen? -doClickHere=Hier klicken -doImpersonate=Identit\u00E4tswechsel -kerberosNotConfigured=Kerberos ist nicht konfiguriert. -kerberosNotConfiguredTitle=Kerberos nicht konfiguriert -bypassKerberos=Ihr Browser is nicht f\u00FCr Kerberos Login konfiguriert. Bitte klicken Sie auf Weiter, um mit einem anderen Anmeldeverfahren fortzufahren -kerberosNotSetUp=Kerberos ist nicht konfiguriert. Sie k\u00F6nnen sich damit nicht anmelden. -recaptchaFailed=Ung\u00FCltiges Recaptcha -recaptchaNotConfigured=Recaptcha Eingabe ist erforderlich, jedoch noch nicht konfiguriert. -consentDenied=Zustimmung verweigert. - -registerWithTitle=Registrierung bei {0} -registerWithTitleHtml={0} -loginTitle=Anmeldung bei {0} -loginTitleHtml={0} -loginOauthTitle= -loginOauthTitleHtml=Tempor\u00E4rer Zugriff auf {0} angefordert von {1}. -loginTotpTitle=Mobile Authentifizierung einrichten -loginProfileTitle=Benutzerkonto Informationen aktualisieren -loginTimeout=Sie haben zu lange gebraucht, um sich anzumelden. Bitte versuchen Sie es erneut. -impersonateTitle={0} Identit\u00E4tswechsel -impersonateTitleHtml={0} Identit\u00E4tswechsel -unknownUser=Unbekannter Benutzer -realmChoice=Realm -oauthGrantTitle=OAuth gew\u00E4hren -oauthGrantTitleHtml={0} -errorTitle=Es ist ein Fehler aufgetreten. -errorTitleHtml=Es ist ein Fehler aufgetreten. -emailVerifyTitle=E-Mail verifizieren -emailForgotTitle=Passwort vergessen? -updatePasswordTitle=Passwort aktualisieren -codeSuccessTitle=Erfolgreicher Code -codeErrorTitle=Fehlercode\: {0} - -noAccount=Neuer Benutzer? -username=Benutzername -usernameOrEmail=Benutzername oder E-Mail -firstName=Vorname -givenName=Vorname -fullName=Voller Name -lastName=Nachname -familyName=Nachname -email=E-Mail -password=Passwort -passwordConfirm=Passwort best\u00E4tigen -passwordNew=Neues Passwort -passwordNewConfirm=Neues Passwort best\u00E4tigen -rememberMe=Angemeldet bleiben -authenticatorCode=One-time Code -address=Adresse -street=Stra\u00DFe -region=Staat, Provinz, Region -postal_code=PLZ -locality=Stadt oder Ortschaft -country=Land -emailVerified=E-Mail verifiziert -gssDelegationCredential=GSS delegierte Berechtigung - -loginTotpStep1=Installieren Sie FreeOTP oder Google Authenticator auf Ihrem Smartphone. -loginTotpStep2=\u00D6ffnen Sie die Applikation und scannen Sie den Barcode oder geben Sie den Code ein. -loginTotpStep3=Geben Sie den von der Applikation generierten One-time Code ein und klicken Sie auf Absenden. -loginTotpOneTime=One-time Code - -oauthGrantRequest=Wollen Sie diese Zugriffsrechte gew\u00E4hren? -inResource=in - -emailVerifyInstruction1=Eine E-Mail mit weiteren Anweisungen wurde an Sie versendet. -emailVerifyInstruction2=Falls Sie keine E-Mail erhalten haben, dann k\u00F6nnen Sie -emailVerifyInstruction3=um eine neue E-Mail versenden zu lassen. - -backToLogin=« Zur\u00FCck zur Anmeldung -backToApplication=« Zur\u00FCck zur Applikation - -temporaryEmailCode=Tempor\u00E4rer Email Code -emailInstruction=Geben Sie ihren Benutzernamen oder E-Mail Adresse ein und klicken Sie auf Absenden. Danach werden wir Ihnen eine E-Mail mit weiteren Instruktionen zusenden. -validateResetEmailInstruction=Eine E-Mail wurde an Sie versendet. Klicken Sie auf die URL in der E-Mail, um ihr Passwort zur\u00FCckzusetzen und sich neu anzumelden. Alternativ k\u00F6nnen Sie den tempor\u00E4ren Code aus der E-Mail in das Eingabefeld unten links eingeben und auf Absenden klicken. - -copyCodeInstruction=Bitte kopieren Sie den folgenden Code und f\u00FCgen ihn in die Applikation ein\: - -personalInfo=Pers\u00F6nliche Informationen: - -role_admin=Admin -role_realm-admin=Realm Admin -role_create-realm=Realm erstellen -role_view-realm=Realm ansehen -role_view-users=Benutzer ansehen -role_view-applications=Applikationen ansehen -role_view-clients=Clients ansehen -role_view-events=Events ansehen -role_view-identity-providers=Identity Provider ansehen -role_manage-realm=Realm verwalten -role_manage-users=Benutzer verwalten -role_manage-applications=Applikationen verwalten -role_manage-identity-providers=Identity Provider verwalten -role_manage-clients=Clients verwalten -role_manage-events=Events verwalten -role_view-profile=Profile ansehen -role_manage-account=Profile verwalten - -invalidUserMessage=Ung\u00FCltiger Benutzername oder Passwort. -invalidEmailMessage=Ung\u00FCltige E-Mail Adresse. -accountDisabledMessage=Benutzerkonto ist gesperrt, bitte kontaktieren Sie den Admin. -accountTemporarilyDisabledMessage=Benutzerkonto ist tempor\u00E4r gesperrt. Bitte kontaktieren Sie den Admin oder versuchen Sie es sp\u00E4ter noch einmal. -expiredCodeMessage=Zeit\u00FCberschreitung bei der Anmeldung. Bitte melden Sie sich erneut an. - -missingFirstNameMessage=Bitte geben Sie einen Vornamen ein. -missingLastNameMessage=Bitte geben Sie einen Nachnamen ein. -missingEmailMessage=Bitte geben Sie eine E-Mail Adresse ein. -missingUsernameMessage=Bitte geben Sie einen Benutzernamen ein. -missingPasswordMessage=Bitte geben Sie ein Passwort ein. -missingTotpMessage=Bitte geben Sie den One-time Code ein. -notMatchPasswordMessage=Passw\u00F6rter sind nicht identisch. - -invalidPasswordExistingMessage=Das aktuelle Passwort ist ung\u00FCltig. -invalidPasswordConfirmMessage=Die Passwortbest\u00E4tigung ist nicht identisch. -invalidTotpMessage=Ung\u00FCltiger One-time Code. - -usernameExistsMessage=Benutzername existiert bereits. -emailExistsMessage=E-Mail existiert bereits. - -federatedIdentityEmailExistsMessage=Es existiert bereits ein Benutzer mit dieser E-Mail Adresse. Bitte melden Sie sich bei der Benutzerverwaltung an, um das Benutzerkonto zu verkn\u00FCpfen. -federatedIdentityUsernameExistsMessage=Es existiert bereits ein Benutzer mit diesem Benutzernamen. Bitte melden Sie sich bei der Benutzerverwaltung an, um das Benutzerkonto zu verkn\u00FCpfen. - -configureTotpMessage=Sie m\u00FCssen eine Mobile Authentifizierung einrichten, um das Benutzerkonto zu aktivieren. -updateProfileMessage=Sie m\u00FCssen ihr Benutzerkonto aktualisieren, um das Benutzerkonto zu aktivieren. -updatePasswordMessage=Sie m\u00FCssen ihr Passwort \u00E4ndern, um das Benutzerkonto zu aktivieren. -verifyEmailMessage=Sie m\u00FCssen ihre E-Mail Adresse verifizieren, um das Benutzerkonto zu aktivieren. - -emailSentMessage=Sie sollten in k\u00FCrze ein E-Mail mit weiteren Instruktionen erhalten. -emailSendErrorMessage=Die E-Mail konnte nicht versendet werden. Bitte versuchen Sie es sp\u00E4ter nochmal einmal. - -accountUpdatedMessage=Ihr Benutzerkonto wurde aktualisiert. -accountPasswordUpdatedMessage=Ihr Passwort wurde aktualisiert. - -noAccessMessage=Kein Zugriff - -invalidPasswordMinLengthMessage=Ung\u00FCltiges Passwort\: Mindestl\u00E4nge {0}. -invalidPasswordMinDigitsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Ziffer(n) enthalten. -invalidPasswordMinLowerCaseCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Kleinbuchstaben enthalten. -invalidPasswordMinUpperCaseCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Gro\u00DFbuchstaben enthalten. -invalidPasswordMinSpecialCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Sonderzeichen enthalten. -invalidPasswordNotUsernameMessage=Ung\u00FCltiges Passwort\: darf nicht dem Benutzernamen entsprechen. -invalidPasswordRegexPatternMessage=Ung\u00FCltiges Passwort\: entspricht nicht Regex-Muster(n). -invalidPasswordHistoryMessage=Ung\u00FCltiges Passwort: darf nicht einem der letzten {0} Passw\u00F6rter entsprechen. - -failedToProcessResponseMessage=Konnte Antwort nicht verarbeiten. -httpsRequiredMessage=HTTPS erforderlich. -realmNotEnabledMessage=Realm nicht aktiviert. -invalidRequestMessage=Ung\u00FCltiger Request. -failedLogout=Logout fehlgeschlagen. -unknownLoginRequesterMessage=Ung\u00FCltiger Login Requester. -loginRequesterNotEnabledMessage=Login Requester nicht aktiviert. -bearerOnlyMessage=Bearer-only Clients k\u00F6nnen sich nicht via Browser anmelden. -directGrantsOnlyMessage=Direct-grants-only Clients k\u00F6nnen sich nicht via Browser anmelden. -invalidRedirectUriMessage=Ung\u00FCltige Redirect Uri. -unsupportedNameIdFormatMessage=Nicht unterst\u00FCtztes NameIDFormat. -invalidRequesterMessage=Ung\u00FCltiger Requester. -registrationNotAllowedMessage=Registrierung nicht erlaubt. -resetCredentialNotAllowedMessage=Reset Credential nicht erlaubt. - -permissionNotApprovedMessage=Berechtigung nicht best\u00E4tigt. -noRelayStateInResponseMessage=Kein Relay State in der Antwort von Identity Provider. -identityProviderAlreadyLinkedMessage=Die Identit\u00E4t welche von dem Identity Provider zur\u00FCckgegeben wurde ist bereits mit einem anderen Benutzer verkn\u00FCpft. -insufficientPermissionMessage=Nicht gen\u00FCgend Rechte, um die Identit\u00E4t zu verkn\u00FCpfen. -couldNotProceedWithAuthenticationRequestMessage=Konnte die Authentifizierungsanfrage nicht weiter verarbeiten. -couldNotObtainTokenMessage=Konnte kein Token vom Identity Provider erhalten. -unexpectedErrorRetrievingTokenMessage=Unerwarteter Fehler w\u00E4hrend dem Empfang des Tokens vom Identity Provider. -unexpectedErrorHandlingResponseMessage=Unerwarteter Fehler w\u00E4hrend der Bearbeitung der Antwort vom Identity Provider. -identityProviderAuthenticationFailedMessage=Authentifizierung fehlgeschlagen. Authentifizierung mit dem Identity Provider nicht m\u00F6glich. -couldNotSendAuthenticationRequestMessage=Konnte Authentifizierungsanfrage nicht an den Identity Provider senden. -unexpectedErrorHandlingRequestMessage=Unerwarteter Fehler w\u00E4hrend der Bearbeitung der Anfrage an den Identity Provider. -invalidAccessCodeMessage=Ung\u00FCltiger Access-Code. -sessionNotActiveMessage=Session nicht aktiv. -unknownCodeMessage=Unbekannter Code. Bitte melden Sie sich erneut \u00FCber die Applikation an. -invalidCodeMessage=Ung\u00FCltiger Code, bitte melden Sie sich erneut \u00FCber die Applikation an. -identityProviderUnexpectedErrorMessage=Unerwarteter Fehler w\u00E4hrend der Authentifizierung mit dem Identity Provider. -identityProviderNotFoundMessage=Konnte keinen Identity Provider zu der Identit\u00E4t finden. -realmSupportsNoCredentialsMessage=Realm unterst\u00FCtzt keine Credential Typen. -identityProviderNotUniqueMessage=Der Realm unterst\u00FCtzt mehrere Identity Provider. Es konnte kein eindeutiger Identity Provider zum Authentifizieren gew\u00E4hlt werden. - -invalidParameterMessage=Ung\u00FCltiger Parameter\: {0} -missingParameterMessage=Fehlender Parameter\: {0} -clientNotFoundMessage=Client nicht gefunden. - -emailVerifiedMessage=Ihr E-Mail Adresse wurde erfolgreich verifiziert. -alreadyLoggedIn=Sie sind bereits angemeldet. diff --git a/base/login/messages/messages_en.properties b/base/login/messages/messages_en.properties deleted file mode 100644 index cf262361b79aefc818f1129dc45fd2e08efb079b..0000000000000000000000000000000000000000 --- a/base/login/messages/messages_en.properties +++ /dev/null @@ -1,243 +0,0 @@ -doLogIn=Log in -doRegister=Register -doCancel=Cancel -doSubmit=Submit -doYes=Yes -doNo=No -doContinue=Continue -doAccept=Accept -doDecline=Decline -doForgotPassword=Forgot Password? -doClickHere=Click here -doImpersonate=Impersonate -kerberosNotConfigured=Kerberos Not Configured -kerberosNotConfiguredTitle=Kerberos Not Configured -bypassKerberosDetail=Either you are not logged in via Kerberos or your browser is not set up for Kerberos login. Please click continue to login in through other means -kerberosNotSetUp=Kerberos is not set up. You cannot login. -registerWithTitle=Register with {0} -registerWithTitleHtml={0} -loginTitle=Log in to {0} -loginTitleHtml={0} -impersonateTitle={0} Impersonate User -impersonateTitleHtml={0} Impersonate User -realmChoice=Realm -unknownUser=Unknown user -loginTotpTitle=Mobile Authenticator Setup -loginProfileTitle=Update Account Information -loginTimeout=You took too long to login. Login process starting from beginning. -oauthGrantTitle=Grant Access -oauthGrantTitleHtml={0} -errorTitle=We''re sorry... -errorTitleHtml=We''re sorry ... -emailVerifyTitle=Email verification -emailForgotTitle=Forgot Your Password? -updatePasswordTitle=Update password -codeSuccessTitle=Success code -codeErrorTitle=Error code\: {0} - -termsTitle=Terms and Conditions -termsTitleHtml=Terms and Conditions -termsText=

Terms and conditions to be defined

- -recaptchaFailed=Invalid Recaptcha -recaptchaNotConfigured=Recaptcha is required, but not configured -consentDenied=Consent denied. - -noAccount=New user? -username=Username -usernameOrEmail=Username or email -firstName=First name -givenName=Given name -fullName=Full name -lastName=Last name -familyName=Family name -email=Email -password=Password -passwordConfirm=Confirm password -passwordNew=New Password -passwordNewConfirm=New Password confirmation -rememberMe=Remember me -authenticatorCode=One-time code -address=Address -street=Street -locality=City or Locality -region=State, Province, or Region -postal_code=Zip or Postal code -country=Country -emailVerified=Email verified -gssDelegationCredential=GSS Delegation Credential - -loginTotpStep1=Install FreeOTP or Google Authenticator on your mobile. Both applications are available in Google Play and Apple App Store. -loginTotpStep2=Open the application and scan the barcode or enter the key -loginTotpStep3=Enter the one-time code provided by the application and click Submit to finish the setup -loginTotpOneTime=One-time code - -oauthGrantRequest=Do you grant these access privileges? -inResource=in - -emailVerifyInstruction1=An email with instructions to verify your email address has been sent to you. -emailVerifyInstruction2=Haven''t received a verification code in your email? -emailVerifyInstruction3=to re-send the email. - -emailLinkIdpTitle=Link {0} -emailLinkIdp1=An email with instructions to link {0} account {1} with your {2} account has been sent to you. -emailLinkIdp2=Haven''t received a verification code in your email? -emailLinkIdp3=to re-send the email. -emailLinkIdp4=If you already verified the email in different browser -emailLinkIdp5=to continue. - -backToLogin=« Back to Login - -emailInstruction=Enter your username or email address and we will send you instructions on how to create a new password. - -copyCodeInstruction=Please copy this code and paste it into your application: - -pageExpiredTitle=Page has expired -pageExpiredMsg1=To restart the login process -pageExpiredMsg2=To continue the login process - -personalInfo=Personal Info: -role_admin=Admin -role_realm-admin=Realm Admin -role_create-realm=Create realm -role_create-client=Create client -role_view-realm=View realm -role_view-users=View users -role_view-applications=View applications -role_view-clients=View clients -role_view-events=View events -role_view-identity-providers=View identity providers -role_manage-realm=Manage realm -role_manage-users=Manage users -role_manage-applications=Manage applications -role_manage-identity-providers=Manage identity providers -role_manage-clients=Manage clients -role_manage-events=Manage events -role_view-profile=View profile -role_manage-account=Manage account -role_manage-account-links=Manage account links -role_read-token=Read token -role_offline-access=Offline access -client_account=Account -client_security-admin-console=Security Admin Console -client_admin-cli=Admin CLI -client_realm-management=Realm Management -client_broker=Broker - -invalidUserMessage=Invalid username or password. -invalidEmailMessage=Invalid email address. -accountDisabledMessage=Account is disabled, contact admin. -accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later. -expiredCodeMessage=Login timeout. Please login again. -expiredActionMessage=Action expired. Please continue with login now. - -missingFirstNameMessage=Please specify first name. -missingLastNameMessage=Please specify last name. -missingEmailMessage=Please specify email. -missingUsernameMessage=Please specify username. -missingPasswordMessage=Please specify password. -missingTotpMessage=Please specify authenticator code. -notMatchPasswordMessage=Passwords don''t match. - -invalidPasswordExistingMessage=Invalid existing password. -invalidPasswordConfirmMessage=Password confirmation doesn''t match. -invalidTotpMessage=Invalid authenticator code. - -usernameExistsMessage=Username already exists. -emailExistsMessage=Email already exists. - -federatedIdentityExistsMessage=User with {0} {1} already exists. Please login to account management to link the account. - -confirmLinkIdpTitle=Account already exists -federatedIdentityConfirmLinkMessage=User with {0} {1} already exists. How do you want to continue? -federatedIdentityConfirmReauthenticateMessage=Authenticate as {0} to link your account with {1} -confirmLinkIdpReviewProfile=Review profile -confirmLinkIdpContinue=Add to existing account - -configureTotpMessage=You need to set up Mobile Authenticator to activate your account. -updateProfileMessage=You need to update your user profile to activate your account. -updatePasswordMessage=You need to change your password to activate your account. -verifyEmailMessage=You need to verify your email address to activate your account. -linkIdpMessage=You need to verify your email address to link your account with {0}. - -emailSentMessage=You should receive an email shortly with further instructions. -emailSendErrorMessage=Failed to send email, please try again later. - -accountUpdatedMessage=Your account has been updated. -accountPasswordUpdatedMessage=Your password has been updated. - -noAccessMessage=No access - -invalidPasswordMinLengthMessage=Invalid password: minimum length {0}. -invalidPasswordMinDigitsMessage=Invalid password: must contain at least {0} numerical digits. -invalidPasswordMinLowerCaseCharsMessage=Invalid password: must contain at least {0} lower case characters. -invalidPasswordMinUpperCaseCharsMessage=Invalid password: must contain at least {0} upper case characters. -invalidPasswordMinSpecialCharsMessage=Invalid password: must contain at least {0} special characters. -invalidPasswordNotUsernameMessage=Invalid password: must not be equal to the username. -invalidPasswordRegexPatternMessage=Invalid password: fails to match regex pattern(s). -invalidPasswordHistoryMessage=Invalid password: must not be equal to any of last {0} passwords. -invalidPasswordGenericMessage=Invalid password: new password doesn''t match password policies. - -failedToProcessResponseMessage=Failed to process response -httpsRequiredMessage=HTTPS required -realmNotEnabledMessage=Realm not enabled -invalidRequestMessage=Invalid Request -failedLogout=Logout failed -unknownLoginRequesterMessage=Unknown login requester -loginRequesterNotEnabledMessage=Login requester not enabled -bearerOnlyMessage=Bearer-only applications are not allowed to initiate browser login -standardFlowDisabledMessage=Client is not allowed to initiate browser login with given response_type. Standard flow is disabled for the client. -implicitFlowDisabledMessage=Client is not allowed to initiate browser login with given response_type. Implicit flow is disabled for the client. -invalidRedirectUriMessage=Invalid redirect uri -unsupportedNameIdFormatMessage=Unsupported NameIDFormat -invalidRequesterMessage=Invalid requester -registrationNotAllowedMessage=Registration not allowed -resetCredentialNotAllowedMessage=Reset Credential not allowed - -permissionNotApprovedMessage=Permission not approved. -noRelayStateInResponseMessage=No relay state in response from identity provider. -insufficientPermissionMessage=Insufficient permissions to link identities. -couldNotProceedWithAuthenticationRequestMessage=Could not proceed with authentication request to identity provider. -couldNotObtainTokenMessage=Could not obtain token from identity provider. -unexpectedErrorRetrievingTokenMessage=Unexpected error when retrieving token from identity provider. -unexpectedErrorHandlingResponseMessage=Unexpected error when handling response from identity provider. -identityProviderAuthenticationFailedMessage=Authentication failed. Could not authenticate with identity provider. -identityProviderDifferentUserMessage=Authenticated as {0}, but expected to be authenticated as {1} -couldNotSendAuthenticationRequestMessage=Could not send authentication request to identity provider. -unexpectedErrorHandlingRequestMessage=Unexpected error when handling authentication request to identity provider. -invalidAccessCodeMessage=Invalid access code. -sessionNotActiveMessage=Session not active. -invalidCodeMessage=An error occurred, please login again through your application. -identityProviderUnexpectedErrorMessage=Unexpected error when authenticating with identity provider -identityProviderNotFoundMessage=Could not find an identity provider with the identifier. -identityProviderLinkSuccess=You successfully verified your email. Please go back to your original browser and continue there with the login. -staleCodeMessage=This page is no longer valid, please go back to your application and login again -realmSupportsNoCredentialsMessage=Realm does not support any credential type. -identityProviderNotUniqueMessage=Realm supports multiple identity providers. Could not determine which identity provider should be used to authenticate with. -emailVerifiedMessage=Your email address has been verified. -staleEmailVerificationLink=The link you clicked is a old stale link and is no longer valid. Maybe you have already verified your email? -identityProviderAlreadyLinkedMessage=Federated identity returned by {0} is already linked to another user. - -locale_ca=Catal\u00E0 -locale_de=Deutsch -locale_en=English -locale_es=Espa\u00F1ol -locale_fr=Fran\u00e7ais -locale_it=Italian -locale_ja=\u65E5\u672C\u8A9E -locale_no=Norsk -locale_pt_BR=Portugu\u00EAs (Brasil) -locale_pt-BR=Portugu\u00EAs (Brasil) -locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 -locale_lt=Lietuvi\u0173 - -backToApplication=« Back to Application -missingParameterMessage=Missing parameters\: {0} -clientNotFoundMessage=Client not found. -clientDisabledMessage=Client disabled. -invalidParameterMessage=Invalid parameter\: {0} -alreadyLoggedIn=You are already logged in. -differentUserAuthenticated=You are already authenticated as different user ''{0}'' in this session. Please logout first. -brokerLinkingSessionExpired=Requested broker account linking, but current session is no longer valid. - -p3pPolicy=CP="This is not a P3P policy!" diff --git a/base/login/register.ftl b/base/login/register.ftl deleted file mode 100644 index 855bd9d9d073a4c4f5bc12ef580b248e3835e894..0000000000000000000000000000000000000000 --- a/base/login/register.ftl +++ /dev/null @@ -1,90 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.registrationLayout; section> - <#if section = "title"> - ${msg("registerWithTitle",(realm.displayName!''))} - <#elseif section = "header"> - ${msg("registerWithTitleHtml",(realm.displayNameHtml!''))} - <#elseif section = "form"> -
- - - - <#if !realm.registrationEmailAsUsername> -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - <#if passwordRequired> -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - - <#if recaptchaRequired??> -
-
-
-
-
- - -
- - -
- -
-
-
- - \ No newline at end of file diff --git a/base/login/template.ftl b/base/login/template.ftl deleted file mode 100644 index 0ff628da5fe0f3ffff59ffab93c203748b162a15..0000000000000000000000000000000000000000 --- a/base/login/template.ftl +++ /dev/null @@ -1,93 +0,0 @@ -<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true> - - - - - - - - - <#if properties.meta?has_content> - <#list properties.meta?split(' ') as meta> - - - - <#nested "title"> - - <#if properties.styles?has_content> - <#list properties.styles?split(' ') as style> - - - - <#if properties.scripts?has_content> - <#list properties.scripts?split(' ') as script> - - - - <#if scripts??> - <#list scripts as script> - - - - - - - - -
-
- -
-
<#nested "header">
-
- - <#if realm.internationalizationEnabled> -
-
-
- ${locale.current} -
    - <#list locale.supported as l> -
  • ${l.label}
  • - -
-
-
-
- - -
-
- - <#if displayMessage && message?has_content> -
-
- <#if message.type = 'success'> - <#if message.type = 'warning'> - <#if message.type = 'error'> - <#if message.type = 'info'> - -
-
- - -
-
- <#nested "form"> -
-
- - <#if displayInfo> -
-
- <#nested "info"> -
-
- -
-
-
-
- - - diff --git a/base/login/theme.properties b/base/login/theme.properties deleted file mode 100644 index 6b2b6e8fac09da2e0ca67439e7628502d1b8344c..0000000000000000000000000000000000000000 --- a/base/login/theme.properties +++ /dev/null @@ -1 +0,0 @@ -locales=ca,de,en,es,fr,it,ja,lt,no,pt-BR,ru,sv \ No newline at end of file diff --git a/base/admin/index.ftl b/fairlogin/admin/index.ftl similarity index 95% rename from base/admin/index.ftl rename to fairlogin/admin/index.ftl index 3feb9e34188b5701bfb2f84239d8dac6b1bed0d4..397c4b04c5d9c9e9f879c816f85f203b3bc2760b 100644 --- a/base/admin/index.ftl +++ b/fairlogin/admin/index.ftl @@ -20,6 +20,7 @@ var consoleBaseUrl = '${consoleBaseUrl}'; var resourceUrl = '${resourceUrl}'; var masterRealm = '${masterRealm}'; + var resourceVersion = '${resourceVersion}'; @@ -58,13 +59,14 @@ - + + diff --git a/base/admin/messages/admin-messages_ca.properties b/fairlogin/admin/messages/admin-messages_ca.properties similarity index 99% rename from base/admin/messages/admin-messages_ca.properties rename to fairlogin/admin/messages/admin-messages_ca.properties index 0025c882a2894eb2cd5de83fdb2bb307c9c57c52..edb0575804462c1709198bff52d7365396c64245 100644 --- a/base/admin/messages/admin-messages_ca.properties +++ b/fairlogin/admin/messages/admin-messages_ca.properties @@ -51,7 +51,7 @@ password=Contrasenya login-password=Contrasenya login-theme=Tema d''inici de sessi\u00F3 select-one=Selecciona un... -login-theme.tooltip=Selecciona el tema per a les p\u00E0gines d''inici de sessi\u00F3, TOTP, permisos, registre i recordatori de contrasenya. +login-theme.tooltip=Selecciona el tema per a les p\u00E0gines d''inici de sessi\u00F3, OTP, permisos, registre i recordatori de contrasenya. account-theme=Tema de compte account-theme.tooltip=Selecciona el tema per a les p\u00E0gines de gesti\u00F3 del compte d''usuari. admin-console-theme=Tema de consola d''administraci\u00F3 @@ -85,7 +85,7 @@ client-login-timeout.tooltip=Temps m\u00E0xim que un client t\u00E9 per finalitz login-timeout=Temps m\u00E0xim de desconnexi\u00F3 login-timeout.tooltip=Temps m\u00E0xim que un usuari t\u00E9 per completar l''inici de sessi\u00F3. Es recomana que sigui relativament alt. 30 minuts o m\u00E9s. login-action-timeout=Temps m\u00E0xim d''acci\u00F3 en l''inici de sessi\u00F3 -login-action-timeout.tooltip=Temps m\u00E0xim que un usuari t\u00E9 per completar accions relacionades amb l''inici de sessi\u00F3, com l''actualitzaci\u00F3 de contrasenya o configuraci\u00F3 de TOTP. \u00C9s recomanat que sigui relativament alt. 5 minuts o m\u00E9s. +login-action-timeout.tooltip=Temps m\u00E0xim que un usuari t\u00E9 per completar accions relacionades amb l''inici de sessi\u00F3, com l''actualitzaci\u00F3 de contrasenya o configuraci\u00F3 de OTP. \u00C9s recomanat que sigui relativament alt. 5 minuts o m\u00E9s. headers=Cap\u00E7aleres brute-force-detection=Detecci\u00F3 d''atacs per for\u00E7a bruta x-frame-options=X-Frame-Options diff --git a/base/admin/messages/admin-messages_de.properties b/fairlogin/admin/messages/admin-messages_de.properties similarity index 100% rename from base/admin/messages/admin-messages_de.properties rename to fairlogin/admin/messages/admin-messages_de.properties diff --git a/base/admin/messages/admin-messages_en.properties b/fairlogin/admin/messages/admin-messages_en.properties similarity index 95% rename from base/admin/messages/admin-messages_en.properties rename to fairlogin/admin/messages/admin-messages_en.properties index 73412e983d883857843f9d4a81b43abf9f782165..443a5c89b4007df9a77e2edd28d1e26678f0a2f3 100644 --- a/base/admin/messages/admin-messages_en.properties +++ b/fairlogin/admin/messages/admin-messages_en.properties @@ -75,7 +75,7 @@ login-username=Login Username password=Password login-password=Login Password login-theme=Login Theme -login-theme.tooltip=Select theme for login, TOTP, grant, registration, and forgot password pages. +login-theme.tooltip=Select theme for login, OTP, grant, registration, and forgot password pages. account-theme=Account Theme account-theme.tooltip=Select theme for user account management pages. admin-console-theme=Admin Console Theme @@ -93,7 +93,9 @@ user-cache-clear.tooltip=Clears all entries from the user cache (this will clear keys-cache-clear=Keys Cache keys-cache-clear.tooltip=Clears all entries from the cache of external public keys. These are keys of external clients or identity providers. (this wil clear entries for all realms) revoke-refresh-token=Revoke Refresh Token -revoke-refresh-token.tooltip=If enabled refresh tokens can only be used once. Otherwise refresh tokens are not revoked when used and can be used multiple times. +revoke-refresh-token.tooltip=If enabled a refresh token can only be used up to 'Refresh Token Max Reuse' and is revoked when a different token is used. Otherwise refresh tokens are not revoked when used and can be used multiple times. +refresh-token-max-reuse=Refresh Token Max Reuse +refresh-token-max-reuse.tooltip=Maximum number of times a refresh token can be reused. When a different token is used, revokation is immediate. sso-session-idle=SSO Session Idle seconds=Seconds minutes=Minutes @@ -112,6 +114,15 @@ action-token-generated-by-admin-lifespan=Default Admin-Initiated Action Lifespan action-token-generated-by-admin-lifespan.tooltip=Maximum time before an action permit sent to a user by admin is expired. This value is recommended to be long to allow admins send e-mails for users that are currently offline. The default timeout can be overridden right before issuing the token. action-token-generated-by-user-lifespan=User-Initiated Action Lifespan action-token-generated-by-user-lifespan.tooltip=Maximum time before an action permit sent by a user (e.g. forgot password e-mail) is expired. This value is recommended to be short because it is expected that the user would react to self-created action quickly. + +action-token-generated-by-user.execute-actions=Execute Actions +action-token-generated-by-user.idp-verify-account-via-email=IdP Account E-mail Verification +action-token-generated-by-user.reset-credentials=Forgot Password +action-token-generated-by-user.verify-email=E-mail Verification +action-token-generated-by-user.tooltip=Override default settings of maximum time before an action permit sent by a user (e.g. forgot password e-mail) is expired for specific action. This value is recommended to be short because it is expected that the user would react to self-created action quickly. +action-token-generated-by-user.reset=Reset +action-token-generated-by-user.operation=Override User-Initiated Action Lifespan + client-login-timeout=Client login timeout client-login-timeout.tooltip=Max time an client has to finish the access token protocol. This should normally be 1 minute. login-timeout=Login timeout @@ -130,6 +141,8 @@ robots-tag=X-Robots-Tag robots-tag-tooltip=Prevent pages from appearing in search engines (click label for more information) x-xss-protection=X-XSS-Protection x-xss-protection-tooltip=This header configures the Cross-site scripting (XSS) filter in your browser. Using the default behavior, the browser will prevent rendering of the page when a XSS attack is detected (click label for more information) +strict-transport-security=HTTP Strict Transport Security (HSTS) +strict-transport-security-tooltip=The Strict-Transport-Security HTTP header tells browsers to always use HTTPS. Once a browser sees this header, it will only visit the site over HTTPS for the time specified (1 year) at max-age, including the subdomains. permanent-lockout=Permanent Lockout permanent-lockout.tooltip=Lock the user permanently when the user exceeds the maximum login failures. max-login-failures=Max Login Failures @@ -484,6 +497,8 @@ disableUserInfo=Disable User Info identity-provider.disableUserInfo.tooltip=Disable usage of User Info service to obtain additional user information? Default is to use this OIDC service. userIp=Use userIp Param identity-provider.google-userIp.tooltip=Set 'userIp' query parameter when invoking on Google's User Info service. This will use the user's ip address. Useful if Google is throttling access to the User Info service. +sandbox=Target Sandbox +identity-provider.paypal-sandbox.tooltip=Target PayPal's sandbox environment update-profile-on-first-login=Update Profile on First Login on=On on-missing-info=On missing info @@ -504,6 +519,8 @@ authorization-url=Authorization URL authorization-url.tooltip=The Authorization Url. token-url=Token URL token-url.tooltip=The Token URL. +loginHint=Pass login_hint +loginHint.tooltip=Pass login_hint to identity provider. logout-url=Logout URL identity-provider.logout-url.tooltip=End session endpoint to use to logout user from external IDP. backchannel-logout=Backchannel Logout @@ -574,6 +591,17 @@ key=Key stackoverflow.key.tooltip=The Key obtained from Stack Overflow client registration. openshift.base-url=Base Url openshift.base-url.tooltip=Base Url to Openshift Online API +gitlab-application-id=Application Id +gitlab-application-secret=Application Secret +gitlab.application-id.tooltip=Application Id for the application you created in your GitLab Applications account menu +gitlab.application-secret.tooltip=Secret for the application that you created in your GitLab Applications account menu +gitlab.default-scopes.tooltip=Scopes to ask for on login. Will always ask for openid. Additionally adds api if you do not specify anything. + +bitbucket-consumer-key=Consumer Key +bitbucket-consumer-secret=Consumer Secret +bitbucket.key.tooltip=Bitbucket OAuth Consumer Key +bitbucket.secret.tooltip=Bitbucket OAuth Consumer Secret +bitbucket.default-scopes.tooltip=Scopes to ask for on login. If you do not specify anything, scope defaults to 'email'. # User federation sync-ldap-roles-to-keycloak=Sync LDAP Roles To Keycloak @@ -720,6 +748,7 @@ console-display-name=Console Display Name console-display-name.tooltip=Display name of provider when linked in admin console. priority=Priority priority.tooltip=Priority of provider when doing a user lookup. Lowest first. +user-storage.enabled.tooltip=If provider is disabled it will not be considered for queries and imported users will be disabled and read only until the provider is enabled again. sync-settings=Sync Settings periodic-full-sync=Periodic Full Sync periodic-full-sync.tooltip=Does periodic full synchronization of provider users to Keycloak should be enabled or not @@ -791,11 +820,13 @@ search-scope=Search Scope ldap.search-scope.tooltip=For one level, we search for users just in DNs specified by User DNs. For subtree, we search in whole of their subtree. See LDAP documentation for more details use-truststore-spi=Use Truststore SPI ldap.use-truststore-spi.tooltip=Specifies whether LDAP connection will use the truststore SPI with the truststore configured in standalone.xml/domain.xml. 'Always' means that it will always use it. 'Never' means that it won't use it. 'Only for ldaps' means that it will use if your connection URL use ldaps. Note even if standalone.xml/domain.xml is not configured, the default Java cacerts or certificate specified by 'javax.net.ssl.trustStore' property will be used. +validate-password-policy=Validate Password Policy connection-pooling=Connection Pooling ldap-connection-timeout=Connection Timeout ldap.connection-timeout.tooltip=LDAP Connection Timeout in milliseconds ldap-read-timeout=Read Timeout ldap.read-timeout.tooltip=LDAP Read Timeout in milliseconds. This timeout applies for LDAP read operations +ldap.validate-password-policy.tooltip=Does Keycloak should validate the password with the realm password policy before updating it ldap.connection-pooling.tooltip=Does Keycloak should use connection pooling for accessing LDAP server ldap.pagination.tooltip=Does the LDAP server support pagination. kerberos-integration=Kerberos Integration @@ -860,6 +891,8 @@ initial-counter=Initial Counter otp.initial-counter.tooltip=What should the initial counter value be? otp-token-period=OTP Token Period otp-token-period.tooltip=How many seconds should an OTP token be valid? Defaults to 30 seconds. +otp-supported-applications=Supported Applications +otp-supported-applications.tooltip=Applications that are known to work with the current OTP policy table-of-password-policies=Table of Password Policies add-policy.placeholder=Add policy... policy-type=Policy Type @@ -923,6 +956,7 @@ available-groups=Available Groups available-groups.tooltip=Select a group you want to add as a default. value=Value table-of-group-members=Table of group members +table-of-role-members=Table of role members last-name=Last Name first-name=First Name email=Email @@ -986,10 +1020,10 @@ new-password=New Password password-confirmation=Password Confirmation reset-password=Reset Password credentials.temporary.tooltip=If enabled user is required to change password on next login -remove-totp=Remove TOTP +remove-totp=Remove OTP credentials.remove-totp.tooltip=Remove one time password generator for user. reset-actions=Reset Actions -credentials.reset-actions.tooltip=Set of actions to execute when sending the user a Reset Actions Email. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure TOTP' requires setup of a mobile password generator. +credentials.reset-actions.tooltip=Set of actions to execute when sending the user a Reset Actions Email. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure OTP' requires setup of a mobile password generator. reset-actions-email=Reset Actions Email send-email=Send email credentials.reset-actions-email.tooltip=Sends an email to user with an embedded link. Clicking on link will allow the user to execute the reset actions. They will not have to login prior to this. For example, set the action to update password, click this button, and the user will be able to change their password without logging in. @@ -1004,7 +1038,7 @@ federation-link=Federation Link email-verified=Email Verified email-verified.tooltip=Has the user's email been verified? required-user-actions=Required User Actions -required-user-actions.tooltip=Require an action when the user logs in. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure TOTP' requires setup of a mobile password generator. +required-user-actions.tooltip=Require an action when the user logs in. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure OTP' requires setup of a mobile password generator. locale=Locale select-one.placeholder=Select one... impersonate=Impersonate @@ -1020,6 +1054,7 @@ group-membership.tooltip=Groups user is a member of. Select a listed group and c membership.available-groups.tooltip=Groups a user can join. Select a group and click the join button. table-of-realm-users=Table of Realm Users view-all-users=View all users +view-all-groups=View all groups unlock-users=Unlock users no-users-available=No users available users.instruction=Please enter a search, or click on view all users @@ -1048,6 +1083,7 @@ download-keys-and-cert=Download keys and cert no-value-assigned.placeholder=No value assigned remove=Remove no-group-members=No group members +no-role-members=No role members temporary=Temporary join=Join event-type=Event Type @@ -1072,7 +1108,9 @@ authz-resources=Resources authz-scope=Scope authz-authz-scopes=Authorization Scopes authz-policies=Policies +authz-policy=Policy authz-permissions=Permissions +authz-users=Users in Role authz-evaluate=Evaluate authz-icon-uri=Icon URI authz-icon-uri.tooltip=An URI pointing to an icon. @@ -1118,7 +1156,7 @@ authz-no-type-defined=No type defined. authz-no-uri-defined=No URI defined. authz-no-permission-assigned=No permission assigned. authz-no-policy-assigned=No policy assigned. -authz-create-permission=Create permission +authz-create-permission=Create Permission # Authz Resource Detail authz-add-resource=Add Resource @@ -1137,7 +1175,7 @@ authz-scope-name.tooltip=An unique name for this scope. The name can be used to # Authz Policy List authz-all-types=All types -authz-create-policy=Create policy +authz-create-policy=Create Policy authz-no-policies-available=No policies available. # Authz Policy Detail @@ -1154,7 +1192,8 @@ authz-policy-decision-strategy.tooltip=The decision strategy dictates how the po authz-policy-decision-strategy-affirmative=Affirmative authz-policy-decision-strategy-unanimous=Unanimous authz-policy-decision-strategy-consensus=Consensus -authz-select-a-policy=Select a policy +authz-select-a-policy=Select existing policy +authz-no-policies-assigned=No policies assigned. # Authz Role Policy Detail authz-add-role-policy=Add Role Policy @@ -1215,7 +1254,7 @@ authz-add-aggregated-policy=Add Aggregated Policy authz-add-group-policy=Add Group Policy authz-no-groups-assigned=No groups assigned. authz-policy-group-claim=Groups Claim -authz-policy-group-claim.tooltip=A claim to use as the source for user’s group. If the claim is present it must be an array of strings. +authz-policy-group-claim.tooltip=A claim to use as the source for user's group. If the claim is present it must be an array of strings. authz-policy-group-groups.tooltip=Specifies the groups allowed by this policy. # Authz Permission List @@ -1329,13 +1368,15 @@ manage-permissions-group.tooltip=Fine grain permssions for admins that want to m manage-authz-group-scope-description=Policies that decide if an admin can manage this group view-authz-group-scope-description=Policies that decide if an admin can view this group view-members-authz-group-scope-description=Policies that decide if an admin can manage the members of this group +token-exchange-authz-client-scope-description=Policies that decide which clients are allowed exchange tokens for a token that is targeted to this client. +token-exchange-authz-idp-scope-description=Policies that decide which clients are allowed exchange tokens for an external token minted by this identity provider. manage-authz-client-scope-description=Policies that decide if an admin can manage this client configure-authz-client-scope-description=Reduced management permissions for admin. Cannot set scope, template, or protocol mappers. view-authz-client-scope-description=Policies that decide if an admin can view this client map-roles-authz-client-scope-description=Policies that decide if an admin can map roles defined by this client map-roles-client-scope-authz-client-scope-description=Policies that decide if an admin can apply roles defined by this client to the client scope of another client map-roles-composite-authz-client-scope-description=Policies that decide if an admin can apply roles defined by this client as a composite to another role -map-role-authz-role-scope-description=Policies that decide if an admin can map role this role to a user or group +map-role-authz-role-scope-description=Policies that decide if an admin can map this role to a user or group map-role-client-scope-authz-role-scope-description=Policies that decide if an admin can apply this role to the client scope of a client map-role-composite-authz-role-scope-description=Policies that decide if an admin can apply this role as a composite to another role manage-group-membership-authz-users-scope-description=Policies that decide if an admin can manage group membership for all users in the realm. This is used in conjunction with specific group policy @@ -1344,5 +1385,3 @@ map-roles-authz-users-scope-description=Policies that decide if admin can map ro user-impersonated-authz-users-scope-description=Policies that decide which users can be impersonated. These policies are applied to the user being impersonated. manage-membership-authz-group-scope-description=Policies that decide if admin can add or remove users from this group manage-members-authz-group-scope-description=Policies that decide if an admin can manage the members of this group - - diff --git a/base/admin/messages/admin-messages_es.properties b/fairlogin/admin/messages/admin-messages_es.properties similarity index 99% rename from base/admin/messages/admin-messages_es.properties rename to fairlogin/admin/messages/admin-messages_es.properties index fb17ff6a240ce33f27f1572fc7822abf2262734a..3a9245fe75a19a300f6e2c2cfaa158a60f599f29 100644 --- a/base/admin/messages/admin-messages_es.properties +++ b/fairlogin/admin/messages/admin-messages_es.properties @@ -51,7 +51,7 @@ password=Contrase\u00F1a login-password=Contrase\u00F1a login-theme=Tema de inicio de sesi\u00F3n select-one=Selecciona uno... -login-theme.tooltip=Selecciona el tema para las p\u00E1ginas de inicio de sesi\u00F3n, TOTP, permisos, registro y recordatorio de contrase\u00F1a. +login-theme.tooltip=Selecciona el tema para las p\u00E1ginas de inicio de sesi\u00F3n, OTP, permisos, registro y recordatorio de contrase\u00F1a. account-theme=Tema de cuenta account-theme.tooltip=Selecciona el tema para las p\u00E1ginas de gesti\u00F3n de la cuenta de usuario. admin-console-theme=Tema de consola de administraci\u00F3n @@ -85,7 +85,7 @@ client-login-timeout.tooltip=Tiempo m\u00E1ximo que un cliente tiene para finali login-timeout=Tiempo m\u00E1ximo de desconexi\u00F3n login-timeout.tooltip=Tiempo m\u00E1ximo que un usuario tiene para completar el inicio de sesi\u00F3n. Se recomienda que sea relativamente alto. 30 minutos o m\u00E1s. login-action-timeout=Tiempo m\u00E1ximo de acci\u00F3n en el inicio de sesi\u00F3n -login-action-timeout.tooltip=Tiempo m\u00E1ximo que un usuario tiene para completar acciones relacionadas con el inicio de sesi\u00F3n, como la actualizaci\u00F3n de contrase\u00F1a o configuraci\u00F3n de TOTP. Es recomendado que sea relativamente alto. 5 minutos o m\u00E1s. +login-action-timeout.tooltip=Tiempo m\u00E1ximo que un usuario tiene para completar acciones relacionadas con el inicio de sesi\u00F3n, como la actualizaci\u00F3n de contrase\u00F1a o configuraci\u00F3n de OTP. Es recomendado que sea relativamente alto. 5 minutos o m\u00E1s. headers=Cabeceras brute-force-detection=Detecci\u00F3n de ataques por fuerza bruta x-frame-options=X-Frame-Options @@ -464,3 +464,4 @@ identity-provider-mappers=Asignadores de proveedores de identidad (IDP) create-identity-provider-mapper=Crear asignador de proveedor de identidad (IDP) add-identity-provider-mapper=A\u00F1adir asignador de proveedor de identidad client.description.tooltip=Indica la descripci\u00F3n del cliente. Por ejemplo ''My Client for TimeSheets''. Tambi\u00E9n soporta claves para valores localizados. Por ejemplo: ${my_client_description} +content-type-options= diff --git a/base/admin/messages/admin-messages_fr.properties b/fairlogin/admin/messages/admin-messages_fr.properties similarity index 98% rename from base/admin/messages/admin-messages_fr.properties rename to fairlogin/admin/messages/admin-messages_fr.properties index 525dceb567d8458e83a24307e0586ea3291f0c3a..2ecf49a72327078ce4ce6684696b462f28f9d150 100644 --- a/base/admin/messages/admin-messages_fr.properties +++ b/fairlogin/admin/messages/admin-messages_fr.properties @@ -101,7 +101,7 @@ client-login-timeout.tooltip=Dur\u00e9e maximale qu''a un client pour finir le p login-timeout=Dur\u00e9e d''inactivit\u00e9 de connexion login-timeout.tooltip=Dur\u00e9e maximale autoris\u00e9e pour finaliser la connexion. Devrait \u00eatre relativement long \: 30 minutes, voire plus. login-action-timeout=Dur\u00e9e d''inactivit\u00e9 des actions de connexions -login-action-timeout.tooltip=Dur\u00e9e maximale qu''a un utilisateur pour finir ses actions concernant la mise \u00e0 jour de son mot de passe ou bien de la configuration du mot de passe \u00e0 usage unique (TOTP). Devrait \u00eatre relativement long \: 5 minutes, voire plus. +login-action-timeout.tooltip=Dur\u00e9e maximale qu''a un utilisateur pour finir ses actions concernant la mise \u00e0 jour de son mot de passe ou bien de la configuration du mot de passe \u00e0 usage unique (OTP). Devrait \u00eatre relativement long \: 5 minutes, voire plus. headers=En-t\u00eates brute-force-detection=D\u00e9tection des attaques par force brute x-frame-options=X-Frame-Options diff --git a/base/admin/messages/admin-messages_it.properties b/fairlogin/admin/messages/admin-messages_it.properties similarity index 100% rename from base/admin/messages/admin-messages_it.properties rename to fairlogin/admin/messages/admin-messages_it.properties diff --git a/base/admin/messages/admin-messages_ja.properties b/fairlogin/admin/messages/admin-messages_ja.properties similarity index 99% rename from base/admin/messages/admin-messages_ja.properties rename to fairlogin/admin/messages/admin-messages_ja.properties index 32fc72aa2e5dc6efcdf3eeab39e8cc574661b882..b3821c92456e2d87bab10b671e3b4562430b63fb 100644 --- a/base/admin/messages/admin-messages_ja.properties +++ b/fairlogin/admin/messages/admin-messages_ja.properties @@ -58,7 +58,7 @@ login-username=ログインユーザー名 password=パスワード login-password=ログインパスワード login-theme=ログインテーマ -login-theme.tooltip=ログイン、TOTP、グラント、登録、パスワード忘れ画面のテーマを選択します。 +login-theme.tooltip=ログイン、OTP、グラント、登録、パスワード忘れ画面のテーマを選択します。 account-theme=アカウントテーマ account-theme.tooltip=ユーザーアカウント管理画面のテーマを選択します。 admin-console-theme=管理コンソールテーマ @@ -94,7 +94,7 @@ client-login-timeout.tooltip=クライアントがアクセストークンプロ login-timeout=ログインタイムアウト login-timeout.tooltip=ユーザーがログインを完了するまでの最大時間です。これは30分以上と比較的長くすることをお勧めします。 login-action-timeout=ログインアクションタイムアウト -login-action-timeout.tooltip=ユーザーがパスワードの更新や TOTP の設定のようなログインに関係するアクションを完了するまでの最大時間です。これは5分以上と比較的長くすることをお勧めします。 +login-action-timeout.tooltip=ユーザーがパスワードの更新や OTP の設定のようなログインに関係するアクションを完了するまでの最大時間です。これは5分以上と比較的長くすることをお勧めします。 headers=ヘッダー brute-force-detection=ブルートフォースの検出 x-frame-options=X-Frame-Options @@ -777,7 +777,7 @@ authenticator.alias.tooltip=この設定の名前を設定します。 otp-type=OTP タイプ time-based=タイムベース counter-based=カウンターベース -otp-type.tooltip=TOTP はタイムベースのワンタイムパスワードです。 「hotp」 は、サーバーでハッシュに対してカウンターを保持するカウンターベースのワンタイムパスワードです。 +otp-type.tooltip=OTP はタイムベースのワンタイムパスワードです。 「hotp」 は、サーバーでハッシュに対してカウンターを保持するカウンターベースのワンタイムパスワードです。 otp-hash-algorithm=OTP ハッシュアルゴリズム otp-hash-algorithm.tooltip=OTP を生成するのにどのハッシュアルゴリズムを使用するか設定します。 number-of-digits=桁数 @@ -913,10 +913,10 @@ new-password=新しいパスワード password-confirmation=新しいパスワード (確認) reset-password=パスワードをリセット credentials.temporary.tooltip=有効の場合は、ユーザーは次のログイン時にパスワードの変更が必要となります。 -remove-totp=TOTP の削除 +remove-totp=OTP の削除 credentials.remove-totp.tooltip=ユーザーのワンタイムパスワードジェネレーターを削除します。 reset-actions=リセットアクション -credentials.reset-actions.tooltip=ユーザーにリセットアクションEメールを送信する際に実行するアクションを設定します。 「Verify email」 は、メールアドレスの確認のためにユーザーにEメールを送信します。 「Update profile」 は、新しい個人情報の入力を必要とします。 「Update password」 は、新しいパスワードの入力を必要とします。 「Configure TOTP」 は、モバイルのパスワードジェネレーターのセットアップを必要とします。 +credentials.reset-actions.tooltip=ユーザーにリセットアクションEメールを送信する際に実行するアクションを設定します。 「Verify email」 は、メールアドレスの確認のためにユーザーにEメールを送信します。 「Update profile」 は、新しい個人情報の入力を必要とします。 「Update password」 は、新しいパスワードの入力を必要とします。 「Configure OTP」 は、モバイルのパスワードジェネレーターのセットアップを必要とします。 reset-actions-email=リセットアクションEメール send-email=Eメールを送信 credentials.reset-actions-email.tooltip=リンクを記載したEメールをユーザーに送信します。リンクをクリックすることで、ユーザーはリセットアクションを実行できます。ユーザーはリセットの前にログインする必要はありません。例えば、 「Update Password」 アクションを設定してこのボタンをクリックすると、ユーザーはログインなしにパスワードの変更が可能になります。 @@ -931,7 +931,7 @@ federation-link=フェデレーション リンク email-verified=確認済みのEメール email-verified.tooltip=ユーザーのEメールは確認済みかどうか設定します。 required-user-actions=必要なユーザーアクション -required-user-actions.tooltip=ユーザーがログイン時に必要となるアクションを設定します。 「Verify email」 は、メールアドレスの確認のためにユーザーにEメールを送信します。 「Update profile」 は、新しい個人情報の入力を必要とします。 「Update password」 は、新しいパスワードの入力を必要とします。 「Configure TOTP」 は、モバイルのパスワードジェネレーターのセットアップを必要とします。 +required-user-actions.tooltip=ユーザーがログイン時に必要となるアクションを設定します。 「Verify email」 は、メールアドレスの確認のためにユーザーにEメールを送信します。 「Update profile」 は、新しい個人情報の入力を必要とします。 「Update password」 は、新しいパスワードの入力を必要とします。 「Configure OTP」 は、モバイルのパスワードジェネレーターのセットアップを必要とします。 locale=ロケール select-one.placeholder=1つ選択... impersonate=代理ログイン diff --git a/base/admin/messages/admin-messages_lt.properties b/fairlogin/admin/messages/admin-messages_lt.properties similarity index 99% rename from base/admin/messages/admin-messages_lt.properties rename to fairlogin/admin/messages/admin-messages_lt.properties index ad7b22065dd4df661af38ea98fb8201493a10fca..b9641bf8f95dc832c940207ee53ec250453b3270 100644 --- a/base/admin/messages/admin-messages_lt.properties +++ b/fairlogin/admin/messages/admin-messages_lt.properties @@ -57,7 +57,7 @@ login-username=Prisijungimui naudojamas naudotojo vardas password=Slapta\u017Eodis login-password=Prisijungimui naudojamas slapta\u017Eodis login-theme=Prisijungimo lango tema -login-theme.tooltip=Pasirinkite kaip atrodys J\u016Bs\u0173 prisijungimo, TOTP, teisi\u0173 suteikimo, naudotoj\u0173 registracijos ir slapta\u017Eod\u017Ei\u0173 priminimo langai. +login-theme.tooltip=Pasirinkite kaip atrodys J\u016Bs\u0173 prisijungimo, OTP, teisi\u0173 suteikimo, naudotoj\u0173 registracijos ir slapta\u017Eod\u017Ei\u0173 priminimo langai. account-theme=Naudotojo profilio tema account-theme.tooltip=Pasirinkite kaip atrodys naudotojo profilio valdymo langai. admin-console-theme=Administravimo konsol\u0117s tema @@ -93,7 +93,7 @@ client-login-timeout.tooltip=Laikas, per kur\u012F klientas turi u\u017Ebaigti p login-timeout=Naudotojo prisijungimui skirtas laikas login-timeout.tooltip=Laikas, per kur\u012F naudotojas turi u\u017Ebaigti prisijungimo proces\u0105. Rekomenduojamas pakankamai ilgas laiko tarpas. Pvz. 30 minu\u010Di\u0173 ar daugiau. login-action-timeout=Naudotojo prisijungimo veiksmui skirtas laikas -login-action-timeout.tooltip=Laikas, per kur\u012F naudotojas turi u\u017Ebaigti su prisijungimu susijus\u012F veiksm\u0105. Pavyzd\u017Eiui atnaujinti slapta\u017Eod\u012F ar sukonfig\u016Bruoti TOTP. Rekomenduojamas laikas - 5 minut\u0117s ar daugiau. +login-action-timeout.tooltip=Laikas, per kur\u012F naudotojas turi u\u017Ebaigti su prisijungimu susijus\u012F veiksm\u0105. Pavyzd\u017Eiui atnaujinti slapta\u017Eod\u012F ar sukonfig\u016Bruoti OTP. Rekomenduojamas laikas - 5 minut\u0117s ar daugiau. headers=Antra\u0161t\u0117s brute-force-detection=Grubios j\u0117gos ataka x-frame-options=X-Frame-Options @@ -908,10 +908,10 @@ new-password=Naujas slapta\u017Eodis password-confirmation=Pakartotas slapta\u017Eodis reset-password=Pakeisti slapta\u017Eod\u012F credentials.temporary.tooltip=Jei \u012Fgalinta, tuomet naudotojas prival\u0117s pasikeisti slapta\u017Eod\u012F sekan\u010Dio prisijungimo metu -remove-totp=\u0160alinti TOTP +remove-totp=\u0160alinti OTP credentials.remove-totp.tooltip=\u0160alinti vienkartin\u012F naudotojo slapta\u017Eod\u017Ei\u0173 generatori\u0173. reset-actions=Atkurti veiksmus -credentials.reset-actions.tooltip=Nurodykite naudotojui el. pa\u0161tu siun\u010Diamus privalomus atlikti veiksmus. 'Patvirtinti el. pa\u0161to adres\u0105' \u012F naudotojo el. pa\u0161to adres\u0105 siun\u010Dia patvirtinimo nuorod\u0105. 'Atnaujinti profilio informacij\u0105' reikalauja naudotojo per\u017Ei\u016Br\u0117ti ir atnaujinti profilio informacij\u0105. 'Atnaujinti slapta\u017Eod\u012F' reikalauja naudotojo pasikeisti slapta\u017Eod\u012F. 'Konfig\u016Bruoti TOTP' reikalauja atnaujinti mobilaus slapta\u017Eod\u017Ei\u0173 generatoriaus konfig\u016Bracij\u0105. +credentials.reset-actions.tooltip=Nurodykite naudotojui el. pa\u0161tu siun\u010Diamus privalomus atlikti veiksmus. 'Patvirtinti el. pa\u0161to adres\u0105' \u012F naudotojo el. pa\u0161to adres\u0105 siun\u010Dia patvirtinimo nuorod\u0105. 'Atnaujinti profilio informacij\u0105' reikalauja naudotojo per\u017Ei\u016Br\u0117ti ir atnaujinti profilio informacij\u0105. 'Atnaujinti slapta\u017Eod\u012F' reikalauja naudotojo pasikeisti slapta\u017Eod\u012F. 'Konfig\u016Bruoti OTP' reikalauja atnaujinti mobilaus slapta\u017Eod\u017Ei\u0173 generatoriaus konfig\u016Bracij\u0105. reset-actions-email=Atk\u016Brimo veiksm\u0173 siuntimas send-email=Si\u0173sti el. pa\u0161to lai\u0161k\u0105 credentials.reset-actions-email.tooltip=Naudotojui siun\u010Diamas el. pa\u0161to lai\u0161kas su nuorodomis leid\u017Eian\u010Diomis atlikti pasirinktus veiksmus. Naudotojas atidar\u0119s siun\u010Diam\u0105 nuorod\u0105 gal\u0117s atlikti atk\u016Brimo veiksmus. Veism\u0173 atlikimui naudotoj\u0173 nebus reikalaujama prisijungti. Pavyzd\u017Eiui parinkus slapta\u017Eod\u017Eio atk\u016Brimo veiksm\u0105, naudotojas gal\u0117s neprisijung\u0119s nurodyti nauj\u0105 slapta\u017Ed\u012F. @@ -926,7 +926,7 @@ federation-link=Federacijos s\u0105saja email-verified=El. pa\u0161tas patvirtintas email-verified.tooltip=Ar naudotojo el. pa\u0161to adresas yra patvirtintas? required-user-actions=Privalomi veiksmai naudotojui -required-user-actions.tooltip=Nurodykite kuriuos veiksmus po prisijungimo naudotojas privalo atlikti. 'Patvirtinti el. pa\u0161to adres\u0105' \u012F naudotojo el. pa\u0161to adres\u0105 siun\u010Dia patvirtinimo nuorod\u0105. 'Atnaujinti profilio informacij\u0105' reikalauja naudotojo per\u017Ei\u016Br\u0117ti ir atnaujinti profilio informacij\u0105. 'Atnaujinti slapta\u017Eod\u012F' reikalauja naudotojo pasikeisti slapta\u017Eod\u012F. 'Konfig\u016Bruoti TOTP' reikalauja atnaujinti mobilaus slapta\u017Eod\u017Ei\u0173 generatoriaus konfig\u016Bracij\u0105. +required-user-actions.tooltip=Nurodykite kuriuos veiksmus po prisijungimo naudotojas privalo atlikti. 'Patvirtinti el. pa\u0161to adres\u0105' \u012F naudotojo el. pa\u0161to adres\u0105 siun\u010Dia patvirtinimo nuorod\u0105. 'Atnaujinti profilio informacij\u0105' reikalauja naudotojo per\u017Ei\u016Br\u0117ti ir atnaujinti profilio informacij\u0105. 'Atnaujinti slapta\u017Eod\u012F' reikalauja naudotojo pasikeisti slapta\u017Eod\u012F. 'Konfig\u016Bruoti OTP' reikalauja atnaujinti mobilaus slapta\u017Eod\u017Ei\u0173 generatoriaus konfig\u016Bracij\u0105. locale=Lokal\u0117 select-one.placeholder=Pasirinkite... impersonate=\u012Ek\u016Bnyti diff --git a/base/admin/messages/messages_it.properties b/fairlogin/admin/messages/admin-messages_nl.properties similarity index 100% rename from base/admin/messages/messages_it.properties rename to fairlogin/admin/messages/admin-messages_nl.properties diff --git a/base/admin/messages/admin-messages_no.properties b/fairlogin/admin/messages/admin-messages_no.properties similarity index 99% rename from base/admin/messages/admin-messages_no.properties rename to fairlogin/admin/messages/admin-messages_no.properties index 2dfbfb66f5bf70c65953ea121b77293a3e9101d0..62eafb2b597bf1a221422b165245b0f1f028fc1d 100644 --- a/base/admin/messages/admin-messages_no.properties +++ b/fairlogin/admin/messages/admin-messages_no.properties @@ -57,7 +57,7 @@ login-username=Innloggingsbrukernavn password=Passord login-password=Innloggingspassord login-theme=Innloggingstema -login-theme.tooltip=Velg tema for sidene: innlogging, TOTP, rettigheter, registrering, glemt passord. +login-theme.tooltip=Velg tema for sidene: innlogging, OTP, rettigheter, registrering, glemt passord. account-theme=Kontotema account-theme.tooltip=Velg tema for brukerkontoadministrasjonssider. admin-console-theme=Administrasjonskonsolltema @@ -93,7 +93,7 @@ client-login-timeout.tooltip=Maksimum tid en klient har for \u00E5 fullf\u00F8re login-timeout=Timeout for innlogging login-timeout.tooltip=Maksimum tid en bruker har til \u00E5 fullf\u00F8re en innlogging. Det anbefales at denne er relativt lang. 30 minutter eller mer. login-action-timeout=Timeout for innloggingshandling. -login-action-timeout.tooltip=Maksimum tid en bruker har til \u00E5 fullf\u00F8re handlinger relatert til innlogging, som \u00E5 oppdatere passord eller konfigurere TOTP. Det anbefales at denne er relativt lang. 5 minutter eller mer. +login-action-timeout.tooltip=Maksimum tid en bruker har til \u00E5 fullf\u00F8re handlinger relatert til innlogging, som \u00E5 oppdatere passord eller konfigurere OTP. Det anbefales at denne er relativt lang. 5 minutter eller mer. headers=Headere brute-force-detection=Deteksjon av Brute Force x-frame-options=Alternativer for X-Frame @@ -870,10 +870,10 @@ new-password=Nytt passord password-confirmation=Passord bekreftelse reset-password=Tilbakestill passord credentials.temporary.tooltip=Hvis aktivert, er brukeren p\u00E5krevd til \u00E5 endre passordet ved neste innlogging -remove-totp=Fjern TOTP +remove-totp=Fjern OTP credentials.remove-totp.tooltip=Fjern generator for engangspassord for bruker. reset-actions=Tilbakestill handlinger -credentials.reset-actions.tooltip=Sett med handlinger som kan utf\u00F8res ved \u00E5 sende en bruker en Tilbakestillingshandling for E-post. 'Verifiser e-post' sender en e-post til brukeren for \u00E5 verifisere e-postadresse. 'Oppdater profil' krever at bruker legger inn personlig informasjon. 'Oppdater passord' krever at bruker skriver inn et nytt passord. 'Konfigurer TOTP' krever installasjon av en passordgenerator for mobil. +credentials.reset-actions.tooltip=Sett med handlinger som kan utf\u00F8res ved \u00E5 sende en bruker en Tilbakestillingshandling for E-post. 'Verifiser e-post' sender en e-post til brukeren for \u00E5 verifisere e-postadresse. 'Oppdater profil' krever at bruker legger inn personlig informasjon. 'Oppdater passord' krever at bruker skriver inn et nytt passord. 'Konfigurer OTP' krever installasjon av en passordgenerator for mobil. reset-actions-email=Tilbakestillingshandling for E-post. send-email=Send e-post credentials.reset-actions-email.tooltip=Sender en e-post til en bruker med en lenke. Ved \u00E5 klikke p\u00E5 denne lenken vil brukeren f\u00E5 lov til \u00E5 utf\u00F8re tilbakestillingshandlinger. Brukeren trenger ikke logge inn f\u00F8r dette. For eksempel, sett handlingen for \u00E5 oppdatere passord, klikk p\u00E5 denne knappen, og brukeren vil kunne endre deres passord uten \u00E5 logge inn. @@ -888,7 +888,7 @@ federation-link=Federeringslenke email-verified=E-post verifisert email-verified.tooltip=Har brukerens e-post blitt verifisert? required-user-actions=P\u00E5krevde brukerhandlinger -required-user-actions.tooltip=Krev en handling n\u00E5r brukeren logger inn. 'Verifiser e-post' sender en e-post til brukeren for \u00E5 verifisere deres e-postadresse. 'Oppdater profil' krever at bruker legger inn personlig informasjon. 'Oppdater passord' krever at bruker skriver inn et nytt passord. 'Konfigurer TOTP' krever installasjon av en passordgenerator for mobil. +required-user-actions.tooltip=Krev en handling n\u00E5r brukeren logger inn. 'Verifiser e-post' sender en e-post til brukeren for \u00E5 verifisere deres e-postadresse. 'Oppdater profil' krever at bruker legger inn personlig informasjon. 'Oppdater passord' krever at bruker skriver inn et nytt passord. 'Konfigurer OTP' krever installasjon av en passordgenerator for mobil. locale=Lokalitet select-one.placeholder=Velg en... impersonate=Utgi deg for \u00E5 v\u00E6re bruker diff --git a/base/admin/messages/admin-messages_pt_BR.properties b/fairlogin/admin/messages/admin-messages_pt_BR.properties similarity index 99% rename from base/admin/messages/admin-messages_pt_BR.properties rename to fairlogin/admin/messages/admin-messages_pt_BR.properties index 6476cf2946bed9d9a8287e2d27277465cac6e6aa..a9b32b6eafe8866353994fb447480dd04e53c42f 100644 --- a/base/admin/messages/admin-messages_pt_BR.properties +++ b/fairlogin/admin/messages/admin-messages_pt_BR.properties @@ -58,7 +58,7 @@ login-username=Nome de usuário para login password=Senha login-password=Senha para login login-theme=Tema de login -login-theme.tooltip=Selecione o tema para páginas de login, TOTP, grant, cadastro e recuperar senha. +login-theme.tooltip=Selecione o tema para páginas de login, OTP, grant, cadastro e recuperar senha. account-theme=Tema para conta account-theme.tooltip=Selecione o tema para as páginas de administração de conta do usuário. admin-console-theme=Tema para console de administração @@ -573,6 +573,7 @@ select-a-type.placeholder=selecione um tipo available-groups=Grupos disponíveis value=Valor table-of-group-members=Tabela de membros do grupo +table-of-role-members=Tabela de membros do role last-name=Sobrenome first-name=Primeiro nome email=E-mail @@ -621,7 +622,7 @@ revoke=Revogar new-password=Nova senha password-confirmation=Confirmação de senha reset-password=Reiniciar senha -remove-totp=Remover TOTP +remove-totp=Remover OTP reset-actions=Ações para reiniciar reset-actions-email=Ações para reiniciar e-mail send-email=Enviar e-mail @@ -672,6 +673,7 @@ download-keys-and-cert=Download chave e certificado no-value-assigned.placeholder=Nenhum valor associado remove=Remover no-group-members=Nenhum membro +no-role-members=Nenhum membro no role temporary=Temporária join=Participar event-type=Tipo de evento @@ -697,6 +699,7 @@ authz-scope=Escopo authz-authz-scopes=Autorização de escopos authz-policies=Políticas authz-permissions=Permissões +authz-users=Usuários no role authz-evaluate=Avaliar authz-icon-uri=URI do ícone authz-select-scope=Selecione um escopo @@ -1041,12 +1044,12 @@ saved-types.tooltip=Configure what event types are saved. include-representation.tooltip=Include JSON representation for create and update requests. credentials.temporary.tooltip=If enabled user is required to change password on next login credentials.remove-totp.tooltip=Remove one time password generator for user. -credentials.reset-actions.tooltip=Set of actions to execute when sending the user a Reset Actions Email. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure TOTP' requires setup of a mobile password generator. +credentials.reset-actions.tooltip=Set of actions to execute when sending the user a Reset Actions Email. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure OTP' requires setup of a mobile password generator. credentials.reset-actions-email.tooltip=Sends an email to user with an embedded link. Clicking on link will allow the user to execute the reset actions. They will not have to login prior to this. For example, set the action to update password, click this button, and the user will be able to change their password without logging in. user-enabled.tooltip=A disabled user cannot login. user-temporarily-locked.tooltip=The user may have been locked due to failing to login too many times. email-verified.tooltip=Has the user's email been verified? -required-user-actions.tooltip=Require an action when the user logs in. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure TOTP' requires setup of a mobile password generator. +required-user-actions.tooltip=Require an action when the user logs in. 'Verify email' sends an email to the user to verify their email address. 'Update profile' requires user to enter in new personal information. 'Update password' requires user to enter in a new password. 'Configure OTP' requires setup of a mobile password generator. impersonate-user.tooltip=Login as this user. If user is in same realm as you, your current login session will be logged out before you are logged in as this user. group-membership.tooltip=Groups user is a member of. Select a listed group and click the Leave button to leave the group. import-keys-and-cert.tooltip=Upload the client's key pair and cert. diff --git a/base/admin/messages/admin-messages_ru.properties b/fairlogin/admin/messages/admin-messages_ru.properties similarity index 99% rename from base/admin/messages/admin-messages_ru.properties rename to fairlogin/admin/messages/admin-messages_ru.properties index 08f1fb81c53801331ef4b34b18dd984091b2bdfc..691b2e74f433063a6f5be7adb5afd61ed5272520 100644 --- a/base/admin/messages/admin-messages_ru.properties +++ b/fairlogin/admin/messages/admin-messages_ru.properties @@ -64,7 +64,7 @@ login-username=Имя пользователя для входа password=Пароль login-password=Пароль для входа login-theme=Тема страницы входа -login-theme.tooltip=Выберите тему для страниц входа, временного одноразового пароля (TOTP), выдачи разрешений, регистрации и восстановления пароля. +login-theme.tooltip=Выберите тему для страниц входа, временного одноразового пароля (OTP), выдачи разрешений, регистрации и восстановления пароля. account-theme=Тема учетной записи account-theme.tooltip=Выберите тему для управления учетной записью пользователя. admin-console-theme=Тема консоли администратора @@ -952,10 +952,10 @@ new-password=Новый пароль password-confirmation=Подтверждение пароля reset-password=Сброс пароля credentials.temporary.tooltip=Если включено, пользователю необходимо сменить пароль при следующем входе -remove-totp=Удалить TOTP +remove-totp=Удалить OTP credentials.remove-totp.tooltip=Удалить генератор одноразовых паролей из пользователя. reset-actions=Действия сброса -credentials.reset-actions.tooltip=Набор действия для выполнения при отправке пользователю письма с указаниями по сбросу пароля. 'Подтвердить E-mail' высылает пользователю письмо для подтверждения его E-mail. 'Обновить профиль' требует от пользователя ввести новую персональную информацию. 'Обновить пароль' требует от пользователя ввести новый пароль. 'Настроить TOTP' требует установить мобильное приложение с генератором паролей. +credentials.reset-actions.tooltip=Набор действия для выполнения при отправке пользователю письма с указаниями по сбросу пароля. 'Подтвердить E-mail' высылает пользователю письмо для подтверждения его E-mail. 'Обновить профиль' требует от пользователя ввести новую персональную информацию. 'Обновить пароль' требует от пользователя ввести новый пароль. 'Настроить OTP' требует установить мобильное приложение с генератором паролей. reset-actions-email=E-mail с действиями для сброса пароля send-email=Послать письмо credentials.reset-actions-email.tooltip=Посылает письмо пользователю со встроенной ссылкой. Кликнув на ссылку, пользователю будет разрешено выполнить действия для сброса. Они не должны для этого входить в систему. Например, установка действия обновления пароля, щелкните по этой кнопке, и пользователь получит возможность сменить свой пароль без входа в систему. @@ -970,7 +970,7 @@ federation-link=Ссылка федерации email-verified=Подтверждение E-mail email-verified.tooltip=Должен ли пользователь подтверждать свой E-mail? required-user-actions=Требуемые действия от пользователя -required-user-actions.tooltip=Требует действий от пользователя когда он входит. 'Подтвердить E-mail' высылает письмо пользователю для подтверждения его E-mail. 'Обновить профиль' требует от пользователя ввести новую персональную информацию. 'Обновить пароль' требует от пользователя ввести новый пароль. 'Настроить TOTP' требует установить мобильное приложение генерации паролей. +required-user-actions.tooltip=Требует действий от пользователя когда он входит. 'Подтвердить E-mail' высылает письмо пользователю для подтверждения его E-mail. 'Обновить профиль' требует от пользователя ввести новую персональную информацию. 'Обновить пароль' требует от пользователя ввести новый пароль. 'Настроить OTP' требует установить мобильное приложение генерации паролей. locale=Язык select-one.placeholder=Выберите... impersonate=Имперсонировать diff --git a/fairlogin/admin/messages/admin-messages_zh_CN.properties b/fairlogin/admin/messages/admin-messages_zh_CN.properties new file mode 100644 index 0000000000000000000000000000000000000000..dc2addc780b6221dd739493323251e5bf8801d15 --- /dev/null +++ b/fairlogin/admin/messages/admin-messages_zh_CN.properties @@ -0,0 +1,1228 @@ +# encoding: utf-8 +consoleTitle=Keycloak管理界面 + +# Common messages +enabled=开启 +name=名称 +displayName=显示名称 +displayNameHtml=HTML 显示名称 +save=保存 +cancel=取消 +onText=开 +offText=关 +client=客户端 +clients=客户端 +clear=清除 +selectOne=选择一个... + +true=是 +false=否 + +endpoints=服务路径 + +# Realm settings +realm-detail.enabled.tooltip=只有当域启用时,用户和客户程序才能访问 +realm-detail.oidc-endpoints.tooltip=显示openID connect服务路径的配置 +registrationAllowed=用户注册 +registrationAllowed.tooltip=开启/关闭注册页面,注册页面的链接也会显示在登录页面 +registrationEmailAsUsername=Email当做用户名 +registrationEmailAsUsername.tooltip=当开启时注册表单的用户名域会被隐藏而且Email会作为新用户的用户名 +editUsernameAllowed=编辑用户名 +editUsernameAllowed.tooltip=如果开启,用户名域是可以编辑的。否则用户名域是只读的。 +resetPasswordAllowed=忘记密码 +resetPasswordAllowed.tooltip=当用户忘记他们的密码时,在登录界面显示一个连接给用户点击。 +rememberMe=记住我 +rememberMe.tooltip=显示一个选择框来让用户在重启浏览器时仍然处于登录状态,直到会话过期。 +verifyEmail=验证email +verifyEmail.tooltip=要求用户在首次登录时验证他们的邮箱。 +sslRequired=需要SSL +sslRequired.option.all=所有请求 +sslRequired.option.external=外部请求 +sslRequired.option.none=无 +sslRequired.tooltip=是否需要HTTPS?‘无’代表对于任何客户端IP地址都不需要HTTPS,‘外部请求’代表localhost和私有ip地址可以不通过https访问,‘所有请求’代表所有IP地址都需要通过https访问。 +publicKey=公有秘钥 +privateKey=私有秘钥 +gen-new-keys=生成新秘钥 +certificate=证书 +host=主机 +smtp-host=SMTP 主机 +port=端口号 +smtp-port=SMTP 端口号(默认25) +from=来自 +sender-email-addr=邮件发送者email地址 +enable-ssl=启用 SSL +enable-start-tls=启用 StartTLS +enable-auth=启用认证 +username=用户名 +login-username=登录用户名 +password=密码 +login-password=登录密码 +login-theme=登录主题 +login-theme.tooltip=为登录、授权、注册、忘记密码界面选择页面主题 +account-theme=账户主题 +account-theme.tooltip=为用户管理界面选择主题 +admin-console-theme=管理员控制台主题 +select-theme-admin-console=为管理员控制台选择主题 +email-theme=邮件主题 +select-theme-email=为服务器发送的邮件选择主题 +i18n-enabled=启用国际化 +supported-locales=支持的语言 +supported-locales.placeholder=输入一个locale并按回车 +default-locale=默认语言 +realm-cache-clear=域缓存 +realm-cache-clear.tooltip=从域缓存中清理所有条目(这会清理所有域的条目) +user-cache-clear=用户缓存 +user-cache-clear.tooltip=清理用户缓存的所有条目(这会清理所有域中的条目) +revoke-refresh-token=收回 Refresh Token +revoke-refresh-token.tooltip=如果开启 refresh tokens只能使用一次,否则refresh token不会被收回并且可以使用多次 +sso-session-idle=SSO会话空闲时间 +seconds=秒 +minutes=分 +hours=小时 +days=天 +sso-session-max=SSO会话最长时间 +sso-session-idle.tooltip=设置会话在过期之前可以空闲的时间长度,当会话过期时 Token 和浏览器会话都会被设置为无效。 +sso-session-max.tooltip=会话的最大时间长度,当会话过期时 Token 和浏览器会话都会被设置为无效。 +offline-session-idle=离线会话的空闲时间 +offline-session-idle.tooltip=离线会话允许的空闲时间。你需要使用离线Token在这段时间内至少刷新一次否则会话就会过期 +access-token-lifespan=Access Token 有效期 +access-token-lifespan.tooltip=access token最长有效时间,这个值推荐要比SSO超时要短一些。 +access-token-lifespan-for-implicit-flow =隐式流的访问令牌生命周期 +access-token-lifespan-for-implicit-flow.tooltip =在OpenID连接隐式流期间发出的访问令牌到期之前的最长时间。建议该值小于SSO超时。没有可能在隐式流期间刷新令牌,这就是为什么有单独的超时不同于“访问令牌寿命”。 +client-login-timeout =客户端登录超时 +client-login-timeout.tooltip =客户端必须完成访问令牌协议的最大时间。这通常是1分钟。 +login-timeout =登录超时 +login-timeout.tooltip =用户必须完成登录的最长时间。这建议比较长。 30分钟以上。 +login-action-timeout =登录操作超时 +login-action-timeout.tooltip =用户必须完成登录相关操作(如更新密码或配置totp)的最长时间。这建议比较长。 5分钟以上。 +headers =标题 +brute-force-detection=强力检测 +x-frame-options = X-Frame-Options +x-frame-options-tooltip =默认值阻止通过非源iframe包含页面(单击标签了解更多信息) +content-sec-policy = Content-Security-Policy +content-sec-policy-tooltip =默认值阻止通过非源iframe包含网页(点击标签了解更多信息) +content-type-options = X-Content-Type-Options +content-type-options-tooltip =默认值阻止Internet Explorer和Google Chrome从已声明的内容类型中嗅探响应(点击标签了解更多信息) +max-login-failures =最大登录失败 +max-login-failures.tooltip =触发等待之前的失败次数。 +wait-increment =等待增量 +wait-increment.tooltip =当满足故障阈值时,用户应该锁定多长时间? +quick-login-check-millis =快速登录检查Milli秒 +quick-login-check-millis.tooltip =如果故障同时发生太快,则锁定用户。 +min-quick-login-wait =最小快速登录等待 +min-quick-login-wait.tooltip =快速登录失败后等待多长时间。 +max-wait = Max Wait +max-wait.tooltip =用户将被锁定的最长时间。 +failure-reset-time =故障复位时间 +failure-reset-time.tooltip =何时将故障计数复位? +realm-tab-login=登录 +realm-tab-keys=秘钥 +realm-tab-email=Email +realm-tab-themes=主题 +realm-tab-cache=缓存 +realm-tab-tokens=Tokens +realm-tab-client-registration=客户端注册 +realm-tab-security-defenses=安全防护 +realm-tab-general=通用 +add-realm=添加域 + +#Session settings +realm-sessions=域会话 +revocation=回收 +logout-all=登出所有 +active-sessions=活跃的会话 +sessions=会话 +not-before=不早于 +not-before.tooltip=回收早于日期授予的token +set-to-now=设置到现在 +push=推送 +push.tooltip=对于每个拥有管理员权限的用户,通知他们新的回收策略 +#Protocol Mapper +usermodel.prop.label=属性 +usermodel.prop.tooltip=UserModel 接口中属性方法的名字. 例如, 'email' 会引用UserModel.getEmail() 方法. +usermodel.attr.label=用户属性 +usermodel.attr.tooltip=在UserModel.attribute映射中定义的存储的用户属性名。 +userSession.modelNote.label=用户会话标记 +userSession.modelNote.tooltip=用户会话标记在 UserSessionModel.note映射中的属性名。 +multivalued.label=多值的 +multivalued.tooltip=表示此值是否支持多值.如果为真,所有值会设置为已知。如果为假,只有第一个值是已知。 +selectRole.label=选择角色 +selectRole.tooltip=在左边文本框输入角色或点击这个按钮浏览并选择您想要的角色。 +tokenClaimName.label=Token申请名 +tokenClaimName.tooltip=token中加入的申请者名. 这可以是个完整的分级信息例如 'address.street'. 这种情况下,会生成一个复杂的json回复 +jsonType.label=申请 JSON 的类型 +jsonType.tooltip=用来展现申请的JSON 类型 long, int, boolean, 和 String 是有效值 +includeInIdToken.label =添加到ID令牌 +includeInIdToken.tooltip =是否应将声明添加到ID令牌? +includeInAccessToken.label =添加到访问令牌 +includeInAccessToken.tooltip =是否应该将声明添加到访问令牌? +includeInUserInfo.label =添加到userinfo +includeInUserInfo.tooltip =是否应该将声明添加到userinfo? +usermodel.clientRoleMapping.clientId.label =客户端ID +usermodel.clientRoleMapping.clientId.tooltip =角色映射的客户端ID +usermodel.clientRoleMapping.rolePrefix.label =客户端角色前缀 +usermodel.clientRoleMapping.rolePrefix.tooltip =每个客户端角色的前缀(可选)。 +usermodel.realmRoleMapping.rolePrefix.label = Realm角色前缀 +usermodel.realmRoleMapping.rolePrefix.tooltip =每个领域角色的前缀(可选)。 +sectorIdentifierUri.label =扇区标识符URI +sectorIdentifierUri.tooltip =使用成对子值和支持的提供程序动态客户端注册应使用sector_identifier_uri参数。它为一组在共同管理控制下的网站提供了一种独立于各个域名的具有一致的成对子值的方法。它还为客户端更改redirect_uri域而不必重新注册其所有用户提供了一种方法。 +pairwiseSubAlgorithmSalt.label = Salt +pairwiseSubAlgorithmSalt.tooltip =计算成对主体标识符时使用的盐。如果留空,将产生盐。 + + + +# client details +clients.tooltip=客户端是域中受信任的应用程序和web应用. 这些程序可以发起登录.您也可以定义应用的角色。 +search.placeholder=搜索... +create=创建 +import=导入 +client-id=客户端 ID +base-url=根 URL +actions=操作 +not-defined=未定义 +edit=编辑 +delete=删除 +no-results=无记录 +no-clients-available=无可用客户 +add-client=添加客户端 +select-file=选择文件 +view-details=查看详情 +clear-import=清除导入 +client-id.tooltip =指定在URI和令牌中引用的ID。例如“my-client”。对于SAML,这也是authn请求的预期发放者值 +client.name.tooltip =指定客户端的显示名称。例如“我的客户端”。支持本地化值的键。例如\\uff1a$ {my_client} +client.enabled.tooltip =禁用客户端无法启动登录或获取访问令牌。 +consent-required =同意必需 +consent-required.tooltip =如果已启用的用户必须同意客户端访问。 +client-protocol =客户端协议 +client-protocol.tooltip ='OpenID connect'允许客户端基于授权服务器执行的认证来验证最终用户的身份。'SAML'启用基于Web的身份验证和授权方案,包括跨域单点登录(SSO),并使用包含断言的安全令牌传递信息。 +access-type =访问类型 +access-type.tooltip ='机密'客户端需要一个秘密启动登录协议。 “公共”客户不需要一个秘密。 “仅承载”客户端是从不启动登录的Web服务。 +standard-flow-enabled =启用标准流程 +standard-flow-enabled.tooltip =这使标准的基于OpenID Connect重定向的身份验证与授权码。根据OpenID Connect或OAuth2规范,这将支持此客户端的“授权代码流”。 +implicit-flow-enabled =启用隐式流 +implicit-flow-enabled.tooltip =这启用对无授权代码的基于OpenID Connect重定向的身份验证的支持。根据OpenID Connect或OAuth2规范,这将支持此客户端的“隐式流”。 +direct-access-grants-enabled =启用直接访问授权 +direct-access-grants-enabled.tooltip =这启用对直接访问授权的支持,这意味着客户端可以访问用户的用户名/密码,并直接与Keycloak服务器交换访问令牌。在OAuth2规范方面,这允许支持此客户端的“资源所有者密码凭据授权”。 +service-accounts-enabled =启用服务帐户 +service-accounts-enabled.tooltip =允许您向Keycloak验证此客户端并检索专用于此客户端的访问令牌。在OAuth2规范方面,这将支持此客户端的“客户端凭据授予”。 +include-authnstatement = Include AuthnStatement +include-authnstatement.tooltip =是否应该在登录响应中包含指定方法和时间戳的语句? +sign-documents =签署文件 +sign-documents.tooltip = SAML文档是否应该由领域签名? +sign-documents-redirect-enable-key-info-ext =优化REDIRECT签名密钥查找 +sign-documents-redirect-enable-key-info-ext.tooltip =在由Keycloak适配器保护的SP的REDIRECT绑定中签名SAML文档时,如果签名密钥的ID包含在元素中的SAML协议消息中?这将优化签名的验证,因为验证方使用单个密钥,而不是尝试每个已知密钥进行验证。 +sign-assertions =符号断言 +sign-assertions.tooltip = SAML文档中的断言是否应该签名?如果文档已签署,则不需要此设置。 +signature-algorithm =签名算法 +signature-algorithm.tooltip =用于签署文档的签名算法。 +canonicalization-method =规范化方法 +canonicalization-method.tooltip = XML签名的规范化方法。 +encrypt-assertions =加密断言 +encrypt-assertions.tooltip =是否应使用AES通过客户端的公钥对SAML断言进行加密? +client-signature-required =需要客户端签名 +client-signature-required.tooltip =客户端是否签署了saml请求和响应?他们应该验证吗? +force-post-binding =强制POST绑定 +force-post-binding.tooltip =始终对POST响应使用POST绑定。 +front-channel-logout =前通道注销 +front-channel-logout.tooltip =当为true时,注销需要浏览器重定向到客户端。当为false时,服务器对注销执行后台调用。 +force-name-id-format =强制名称ID格式 +force-name-id-format.tooltip =忽略请求的NameID主题格式并使用管理控制台配置的。 +name-id-format =名称ID格式 +name-id-format.tooltip =要用于主题的名称ID格式。 +root-url =根URL +root-url.tooltip =附加到相对URL的根URL +valid-redirect-uris =有效的重定向URI +valid-redirect-uris.tooltip =浏览器可以在成功登录或注销后重定向到的有效URI模式。允许使用简单通配符,即“http://example.com/*”。也可以指定相对路径,即/ my / relative / path / *。相对路径是相对于客户端根URL的,如果没有指定,则使用auth服务器根URL。对于SAML,如果您依赖嵌入登录请求的使用者服务URL,则必须设置有效的URI模式。 +base-url.tooltip =当auth服务器需要重定向或链接回客户端时使用的默认URL。 +admin-url =管理员网址 +admin-url.tooltip =客户端管理界面的URL。如果客户端支持适配器REST API,请设置此选项。此REST API允许auth服务器推送吊销策略和其他管理任务。通常将此设置为客户端的基本URL。 +master-saml-processing-url =主SAML处理URL +master-saml-processing-url.tooltip =如果配置,此URL将用于每次绑定到SP的断言使用者和单一注销服务。这可以对细粒度SAML端点配置中的每个绑定和服务单独进行覆盖。 +idp-sso-url-ref = IDP发起的SSO URL名称 +idp-sso-url-ref.tooltip =当您想要进行IDP发起的SSO时,引用客户端的URL片段名称。留下此空将禁用IDP启动的SSO。您将从浏览器引用的URL为:{server-root} / realms / {realm} / protocol / saml / clients / {client-url-name} +idp-sso-relay-state = IDP发起的SSO中继状态 +idp-sso-relay-state.tooltip =当您想要执行IDP发起的SSO时,要使用SAML请求发送的中继状态。 +web-origins = Web起源 +web-origins.tooltip =允许的CORS起点。要允许有效重定向URI的所有来源,请添加“+”。允许所有起点添加'*'。 +fine-oidc-endpoint-conf = Fine Grain OpenID连接配置 +fine-oidc-endpoint-conf.tooltip =展开此部分以配置与OpenID Connect协议相关的此客户端的高级设置 +user-info-signed-response-alg =用户信息签名的响应算法 +user-info-signed-response-alg.tooltip =用于签名的用户信息端点响应的JWA算法。如果设置为“unsigned”,则用户信息响应将不会被签名,并将以application / json格式返回。 +request-object-signature-alg =请求对象签名算法 +request-object-signature-alg.tooltip = JWA算法,客户端在发送由'request'或'request_uri'参数指定的OIDC请求对象时需要使用。如果设置为“any”,则Request对象可以由任何算法(包括“none”)签名。 +fine-saml-endpoint-conf =细粒度SAML端点配置 +fine-saml-endpoint-conf.tooltip =展开此部分以配置Assertion Consumer和单一注销服务的确切URL。 +assertion-consumer-post-binding-url =断言使用者服务POST绑定URL +assertion-consumer-post-binding-url.tooltip = SAML POST绑定客户端断言使用者服务的URL(登录响应)。如果您没有此绑定的URL,则可以将此字段留空。 +assertion-consumer-redirect-binding-url =断言使用者服务重定向绑定URL +assertion-consumer-redirect-binding-url.tooltip = SAML重定向客户端断言使用者服务的绑定URL(登录响应)。如果您没有此绑定的URL,则可以将此字段留空。 +logout-service-post-binding-url =注销服务POST绑定URL +logout-service-post-binding-url.tooltip = SAML POST绑定客户端单一注销服务的URL。如果使用不同的绑定,则可以将此留空 +logout-service-redir-binding-url =注销服务重定向绑定URL +logout-service-redir-binding-url.tooltip = SAML重定向客户端单一注销服务的绑定URL。如果使用不同的绑定,则可以将此留空。 + +#client import +import-client =导入客户端 +format-option =格式选项 +select-format =选择格式 +import-file =导入文件 + +#client tabs +settings =设置 +credentials =凭据 +saml-keys = SAML键 +roles =角色 +mappers = Mappers +mappers.tooltip =协议映射器对令牌和文档执行转换。他们可以做一些事情,例如将用户数据映射到协议声明中,或者只是转换客户端和身份验证服务器之间的任何请求。 +scope =作用域 +scope.tooltip =作用域映射允许您限制哪些用户角色映射包含在客户端请求的访问令牌中。 +sessions.tooltip =查看此客户端的活动会话。允许您查看哪些用户处于活动状态,以及他们何时登录。 +offline-access =离线访问 +offline-access.tooltip =查看此客户端的离线会话。允许您查看哪些用户检索离线令牌以及何时检索离线令牌。要撤销客户端的所有令牌,请转到撤销选项卡,并将不早于值设置到现在。 +clustering =聚类 +installation =安装 +installation.tooltip =用于生成各种客户端适配器配置格式的帮助程序实用程序,您可以下载或剪切和粘贴以配置您的客户端。 +service-account-roles =服务帐户角色 +service-account-roles.tooltip =允许您为专用于此客户端的服务帐户验证角色映射。 + +# client credentials +client-authenticator =客户端认证器 +client-authenticator.tooltip =客户端身份验证器用于认证此客户端对Keycloak服务器 +certificate.tooltip =客户端发出的验证JWT的客户端证书,由客户端私钥从您的密钥库签名。 +publicKey.tooltip =由客户端发出并由客户端私钥签署的validate JWT的公钥。 +no-client-certificate-configured =未配置客户端证书 +gen-new-keys-and-cert =生成新密钥和证书 +import-certificate =导入证书 +gen-client-private-key =生成客户端私钥 +generate-private-key =生成私钥 +kid =孩子 +kid.tooltip =来自导入的JWKS的客户端公钥的KID(密钥ID)。 +use-jwks-url =使用JWKS URL +use-jwks-url.tooltip =如果开关打开,那么将从给定的JWKS URL下载客户端公钥。这允许很大的灵活性,因为当客户端生成新的密钥对时,新密钥将总是重新下载。如果交换机关闭,则使用来自Keycloak DB的公钥(或证书),因此当客户端密钥更改时,您总是需要将新密钥(或证书)导入到Keycloak数据库。 +jwks-url = JWKS URL +jwks-url.tooltip =存储JWK格式的客户端密钥的URL。有关更多详细信息,请参阅JWK规范。如果您使用带有“jwt”凭据的keycloak客户端适配器,那么您可以使用带有'/ k_jwks'后缀的应用程序的URL。例如“http://www.myhost.com/myapp/k_jwks”。 +archive-format =归档格式 +archive-format.tooltip = Java密钥库或PKCS12归档格式。 +key-alias =密钥别名 +key-alias.tooltip =存档您的私钥和证书的别名。 +key-password =密钥密码 +key-password.tooltip =访问存档中私钥的密码 +store-password =存储密码 +store-password.tooltip =访问归档本身的密码 +generate-and-download =生成和下载 +client-certificate-import =客户端证书导入 +import-client-certificate =导入客户端证书 +jwt-import.key-alias.tooltip =您的证书的归档别名。 +secret =秘密 +regenerate-secret =重生秘密 +registrationAccessToken =注册访问令牌 +registrationAccessToken.regenerate =重新生成注册访问令牌 +registrationAccessToken.tooltip =注册访问令牌为客户端提供对客户端注册服务的访问。 +add-role =添加角色 +role-name =角色名称 +composite = Composite +description =描述 +no-client-roles-available =没有可用的客户端角色 +scope-param-required = Scope Param必需 +scope-param-required.tooltip =只有在授权/令牌请求期间使用具有角色名称的scope参数时,才会授予此角色。 +composite-roles =复合角色 +composite-roles.tooltip =当将此角色(un)分配给用户时,与其关联的任何角色将被隐式分配(un)。 +realm-roles = Realm角色 +available-roles =可用角色 +add-selected =添加选择 +associated-roles =关联角色 +composite.associated-realm-roles.tooltip =与此组合角色关联的领域级角色。 +composite.available-realm-roles.tooltip =您可以关联到此组合角色的领域级角色。 +remove-selected =删除所选项 +client-roles =客户端角色 +select-client-to-view-roles =选择客户端以查看客户端的角色 +available-roles.tooltip =您可以与此组合角色关联的来自此客户端的角色。 +client.associated-roles.tooltip =与此组合角色关联的客户端角色。 +add-builtin =添加内置 +category = Category +type = Type +no-mappers-available =没有可用的映射器 +add-builtin-protocol-mappers =添加内置协议映射器 +add-builtin-protocol-mapper =添加内置协议映射器 +scope-mappings =范围映射 +full-scope-allowed =允许的全范围 +full-scope-allowed.tooltip =允许您禁用所有限制。 +scope.available-roles.tooltip =可以分配到范围的领域级角色。 +assigned-roles =分配的角色 +assigned-roles.tooltip =分配给范围的领域级角色。 +effective-roles =有效角色 +realm.effective-roles.tooltip =可能已从组合角色继承的分配的领域级角色。 +select-client-roles.tooltip =选择客户端以查看客户端的角色 +assign.available-roles.tooltip =可分配的客户端角色。 +client.assigned-roles.tooltip =分配的客户端角色。 +client.effective-roles.tooltip =可能已从组合角色继承的分配的客户端角色。 +basic-configuration =基本配置 +node-reregistration-timeout =节点重新注册超时 +node-reregistration-timeout.tooltip =指定注册的客户端群集节点重新注册的最大时间的间隔。如果集群节点在此时间内不会向Keycloak发送重新注册请求,则它将从Keycloak注销 +registered-cluster-nodes =注册的集群节点 +register-node-manually =手动注册节点 +test-cluster-availability =测试集群可用性 +last-registration =最后一次注册 +node-host =节点主机 +no-registered-cluster-nodes =没有注册的集群节点可用 +cluster-nodes =集群节点 +add-node =添加节点 +active-sessions.tooltip =此客户端的活动用户会话的总数。 +show-sessions =显示会话 +show-sessions.tooltip =警告,这是一个潜在昂贵的操作,取决于活动会话的数量。 +user =用户 +from-ip =从IP +session-start =会话开始 +first-page=第一页 +previous-page=上一页 +next-page =下一页 +client-revoke.not-before.tooltip =撤销此客户端在此日期之前发出的任何令牌。 +client-revoke.push.tooltip =如果为此客户端配置了管理URL,请将此策略推送到该客户端。 +select-a-format =选择格式 +download=下载 +offline-tokens =脱机令牌 +offline-tokens.tooltip =此客户端的脱机令牌的总数。 +show-offline-tokens =显示脱机令牌 +show-offline-tokens.tooltip =警告,这是一个潜在的昂贵的操作,取决于脱机令牌的数量。 +token-issued =发出的令牌 +last-access=最后访问 +last-refresh =上次刷新 +key-export =密钥导出 +key-import =密钥导入 +export-saml-key =导出SAML密钥 +import-saml-key =导入SAML密钥 +realm-certificate-alias =域证书别名 +realm-certificate-alias.tooltip = Realm证书也存储在归档中。这是它的别名。 +signing-key =签名密钥 +saml-signing-key = SAML签名密钥。 +private-key =私钥 +generate-new-keys =生成新密钥 +export =导出 +encryption-key =加密密钥 +saml-encryption-key.tooltip = SAML加密密钥。 +service-accounts =服务帐户 +service-account.available-roles.tooltip =可以分配给服务帐户的领域级角色。 +service-account.assigned-roles.tooltip =分配给服务帐户的领域级角色。 +service-account-is-not-enabled-for = {{client}}未启用服务帐户 +create-protocol-mappers =创建协议映射器 +create-protocol-mapper =创建协议映射器 +protocol =协议 +protocol.tooltip =协议... +id = ID +mapper.name.tooltip =映射器的名称。 +mapper.consent-required.tooltip =授予临时访问权限时,用户是否同意向客户端提供此数据? +consent-text =同意文本 +consent-text.tooltip =在同意页面上显示的文本。 +mapper-type =映射器类型 +mapper-type.tooltip =映射程序的类型 +# realm identity providers +identity-providers =身份提供者 +table-of-identity-providers =身份提供程序表 +add-provider.placeholder =添加提供程序... +provider =提供程序 +gui-order = GUI顺序 +first-broker-login-flow =第一登录流 +post-broker-login-flow =登录后流程 +redirect-uri =重定向URI +redirect-uri.tooltip =配置身份提供程序时要使用的重定向uri。 +alias =别名 +display-name =显示名称 +identity-provider.alias.tooltip =别名唯一标识身份提供者,它也用于构建重定向uri。 +identity-provider.display-name.tooltip =身份提供者的友好名称。 +identity-provider.enabled.tooltip =启用/禁用此身份提供程序。 +authenticate-by-default =默认验证 +identity-provider.authenticate-by-default.tooltip =指示在显示登录屏幕之前是否应默认尝试此提供程序进行身份验证。 +store-tokens =存储令牌 +identity-provider.store-tokens.tooltip =如果在验证用户后必须存储令牌,则启用/禁用。 +stored-tokens-readable=存储令牌可读 +identity-provider.stored-tokens-readable.tooltip =如果新用户可以读取任何存储的令牌,则启用/禁用。这将分配broker.read-token角色。 +disableUserInfo =禁用用户信息 +identity-provider.disableUserInfo.tooltip =禁用用户信息服务的使用以获取其他用户信息?默认是使用此OIDC服务。 +userIp =使用userIp参数 +identity-provider.google-userIp.tooltip =在Google的用户信息服务上调用时设置'userIp'查询参数。这将使用用户的IP地址。如果Google正在限制对用户信息服务的访问,则此选项非常有用。 +update-profile-on-first-login =首次登录时更新配置文件 +on =开 +on-missing-info =缺少信息 +off =关闭 +update-profile-on-first-login.tooltip =定义用户在首次登录期间必须更新其配置文件的条件。 +trust-email =信任电子邮件 +trust-email.tooltip =如果启用,则此提供商提供的电子邮件不会验证,即使已启用对领域的验证。 +gui-order.tooltip = GUI中提供者的定义顺序的数字(例如,在登录页面上)。 +first-broker-login-flow.tooltip =认证流的别名,在首次使用此身份提供者登录后触发。术语“首次登录”意味着尚未存在与认证身份提供商帐户链接的Keycloak帐户。 +post-broker-login-flow.tooltip =认证流的别名,在每次使用此身份提供程序登录后触发。如果您需要对通过此身份提供程序(例如OTP)验证的每个用户进行额外验证,这将非常有用。如果您不希望在使用此身份提供商登录后触发任何其他验证器,请将此空白留空。还要注意,认证者实现必须假定用户已经在ClientSession中设置为身份提供者已经设置。 +openid-connect-config = OpenID连接配置 +openid-connect-config.tooltip = OIDC SP和外部IDP配置。 +authorization-url =授权URL +authorization-url.tooltip =授权网址。 +token-url =令牌URL +token-url.tooltip =令牌URL。 +logout-url =注销URL +identity-provider.logout-url.tooltip =用于从外部IDP注销用户的会话终结点。 +backchannel-logout = Backchannel注销 +backchannel-logout.tooltip =外部IDP是否支持反向通道注销? +user-info-url =用户信息URL +user-info-url.tooltip =用户信息网址。这是可选的。 +identity-provider.client-id.tooltip =在身份提供者中注册的客户端或客户端标识符。 +client-secret =客户端密钥 +show-secret =显示密码 +hide-secret =隐藏秘密 +client-secret.tooltip =在身份提供程序中注册的客户端或客户端机密。 +issuer =发行人 +issuer.tooltip =响应的发行者的发行者标识符。如果未提供,将不执行验证。 +default-scopes =默认范围 +identity-provider.default-scopes.tooltip =在请求授权时要发送的作用域。它可以是以空格分隔的范围列表。默认为'openid'。 +prompt =提示 +unspecified.option =未指定 +none.option = none +consent.option =同意 +login.option = login +select-account.option = select_account +prompt.tooltip =指定授权服务器是否提示最终用户重新认证和同意。 +validate-signatures =验证签名 +identity-provider.validate-signatures.tooltip =启用/禁用外部IDP签名的签名验证。 +identity-provider.use-jwks-url.tooltip =如果交换机打开,那么将从给定的JWKS URL下载身份提供程序公钥。这允许很大的灵活性,因为当身份提供商生成新的密钥对时,新密钥将总是被重新下载。如果交换机关闭,则使用来自Keycloak DB的公钥(或证书),因此当身份提供商密钥更改时,您始终需要将新密钥导入到Keycloak数据库。 +identity-provider.jwks-url.tooltip =存储JWK格式的身份提供者密钥的URL。有关更多详细信息,请参阅JWK规范。如果你使用外部keycloak身份提供者,那么你可以使用像http:// broker-keycloak:8180 / auth / realms / test / protocol / openid-connect / certs这样的URL,假设你的代理keycloak是运行在http: / broker-keycloak:8180',它的境界是'test'。 +validating-public-key =验证公钥 +identity-provider.validating-public-key.tooltip =必须用于验证外部IDP签名的PEM格式的公钥。 +import-external-idp-config =导入外部IDP配置 +import-external-idp-config.tooltip =允许您从配置文件加载外部IDP元数据或从URL下载它。 +import-from-url =从URL导入 +identity-provider.import-from-url.tooltip =从远程IDP发现描述符导入元数据。 +import-from-file =从文件导入 +identity-provider.import-from-file.tooltip =从下载的IDP发现描述符导入元数据。 +saml-config = SAML配置 +identity-provider.saml-config.tooltip = SAML SP和外部IDP配置。 +single-signon-service-url =单点登录服务URL +saml.single-signon-service-url.tooltip =必须用于发送认证请求(SAML AuthnRequest)的URL。 +single-logout-service-url =单一注销服务URL +saml.single-logout-service-url.tooltip =必须用于发送注销请求的网址。 +nameid-policy-format = NameID策略格式 +nameid-policy-format.tooltip =指定与名称标识符格式相对应的URI引用。默认为urn:oasis:names:tc:SAML:2.0:nameid-format:persistent。 +http-post-binding-response = HTTP-POST绑定响应 +http-post-binding-response.tooltip =指示是否使用HTTP-POST绑定响应请求。如果为false,将使用HTTP-REDIRECT绑定。 +http-post-binding-for-authn-request = HTTP-POST AuthnRequest的绑定 +http-post-binding-for-authn-request.tooltip =指示是否必须使用HTTP-POST绑定发送AuthnRequest。如果为false,将使用HTTP-REDIRECT绑定。 +want-authn-requests-signed =需要AuthnRequests签名 +want-authn-requests-signed.tooltip =指示身份提供者是否期望签署AuthnRequest。 +force-authentication =强制验证 +identity-provider.force-authentication.tooltip =指示身份提供者是否必须直接认证演示者,而不是依赖以前的安全上下文。 +validate-signature =验证签名 +saml.validate-signature.tooltip =启用/禁用SAML响应的签名验证。 +validating-x509-certificate =验证X509证书 +validating-x509-certificate.tooltip =必须用于检查签名的PEM格式的证书。可以输入多个证书,用逗号(,)分隔。 +saml.import-from-url.tooltip =从远程IDP SAML实体描述符导入元数据。 +social.client-id.tooltip =向身份提供者注册的客户机标识符。 +social.client-secret.tooltip =向身份提供者注册的客户端密钥。 +social.default-scopes.tooltip =在请求授权时要发送的作用域。有关可能的值,分隔符和默认值,请参阅文档。 +key = Key +stackoverflow.key.tooltip =从Stack Overflow客户端注册获取的密钥。 + +# User federation +sync-ldap-roles-to-keycloak =将LDAP角色同步到Keycloak +sync-keycloak-roles-to-ldap =同步Keycloak到LDAP的角色 +sync-ldap-groups-to-keycloak =将LDAP组同步到Keycloak +sync-keycloak-groups-to-ldap =同步Keycloak组到LDAP + +realms =领域 +realm = Realm + +identity-provider-mappers =身份提供者映射器 +create-identity-provider-mapper =创建身份提供者映射器 +add-identity-provider-mapper =添加身份提供者映射器 +client.description.tooltip =指定客户端的描述。例如“我的客户端的时间表”。支持本地化值的键。例如\\uff1a$ {my_client_description} + +expires =到期 +expiration =到期 +expiration.tooltip =指定令牌有效的时间 +count = Count +count.tooltip =指定可以使用令牌创建多少个客户端 +remainingCount =剩余计数 +created =已创建 +back =返回 +initial-access-tokens=初始接入令牌 +add-initial-access-tokens =添加初始访问令牌 +initial-access-token=初始接入令牌 +initial-access.copyPaste.tooltip =在导航离开此页面之前复制/粘贴初始访问令牌,因为它不可能稍后检索 +continue =继续 +initial-access-token.confirm.title =复制初始访问令牌 +initial-access-token.confirm.text =在确认之前,请复制并粘贴初始访问令牌,因为以后无法检索 +no-initial-access-available =没有初始访问令牌可用 + +client-reg-policies =客户端注册策略 +client-reg-policy.name.tooltip =显示策略的名称 +anonymous-policies =匿名访问策略 +anonymous-policies.tooltip =当客户端注册服务由未经身份验证的请求调用时,使用这些策略。这意味着请求不包含初始接入令牌或承载令牌。 +auth-policies =验证的访问策略 +auth-policies.tooltip =当通过认证请求调用客户端注册服务时使用这些策略。这意味着请求包含初始接入令牌或承载令牌。 +policy-name =策略名称 +no-client-reg-policies-configured =无客户端注册策略 +trusted-hosts.label =受信任的主机 +trusted-hosts.tooltip =主机列表,它们是受信任的,并且允许调用客户端注册服务和/或用作客户端URI的值。您可以使用主机名或IP地址。如果您在开头使用星号(例如“* .example.com”),则整个域example.com将受信任。 +host-sending-registration-request-must-match.label =主机发送客户端注册请求必须匹配 +host-sending-registration-request-must-match.tooltip =如果开启,则只要客户端注册服务是从某个受信任的主机或域发送的,就允许任何请求。 +client-uris-must-match.label =客户端URI必须匹配 +client-uris-must-match.tooltip =如果启用,则所有客户端URI(重定向URI和其他)只有在它们匹配一些受信任的主机或域时才允许。 +allowed-protocol-mappers.label =允许的协议映射器 +allowed-protocol-mappers.tooltip =允许的协议映射器提供程序的白名单。如果尝试注册客户端,其中包含一些未列入白名单的协议映射器,则注册请求将被拒绝。 +consent-required-for-all-mappers.label =需要同意Mappers +consent-required-for-all-mappers.tooltip =如果打开,则所有新注册的协议映射器将自动具有consentRequired开启。这意味着用户将需要批准同意屏幕。注意:只有在客户端已启用consentRequired开关时,才会显示同意屏幕。所以通常很好地使用这个开关与需要同意的政策。 +allowed-client-templates.label =允许的客户端模板 +allowed-client-templates.tooltip =客户端模板的白名单,可以在新注册的客户端上使用。尝试向某个未列入白名单的客户端模板注册客户端将被拒绝。默认情况下,白名单为空,因此不允许任何客户端模板。 +max-clients.label =每个领域的最大客户端 +max-clients.tooltip =如果域中现有客户端的数量等于或大于配置的限制,将不允许注册新客户端。 + +client-templates =客户端模板 +client-templates.tooltip =客户机模板允许您定义在多个客户机之间共享的公共配置 + +groups =组 + +group.add-selected.tooltip =可以分配给组的领域角色。 +group.assigned-roles.tooltip =映射到组的Realm角色 +group.effective-roles.tooltip =所有领域角色映射。这里的一些角色可能从映射组合角色继承。 +group.available-roles.tooltip =可从此客户端分配角色。 +group.assigned-roles-client.tooltip =此客户端的角色映射。 +group.effective-roles-client.tooltip =此客户端的角色映射。这里的一些角色可能从映射组合角色继承。 + +default-roles =默认角色 +no-realm-roles-available =没有领域角色可用 + +users =用户 +user.add-selected.tooltip =可以分配给用户的领域角色。 +user.assigned-roles.tooltip =映射到用户的Realm角色 +user.effective-roles.tooltip =所有领域角色映射。这里的一些角色可能从映射组合角色继承。 +user.available-roles.tooltip =可从此客户端分配角色。 +user.assigned-roles-client.tooltip =此客户端的角色映射。 +user.effective-roles-client.tooltip =此客户端的角色映射。这里的一些角色可能从映射组合角色继承。 +default.available-roles.tooltip =可以分配的领域级角色。 +realm-default-roles = Realm默认角色 +realm-default-roles.tooltip =分配给新用户的领域级别角色。 +default.available-roles-client.tooltip =可作为默认值分配的来自此客户端的角色。 +client-default-roles =客户端默认角色 +client-default-roles.tooltip =来自此客户端的作为默认角色分配的角色。 +composite.available-roles.tooltip =您可以关联到此组合角色的领域级角色。 +composite.associated-roles.tooltip =与此组合角色关联的领域级角色。 +composite.available-roles-client.tooltip =您可以与此组合角色关联的角色。 +composite.associated-roles-client.tooltip =与此组合角色关联的客户端角色。 +partial-import =部分导入 +partial-import.tooltip =部分导入允许您从先前导出的json文件导入用户,客户端和其他资源。 +file = File +exported-json-file =导出的json文件 +import-from-realm =从领域导入 +import-users =导入用户 +import-groups =导入组 +import-clients =导入客户端 +import-identity-providers =导入身份提供者 +import-realm-roles =导入领域角色 +import-client-roles =导入客户端角色 +if-resource-exists =如果资源存在 +fail =失败 +skip =跳过 +overwrite =覆盖 +if-resource-exists.tooltip =指定在尝试导入已存在的资源时应该做什么。 + +action = Action +role-selector =角色选择器 +realm-roles.tooltip =可以选择的领域角色。 + +select-a-role =选择角色 +select-realm-role =选择领域角色 +client-roles.tooltip =可以选择的客户端角色。 +select-client-role =选择客户端角色 + +client-template =客户端模板 +client-template.tooltip =此客户端继承配置的客户端模板 +client-saml-endpoint =客户端SAML端点 +add-client-template =添加客户端模板 + +manage =管理 +authentication =验证 +user-federation =用户联合 +user-storage =用户存储 +events =事件 +realm-settings =领域设置 +configure =配置 +select-realm =选择领域 +add =添加 + +client-template.name.tooltip =客户端模板的名称。在领域中必须是唯一的 +client-template.description.tooltip =客户端模板的描述 +client-template.protocol.tooltip =此客户端模板提供的SSO协议配置 + +add-user-federation-provider =添加用户联合提供程序 +add-user-storage-provider =添加用户存储提供程序 +required-settings =必需的设置 +provider-id =提供商ID +console-display-name =控制台显示名称 +console-display-name.tooltip =在管理控制台中链接时显示提供程序的名称。 +priority =优先级 +priority.tooltip =执行用户查找时提供程序的优先级。最低优先。 +sync-settings =同步设置 +periodic-full-sync =周期性完全同步 +periodic-full-sync.tooltip =是否应该启用提供程序用户到Keycloak的周期性完全同步 +full-sync-period =完全同步周期 +full-sync-period.tooltip =完全同步的周期(以秒为单位) +periodic-changed-users-sync =定期更改的用户同步 +periodic-changed-users-sync.tooltip =应该启用更改的或新创建的提供程序用户到Keycloak的周期性同步 +changed-users-sync-period =更改的用户同步期间 +changed-users-sync-period.tooltip =用于同步更改的或新创建的提供程序用户的时间段(以秒为单位) +synchronize-changed-users =同步已更改的用户 +synchronize-all-users =同步所有用户 +kerberos-realm = Kerberos领域 +kerberos-realm.tooltip = kerberos域的名称。例如FOO.ORG +server-principal =服务器主体 +server-principal.tooltip = HTTP服务的服务器主体的完整名称,包括服务器和域名。例如HTTP /host.foo.org@FOO.ORG +keytab = KeyTab +keytab.tooltip =包含服务器主体的凭据的Kerberos KeyTab文件的位置。例如/etc/krb5.keytab +debug = Debug +debug.tooltip =启用/禁用调试日志到Krb5LoginModule的标准输出。 +allow-password-authentication =允许密码验证 +allow-password-authentication.tooltip =启用/禁用Kerberos数据库的用户名/密码身份验证的可能性 +edit-mode =编辑模式 +edit-mode.tooltip = READ_ONLY表示不允许更新密码,用户始终使用Kerberos密码进行身份验证。 UNSYNCED表示用户可以在Keycloak数据库中更改其密码,然后将使用此密码而不是Kerberos密码 +ldap.edit-mode.tooltip = READ_ONLY是只读LDAP存储。可写意味着数据将按需同步回LDAP。 UNSYNCED表示将导入用户数据,但不会同步回LDAP。 +update-profile-first-login =更新配置文件首次登录 +update-profile-first-login.tooltip =首次登录时更新配置文件 +sync-registrations =同步注册 +ldap.sync-registrations.tooltip =是否应在LDAP存储中创建新创建的用户?选择提供程序以同步新用户的优先级效果。 +vendor =供应商 +ldap.vendor.tooltip = LDAP供应商(提供者) +username-ldap-attribute =用户名LDAP属性 +ldap-attribute-name-for-username =用户名的LDAP属性名称 +username-ldap-attribute.tooltip = LDAP属性的名称,映射为Keycloak用户名。对于许多LDAP服务器供应商,它可以是“uid”。对于活动目录,可以是“sAMAccountName”或“cn”。应该为要从LDAP导入到Keycloak的所有LDAP用户记录填充该属性。 +rdn-ldap-attribute = RDN LDAP属性 +ldap-attribute-name-for-user-rdn =用户RDN的LDAP属性名称 +rdn-ldap-attribute.tooltip = LDAP属性的名称,用作典型用户DN的RDN(top属性)。通常它与用户名LDAP属性相同,但不是必需的。例如对于Active目录,当username属性可能是“sAMAccountName”时,通常使用“cn”作为RDN属性。 +uuid-ldap-attribute = UUID LDAP属性 +ldap-attribute-name-for-uuid = UUID的LDAP属性名称 +uuid-ldap-attribute.tooltip = LDAP属性的名称,用作LDAP中对象的唯一对象标识符(UUID)。对于许多LDAP服务器供应商,它的'entryUUID',但有些是不同的。例如对于Active目录,它应该是'objectGUID'。如果您的LDAP服务器确实不支持UUID的概念,您可以使用任何其他属性,它应该在树中的LDAP用户中是唯一的。例如“uid”或“entryDN”。 +user-object-classes =用户对象类 +ldap-user-object-classes.placeholder = LDAP用户对象类(以逗号分隔) + +ldap-connection-url = LDAP连接URL +ldap-users-dn = LDAP用户DN +ldap-bind-dn = LDAP绑定DN +ldap-bind-credentials = LDAP绑定凭据 +ldap-filter = LDAP过滤器 +ldap.user-object-classes.tooltip = LDAP中用户的LDAP objectClass属性的所有值除以逗号。例如:'inetOrgPerson,organizationalPerson'。新创建的Keycloak用户将被写入具有所有这些对象类的LDAP,并且只要现有的LDAP用户记录包含所有这些对象类,就会找到它们。 + +connection-url =连接URL +ldap.connection-url.tooltip =与LDAP服务器的连接URL +test-connection =测试连接 +users-dn =用户DN +ldap.users-dn.tooltip =用户所在的LDAP树的完整DN。此DN是LDAP用户的父级。它可以是例如'ou = users,dc = example,dc = com',假设您的典型用户将有DN像'uid = john,ou = users,dc = example,dc = com' +authentication-type =认证类型 +ldap.authentication-type.tooltip = LDAP认证类型。现在只有“无”(匿名LDAP身份验证)或“简单”(绑定凭据+绑定密码身份验证)机制可用 +bind-dn =绑定DN +ldap.bind-dn.tooltip = LDAP管理员的DN,Keycloak将使用它来访问LDAP服务器 +bind-credential =绑定凭据 +ldap.bind-credential.tooltip = LDAP管理员的密码 +test-authentication =测试验证 +custom-user-ldap-filter =自定义用户LDAP过滤器 +ldap.custom-user-ldap-filter.tooltip =用于过滤搜索用户的其他LDAP过滤器。如果您不需要额外的过滤器,请留空。确保它以'('开头,以')结束' +search-scope =搜索范围 +ldap.search-scope.tooltip =对于一个级别,我们仅在用户DN指定的DN中搜索用户。对于子树,我们搜索整个他们的子树。有关更多详细信息,请参阅LDAP文档 +use-truststore-spi =使用Truststore SPI +ldap.use-truststore-spi.tooltip =指定LDAP连接是否将使用具有在standalone.xml / domain.xml中配置的信任库的truststore SPI。 “永远”意味着它总是使用它。 “从不”意味着它不会使用它。 '只有ldaps'意味着它将使用,如果你的连接URL使用ldaps。即使未配置standalone.xml / domain.xml,也将使用由“javax.net.ssl.trustStore”属性指定的缺省Java cacerts或证书。 +connection-pooling =连接池 +ldap.connection-pooling.tooltip = Keycloak是否应该使用连接池来访问LDAP服务器 +ldap.pagination.tooltip = LDAP服务器是否支持分页。 +kerberos-integration = Kerberos集成 +allow-kerberos-authentication =允许Kerberos身份验证 +ldap.allow-kerberos-authentication.tooltip =启用/禁用具有SPNEGO / Kerberos令牌的用户的HTTP身份验证。有关已验证用户的数据将从此LDAP服务器进行配置 +use-kerberos-for-password-authentication =使用Kerberos进行密码验证 +ldap.use-kerberos-for-password-authentication.tooltip =使用Kerberos登录模块用于针对Kerberos服务器的身份验证用户名/密码,而不是使用Directory Service API对LDAP服务器进行身份验证 +batch-size =批量大小 +ldap.batch-size.tooltip =在单个事务中要从LDAP导入到Keycloak的LDAP用户的计数。 +ldap.periodic-full-sync.tooltip =是否应该启用LDAP用户到Keycloak的周期性完全同步 +ldap.periodic-changed-users-sync.tooltip =应该启用更改的或新创建的LDAP用户到Keycloak的周期性同步 +ldap.changed-users-sync-period.tooltip =用于同步更改的或新创建的LDAP用户的时间段(以秒为单位) +user-federation-mappers =用户联合映射器 +create-user-federation-mapper =创建用户联合映射器 +add-user-federation-mapper =添加用户联合映射器 +provider-name =提供程序名称 +no-user-federation-providers-configured =未配置用户联合提供程序 +no-user-storage-providers-configured =未配置用户存储提供程序 +add-identity-provider =添加身份提供者 +add-identity-provider-link =添加身份提供商链接 +identity-provider =身份提供者 +identity-provider-user-id =身份提供者用户ID +identity-provider-user-id.tooltip =身份提供者端的用户的唯一ID +identity-provider-username =身份提供者用户名 +identity-provider-username.tooltip =身份提供者端的用户名 +pagination =分页 + +browser-flow =浏览器流 +browser-flow.tooltip =选择要用于浏览器身份验证的流。 +registration-flow =注册流程 +registration-flow.tooltip =选择要用于注册的流。 +direct-grant-flow =直接授权流 +direct-grant-flow.tooltip =选择要用于直接授予身份验证的流。 +reset-credentials =重置凭据 +reset-credentials.tooltip =选择当用户忘记其凭据时要使用的流。 +client-authentication =客户端验证 +client-authentication.tooltip =选择要用于客户端身份验证的流。 +new =新 +copy =复制 +add-execution =添加执行 +add-flow =添加流 +auth-type =认证类型 +requirement=需求 +config = Config +no-executions-available =没有可用的执行 +authentication-flows =认证流 +create-authenticator-config =创建验证器配置 +authenticator.alias.tooltip =配置的名称 +otp-type = OTP类型 +time-based=基于时间的 +counter-based=基于计数器 +otp-type.tooltip = totp是基于时间的一次性密码。 'hotp'是一个计数器基本一次性密码,其中服务器保持一个计数器哈希。 +otp-hash-algorithm = OTP哈希算法 +otp-hash-algorithm.tooltip =应该使用什么散列算法来生成OTP。 +number-of-digits=位数 +otp.number-of-digits.tooltip = OTP有多少位? +look-ahead-window =向前看窗口 +otp.look-ahead-window.tooltip =如果令牌生成器和服务器不在时间同步或计数器同步,服务器应该向多远前进? +initial-counter=初始计数器 +otp.initial-counter.tooltip =初始计数器值应该是什么? +otp-token-period = OTP令牌周期 +otp-token-period.tooltip = OTP令牌有效多少秒?默认为30秒。 +table-of-password-policies =密码策略表 +add-policy.placeholder =添加策略... +policy-type =策略类型 +policy-value =策略值 +admin-events =管理事件 +admin-events.tooltip =显示领域的已保存管理事件。事件与管理员帐户相关,例如领域创建。要启用持久性事件,请转到配置。 +login-events =登录事件 +filter =过滤器 +update =更新 +reset =复位 +operation-types =操作类型 +resource-types =资源类型 +select-operations.placeholder =选择操作... +select-resource-types.placeholder =选择资源类型... +resource-path =资源路径 +resource-path.tooltip =按资源路径过滤。支持通配符'*'匹配路径的单个部分,'**'匹配多个部分。例如,“realms / * / clients / asbc”匹配任何域中具有id asbc的客户端,而“realms / master / **”匹配主域中的任何内容。 +date-(from)= Date(From) +date-(to)=日期(To) +authentication-details =验证详细信息 +ip-address = IP地址 +time=时间 +operation-type =操作类型 +resource-type =资源类型 +auth = Auth +representation =表示 +register=寄存器 +required-action =必需操作 +default-action =默认操作 +auth.default-action.tooltip =如果启用,任何新用户都将分配此必需操作。 +no-required-actions-configured =未配置所需的操作 +defaults-to-id =默认为id +flows=流量 +bindings =绑定 +required-actions =必需操作 +password-policy =密码策略 +otp-policy = OTP策略 +user-groups =用户组 +default-groups =默认组 +groups.default-groups.tooltip =新用户将自动加入的组的集合。 +cut = Cut +paste =粘贴 + +create-group =创建组 +create-authenticator-execution =创建Authenticator执行 +create-form-action-execution =创建表单操作执行 +create-top-level-form =创建顶级表单 +flow.alias.tooltip =指定流的显示名称。 +top-level-flow-type =顶级流类型 +flow.generic = generic +flow.client = client +top-level-flow-type.tooltip =什么样的顶层流是什么?类型“客户端”用于客户端(应用程序)的认证,当通用是为用户和其他 +create-execution-flow =创建执行流 +flow-type =流类型 +flow.form.type = form +flow.generic.type = generic +flow-type.tooltip =它是什么样的形式 +form-provider =表单提供程序 +default-groups.tooltip =新创建或注册的用户将自动添加到这些组 +select-a-type.placeholder =选择一个类型 +available-groups =可用组 +available-groups.tooltip =选择要添加为默认的组。 +value = Value +table-of-group-members =组成员表 +last-name =姓氏 +first-name =名字 +email =电子邮件 +toggle-navigation =切换导航 +manage-account =管理帐户 +sign-out=退出 +server-info =服务器信息 +resource-not-found =资源未找到 ... +resource-not-found.instruction =我们找不到您要找的资源。请确保您输入的网址正确无误。 +go-to-the-home-page =前往首页&raquo; +page-not-found =页面未找到 ... +page-not-found.instruction =我们找不到您要寻找的页面。请确保您输入的网址正确无误。 +events.tooltip =显示领域的已保存事件。事件与用户帐户相关,例如用户登录。要启用持久性事件,请转到配置。 +select-event-types.placeholder =选择事件类型... +events-config.tooltip =显示配置选项以启用用户和管理事件的持久性。 +select-an-action.placeholder =选择操作... +event-listeners.tooltip =配置什么侦听器接收领域的事件。 +login.save-events.tooltip =如果启用的登录事件保存到数据库,使事件可用于管理和帐户管理控制台。 +clear-events.tooltip =删除数据库中的所有事件。 +events.expiration.tooltip =设置事件的到期时间。过期事件将定期从数据库中删除。 +admin-events-settings =管理事件设置 +save-events =保存事件 +admin.save-events.tooltip =如果已启用的管理事件保存到数据库,使事件可用于管理控制台。 +saved-types.tooltip =配置保存的事件类型。 +include-representation =包含表示 +include-representation.tooltip =包含用于创建和更新请求的JSON表示。 +clear-admin-events.tooltip =删除数据库中的所有管理事件。 +server-version =服务器版本 +server-profile =服务器配置文件 +info =信息 +providers =提供者 +server-time =服务器时间 +server-uptime =服务器正常运行时间 +memory =内存 +total-memory =总内存 +free-memory =可用内存 +used-memory =使用的内存 +system = System +current-working-directory =当前工作目录 +java-version = Java版本 +java-vendor = Java供应商 +java-runtime = Java运行时 +java-vm = Java VM +java-vm-version = Java虚拟机版本 +java-home = Java首页 +user-name =用户名 +user-timezone =用户时区 +user-locale =用户区域设置 +system-encoding =系统编码 +operating-system =操作系统 +os-architecture = OS体系结构 +spi = SPI +granted-roles =授予的角色 +granted-protocol-mappers =授予的协议映射器 +additional-grants =附加赠款 +consent-created-date =创建 +consent-last-updated-date =最后更新 +revoke =撤消 +new-password =新密码 +password-confirmation =密码确认 +reset-password =重置密码 +credentials.temporary.tooltip =如果启用,用户需要在下次登录时更改密码 +remove-totp =删除OTP +credentials.remove-totp.tooltip =为用户删除一次性密码生成器。 +reset-actions =复位操作 +credentials.reset-actions.tooltip =发送用户重置操作电子邮件时要执行的操作的集合。 “验证电子邮件”向用户发送电子邮件以验证其电子邮件地址。 “更新个人资料”要求用户输入新的个人信息。 “更新密码”要求用户输入新密码。 '配置OTP'需要设置移动密码生成器。 +reset-actions-email =重置操作电子邮件 +send-email =发送电子邮件 +credentials.reset-actions-email.tooltip =向具有嵌入链接的用户发送电子邮件。单击链接将允许用户执行重置操作。他们不必在此之前登录。例如,将操作设置为更新密码,单击此按钮,用户将无需登录即可更改其密码。 +add-user =添加用户 +created-at =创建于 +user-enabled =用户已启用 +user-enabled.tooltip =禁用的用户无法登录。 +user-temporarily-locked =用户临时锁定 +user-temporarily-locked.tooltip =用户可能由于无法登录太多次而被锁定。 +unlock-user =解锁用户 +federation-link =联合链接 +email-verified =电子邮件验证 +email-verified.tooltip =用户的电子邮件经过验证吗? +required-user-actions =必需的用户操作 +required-user-actions.tooltip =需要用户登录时的操作。“验证电子邮件”向用户发送电子邮件以验证其电子邮件地址。 “更新个人资料”要求用户输入新的个人信息。 “更新密码”要求用户输入新密码。 '配置OTP'需要设置移动密码生成器。 +locale =语言环境 +select-one.placeholder =选择一个... +impersonate =模拟 +impersonate-user =模拟用户 +impersonate-user.tooltip =以此用户身份登录。如果用户与您处于相同的领域,则在您以此用户身份登录之前,当前的登录会话将被注销。 +identity-provider-alias =身份提供者别名 +provider-user-id =提供程序用户ID +provider-username =提供者用户名 +no-identity-provider-links-available =没有可用的身份提供程序链接 +group-membership =组成员资格 +leave =离开 +group-membership.tooltip =组用户是的成员。选择列出的组,然后单击离开按钮退出组。 +membership.available-groups.tooltip =用户可以加入的组。选择一个组,然后单击加入按钮。 +table-of-realm-users =表的Realm用户 +view-all-users =查看所有用户 +unlock-users =解锁用户 +no-users-available =没有可用的用户 +users.instruction =请输入搜索,或点击查看所有用户 +consents=同意 +started =开始 +logout-all-sessions =注销所有会话 +logout =注销 +new-name =新名称 +ok =好的 +attributes =属性 +role-mappings =角色映射 +members =成员 +details =详细 +identity-provider-links =身份提供者链接 +register-required-action =注册所需的操作 +gender =性别 +address = Address +phone =电话 +profile-url =个人资料网址 +picture-url =图片网址 +website =网站 +import-keys-and-cert =导入密钥和证书 +import-keys-and-cert.tooltip =上传客户端的密钥对和证书。 +upload-keys =上传密钥 +download-keys-and-cert =下载密钥和证书 +no-value-assigned.placeholder =未分配值 +remove =删除 +no-group-members =没有组成员 +temporary =临时 +join =加入 +event-type =事件类型 +events-config =事件配置 +event-listeners =事件监听器 +login-events-settings =登录事件设置 +clear-events =清除事件 +saved-types =保存的类型 +clear-admin-events =清除管理事件 +clear-changes =清除更改 +error =错误 + +# Authz +# Authz Common +authz-authorization =授权 +authz-owner =所有者 +authz-uri = URI +authz-scopes =范围 +authz-resource =资源 +authz-resource-type =资源类型 +authz-resources =资源 +authz-scope =范围 +authz-authz-scopes =授权范围 +authz-policies =策略 +authz-permissions =权限 +authz-evaluate =评估 +authz-icon-uri =图标URI +authz-icon-uri.tooltip =指向图标的URI。 +authz-select-scope =选择范围 +authz-select-resource =选择资源 +authz-associated-policies =关联策略 +authz-any-resource =任何资源 +authz-any-scope =任何作用域 +authz-any-role =任何角色 +authz-policy-evaluation =政策评估 +authz-select-client =选择客户端 +authz-select-user =选择用户 +authz-entitlements =权利 +authz-no-resources =无资源 +authz-result = Result +authz-authorization-services-enabled =授权已启用 +authz-authorization-services-enabled.tooltip =启用/禁用客户端的细粒度授权支持 +authz-required =必需 + +# Authz Settings +authz-import-config.tooltip =导入包含此资源服务器的授权设置的JSON文件。 + +authz-policy-enforcement-mode =策略强制模式 +authz-policy-enforcement-mode.tooltip =策略强制模式指示在评估授权请求时如何强制执行策略。 “Enforcing”表示即使没有与给定资源相关联的策略,也会默认拒绝请求。 “Permissive”表示即使没有与给定资源相关联的策略也允许请求。 “禁用”完全禁用策略的评估,并允许访问任何资源。 +authz-policy-enforcement-mode-enforcing =强制 +authz-policy-enforcement-mode-permissive = Permissive +authz-policy-enforcement-mode-disabled =禁用 + +authz-remote-resource-management =远程资源管理 +authz-remote-resource-management.tooltip =资源服务器是否应该远程管理资源?如果为false,则只能从此管理控制台管理资源。 + +authz-export-settings =导出设置 +authz-export-settings.tooltip =导出并下载此资源服务器的所有授权设置。 + +# Authz Resource List +authz-no-resources-available =无可用资源。 +authz-no-scopes-assigned =未分配范围。 +authz-no-type-defined =未定义类型。 +authz-no-permission-assigned =未分配权限。 +authz-no-policy-assigned =未分配策略。 +authz-create-permission =创建权限 + +# Authz Resource Detail +authz-add-resource =添加资源 +authz-resource-name.tooltip =此资源的唯一名称。 该名称可用于唯一标识资源,在查询特定资源时很有用。 +authz-resource-owner.tooltip =此资源的所有者。 +authz-resource-type.tooltip =此资源的类型。 它可以用于对具有相同类型的不同资源实例进行分组。 +authz-resource-uri.tooltip =也可以用于唯一标识此资源的URI。 +authz-resource-scopes.tooltip =与此资源关联的范围。 + +# Authz Scope List +authz-add-scope=Add Scope +authz-no-scopes-available=No scopes available. + +#Authz作用域详细信息 +authz-scope-name.tooltip =此作用域的唯一名称。该名称可用于唯一标识范围,在查询特定范围时很有用。 + +#Authz策略列表 +authz-all-types =所有类型 +authz-create-policy =创建策略 +authz-no-policies-available =没有可用的策略。 + +#Authz策略详细信息 +authz-policy-name.tooltip =此策略的名称。 +authz-policy-description.tooltip =此策略的描述。 +authz-policy-logic =逻辑 +authz-policy-logic-positive =肯定 +authz-policy-logic-negative = Negative +authz-policy-logic.tooltip =逻辑决定如何进行策略决策。如果为“积极”,则在评估本政策期间获得的效果(许可或拒绝)将用于执行决策。如果为“否定”,则所得的效果将被否定,换句话说,许可证变为拒绝,反之亦然。 +authz-policy-apply-policy =应用策略 +authz-policy-apply-policy.tooltip =指定必须应用于此策略或权限定义的范围的所有策略。 +authz-policy-decision-strategy =决策策略 +authz-policy-decision-strategy.tooltip =决策策略规定如何评估与给定权限相关联的策略以及如何获得最终决策。 “肯定”意味着至少一个政策必须评估为积极的决定,以使最终决定也是积极的。 “一致”是指所有政策必须评估为一个积极的决定,以使最终决定也是积极的。 “共识”意味着积极决策的数量必须大于负面决策的数量。如果正数和负数相同,最终决定将为负数。 +authz-policy-decision-strategy-affirmative =肯定 +authz-policy-decision-strategy-unanimous =一致 +authz-policy-decision-strategy-consensus=共识 +authz-select-a-policy =选择一个策略 + +#Authz角色策略详细信息 +authz-add-role-policy =添加角色策略 +authz-no-roles-assigned =未分配角色。 +authz-policy-role-realm-roles.tooltip =指定此策略允许的* realm *角色。 +authz-policy-role-clients.tooltip =选择客户端以过滤可应用于此策略的客户端角色。 +authz-policy-role-client-roles.tooltip =指定此策略允许的客户端角色。 + +#Authz用户策略详细信息 +authz-add-user-policy =添加用户策略 +authz-no-users-assigned =未分配用户。 +authz-policy-user-users.tooltip =指定此策略允许哪些用户。 + +#Authz时间策略详细信息 +authz-add-time-policy =添加时间策略 +authz-policy-time-not-before.tooltip =定义不得授予策略的时间。仅当当前日期/时间晚于或等于此值时才被授予。 +authz-policy-time-not-on-after =不开或之后 +authz-policy-time-not-on-after.tooltip =定义不能授予策略的时间。仅当当前日期/时间在此值之前或之前时才被授予。 +authz-policy-time-day-month =日期 +authz-policy-time-day-month.tooltip =定义必须授予策略的月份日期。您还可以通过填充第二个字段来提供范围。在这种情况下,只有当月的当天介于或等于您提供的两个值之后,才会授予权限。 +authz-policy-time-month = month +authz-policy-time-month.tooltip =定义必须授予策略的月份。您还可以通过填充第二个字段来提供范围。在这种情况下,仅当当前月份介于或等于您提供的两个值之间时才会授予权限。 +authz-policy-time-year =年 +authz-policy-time-year.tooltip =定义策略必须授予的年份。您还可以通过填充第二个字段来提供范围。在这种情况下,仅当当前年份介于或等于您提供的两个值之间时才会授予权限。 +authz-policy-time-hour =小时 +authz-policy-time-hour.tooltip =定义策略必须被授予的小时。您还可以通过填充第二个字段来提供范围。在这种情况下,只有当前小时介于或等于您提供的两个值之间时才会授予权限。 +authz-policy-time-minute =分钟 +authz-policy-time-minute.tooltip =定义策略必须被授予的分钟。您还可以通过填充第二个字段来提供范围。在这种情况下,仅当当前分钟介于或等于您提供的两个值之间时才会授予权限。 + +#Authz Drools策略详细信息 +authz-add-drools-policy =添加Drools策略 +authz-policy-drools-maven-artifact-resolve =解决 +authz-policy-drools-maven-artifact =策略Maven神器 +authz-policy-drools-maven-artifact.tooltip =指向从其中加载规则的工件的Maven GAV。一旦您提供了GAV,您可以点击* Resolve *来加载* Module *和* Session *字段。 +authz-policy-drools-module = Module +authz-policy-drools-module.tooltip =此策略使用的模块。您必须提供一个模块,以便选择将从中加载规则的特定会话。 +authz-policy-drools-session =会话 +authz-policy-drools-session.tooltip =此策略使用的会话。会话提供处理策略时评估的所有规则。 +authz-policy-drools-update-period =更新周期 +authz-policy-drools-update-period.tooltip =指定扫描工件更新的时间间隔。 + +#Authz JS策略详细信息 +authz-add-js-policy =添加JavaScript策略 +authz-policy-js-code =代码 +authz-policy-js-code.tooltip =提供此策略条件的JavaScript代码。 + + +#Authz聚合策略详细信息 +authz-aggregated=聚合 +authz-add-aggregation-policy =添加聚合策略 + +#Authz权限列表 +authz-no-permissions-available =没有可用的权限。 + +#Authz权限详细信息 +authz-permission-name.tooltip =此权限的名称。 +authz-permission-description.tooltip =此权限的描述。 + +#Authz资源许可详细信息 +authz-add-resource-permission =添加资源权限 +authz-permission-resource-apply-to-resource-type =应用于资源类型 +authz-permission-resource-apply-to-resource-type.tooltip =指定是否将此权限应用于具有给定类型的所有资源。 在这种情况下,将对给定资源类型的所有实例评估此权限。 +authz-permission-resource-resource.tooltip =指定此权限必须应用于特定资源实例。 +authz-permission-resource-type.tooltip =指定此权限必须应用于给定类型的所有资源实例。 + +#Authz Scope Permission Detail +authz-add-scope-permission =添加范围权限 +authz-permission-scope-resource.tooltip =将范围限制为与所选资源关联的范围。 如果未选择,则所有范围都可用。 +authz-permission-scope-scope.tooltip =指定此权限必须应用于一个或多个作用域。 + +# Authz Evaluation +authz-evaluation-identity-information =身份信息 +authz-evaluation-identity-information.tooltip =用于配置在评估策略时将使用的身份信息的可用选项。 +authz-evaluation-client.tooltip =选择进行此授权请求的客户端。如果未提供,授权请求将根据您所在的客户端完成。 +authz-evaluation-user.tooltip =选择一个用户,其身份将被用于查询服务器的权限。 +authz-evaluation-role.tooltip =选择要与所选用户关联的角色。 +authz-evaluation-new =新评估 +authz-evaluation-re-evaluate =重新评估 +authz-evaluation-previous =以前的评估 +authz-evaluation-contextual-info =上下文信息 +authz-evaluation-contextual-info.tooltip =用于配置在评估策略时将使用的任何上下文信息的可用选项。 +authz-evaluation-contextual-attributes =上下文属性 +authz-evaluation-contextual-attributes.tooltip =由正在运行的环境或执行上下文提供的任何属性。 +authz-evaluation-permissions.tooltip =用于配置将应用策略的权限的可用选项。 +authz-evaluation-evaluate =评估 +authz-evaluation-any-resource-with-scopes =任何具有范围的资源 +authz-evaluation-no-result =无法获取给定授权请求的任何结果。检查所提供的资源或范围是否与任何策略相关联。 +authz-evaluation-no-policies-resource =未找到此资源的策略。 +authz-evaluation-result.tooltip =此权限请求的总体结果。 +authz-evaluation-scopes.tooltip =允许的作用域列表。 +authz-evaluation-policies.tooltip =有关评估哪些策略及其决策的详细信息。 +authz-evaluation-authorization-data =响应 +authz-evaluation-authorization-data.tooltip =表示由于处理授权请求而携带授权数据的令牌。这个表示基本上是Keycloak向客户端请求权限的问题。针对根据当前授权请求授予的权限,检查“授权”声明。 +authz-show-authorization-data =显示授权数据 + +keys=秘钥 +all=所有 +status=状态 +keystore=钥匙链 +keystores= 钥匙链 +add-keystore=添加 钥匙链 +add-keystore.placeholder=添加 钥匙链... +view=查看 +active=活跃 + +Sunday=星期天 +Monday=星期一 +Tuesday=星期二 +Wednesday=星期三 +Thursday=星期四 +Friday=星期五 +Saturday=星期六 + +user-storage-cache-policy=缓存设置 +userStorage.cachePolicy=缓存策略 +userStorage.cachePolicy.option.DEFAULT=默认 +userStorage.cachePolicy.option.EVICT_WEEKLY=EVICT_WEEKLY +userStorage.cachePolicy.option.EVICT_DAILY=EVICT_DAILY +userStorage.cachePolicy.option.MAX_LIFESPAN=MAX_LIFESPAN +userStorage.cachePolicy.option.NO_CACHE=NO_CACHE +userStorage.cachePolicy.tooltip=这个存储源的缓存策略. '默认' 是全局的默认缓存策略。'EVICT_DAILY'是每天特定时间缓存会失效. 'EVICT_WEEKLY'是每周第n天的特定时间缓存会失效. 'MAX-LIFESPAN' 是指缓存条目的最大生命周期 +userStorage.cachePolicy.evictionDay=Eviction Day +userStorage.cachePolicy.evictionDay.tooltip=每周第n天缓存失效 +userStorage.cachePolicy.evictionHour=Eviction Hour +userStorage.cachePolicy.evictionHour.tooltip=一天中几点缓存失效 +userStorage.cachePolicy.evictionMinute=Eviction Minute +userStorage.cachePolicy.evictionMinute.tooltip=缓存失效的分钟 +userStorage.cachePolicy.maxLifespan=最大生命周期 +userStorage.cachePolicy.maxLifespan.tooltip=以微秒计数的最大生命周期 +user-origin-link=存储源 + +disable=关闭 +disableable-credential-types=可以关闭的类型 +credentials.disableable.tooltip=可以关闭的密码类型列表 +disable-credential-types=关闭密码类型 +credentials.disable.tooltip=点击按钮关闭密码类型 +credential-types=密码类型 +manage-user-password=管理密码 +disable-credentials=关闭密码 +credential-reset-actions=重置密码 +ldap-mappers=LDAP 映射器 +create-ldap-mapper=创建 LDAP 映射 +loginWithEmailAllowed=使用电子邮件登录 +duplicateEmailsAllowed=重复的邮件 +hidden=隐藏 + + + + + + diff --git a/base/admin/messages/messages_ca.properties b/fairlogin/admin/messages/messages_ca.properties similarity index 100% rename from base/admin/messages/messages_ca.properties rename to fairlogin/admin/messages/messages_ca.properties diff --git a/base/admin/messages/messages_en.properties b/fairlogin/admin/messages/messages_en.properties similarity index 96% rename from base/admin/messages/messages_en.properties rename to fairlogin/admin/messages/messages_en.properties index 82db91e4f29aaf1df568f3333b67b1ccd3a0cf2a..ea61dc3ee981eb5145845f3ffab2817d8a79e479 100644 --- a/base/admin/messages/messages_en.properties +++ b/fairlogin/admin/messages/messages_en.properties @@ -6,6 +6,7 @@ invalidPasswordMinSpecialCharsMessage=Invalid password: must contain at least {0 invalidPasswordNotUsernameMessage=Invalid password: must not be equal to the username. invalidPasswordRegexPatternMessage=Invalid password: fails to match regex pattern(s). invalidPasswordHistoryMessage=Invalid password: must not be equal to any of last {0} passwords. +invalidPasswordBlacklistedMessage=Invalid password: password is blacklisted. invalidPasswordGenericMessage=Invalid password: new password doesn''t match password policies. ldapErrorInvalidCustomFilter=Custom configured LDAP filter does not start with "(" or does not end with ")". diff --git a/base/admin/messages/messages_es.properties b/fairlogin/admin/messages/messages_es.properties similarity index 100% rename from base/admin/messages/messages_es.properties rename to fairlogin/admin/messages/messages_es.properties diff --git a/base/admin/messages/messages_fr.properties b/fairlogin/admin/messages/messages_fr.properties similarity index 100% rename from base/admin/messages/messages_fr.properties rename to fairlogin/admin/messages/messages_fr.properties diff --git a/base/admin/resources/partials/realm-identity-provider-facebook-ext.html b/fairlogin/admin/messages/messages_it.properties similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-facebook-ext.html rename to fairlogin/admin/messages/messages_it.properties diff --git a/base/admin/messages/messages_ja.properties b/fairlogin/admin/messages/messages_ja.properties similarity index 100% rename from base/admin/messages/messages_ja.properties rename to fairlogin/admin/messages/messages_ja.properties diff --git a/base/admin/messages/messages_lt.properties b/fairlogin/admin/messages/messages_lt.properties similarity index 100% rename from base/admin/messages/messages_lt.properties rename to fairlogin/admin/messages/messages_lt.properties diff --git a/fairlogin/admin/messages/messages_nl.properties b/fairlogin/admin/messages/messages_nl.properties new file mode 100644 index 0000000000000000000000000000000000000000..4a04a5249d3c40b314d50ca205a3113a5ad6bbcb --- /dev/null +++ b/fairlogin/admin/messages/messages_nl.properties @@ -0,0 +1,27 @@ +invalidPasswordMinLengthMessage=Ongeldig wachtwoord: de minimale lengte is {0} karakters. +invalidPasswordMinLowerCaseCharsMessage=Ongeldig wachtwoord: het moet minstens {0} kleine letters bevatten. +invalidPasswordMinDigitsMessage=Ongeldig wachtwoord: het moet minstens {0} getallen bevatten. +invalidPasswordMinUpperCaseCharsMessage=Ongeldig wachtwoord: het moet minstens {0} hoofdletters bevatten. +invalidPasswordMinSpecialCharsMessage=Ongeldig wachtwoord: het moet minstens {0} speciale karakters bevatten. +invalidPasswordNotUsernameMessage=Ongeldig wachtwoord: het mag niet overeenkomen met de gebruikersnaam. +invalidPasswordRegexPatternMessage=Ongeldig wachtwoord: het voldoet niet aan het door de beheerder ingestelde patroon. +invalidPasswordHistoryMessage=Ongeldig wachtwoord: het mag niet overeen komen met een van de laatste {0} wachtwoorden. +invalidPasswordGenericMessage=Ongeldig wachtwoord: het nieuwe wachtwoord voldoet niet aan het wachtwoordbeleid. + +ldapErrorInvalidCustomFilter=LDAP filter met aangepaste configuratie start niet met "(" of eindigt niet met ")". +ldapErrorConnectionTimeoutNotNumber=Verbindingstimeout moet een getal zijn +ldapErrorReadTimeoutNotNumber=Lees-timeout moet een getal zijn +ldapErrorMissingClientId=Client ID moet ingesteld zijn als Realm Roles Mapping niet gebruikt wordt. +ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Kan groepsovererving niet behouden bij UID-lidmaatschapstype. +ldapErrorCantWriteOnlyForReadOnlyLdap=Alleen-schrijven niet mogelijk als LDAP provider mode niet WRITABLE is +ldapErrorCantWriteOnlyAndReadOnly=Alleen-schrijven en alleen-lezen mogen niet tegelijk ingesteld zijn + +clientRedirectURIsFragmentError=Redirect URIs mogen geen URI fragment bevatten +clientRootURLFragmentError=Root URL mag geen URL fragment bevatten + +pairwiseMalformedClientRedirectURI=Client heeft een ongeldige redirect URI. +pairwiseClientRedirectURIsMissingHost=Client redirect URIs moeten een geldige host-component bevatten. +pairwiseClientRedirectURIsMultipleHosts=Zonder een geconfigureerde Sector Identifier URI mogen client redirect URIs niet meerdere host componenten hebben. +pairwiseMalformedSectorIdentifierURI=Onjuist notatie in Sector Identifier URI. +pairwiseFailedToGetRedirectURIs=Kon geen redirect URIs verkrijgen van de Sector Identifier URI. +pairwiseRedirectURIsMismatch=Client redirect URIs komen niet overeen met redict URIs ontvangen van de Sector Identifier URI. diff --git a/base/admin/messages/messages_no.properties b/fairlogin/admin/messages/messages_no.properties similarity index 100% rename from base/admin/messages/messages_no.properties rename to fairlogin/admin/messages/messages_no.properties diff --git a/base/admin/messages/messages_pt_BR.properties b/fairlogin/admin/messages/messages_pt_BR.properties similarity index 100% rename from base/admin/messages/messages_pt_BR.properties rename to fairlogin/admin/messages/messages_pt_BR.properties diff --git a/base/admin/messages/messages_ru.properties b/fairlogin/admin/messages/messages_ru.properties similarity index 100% rename from base/admin/messages/messages_ru.properties rename to fairlogin/admin/messages/messages_ru.properties diff --git a/fairlogin/admin/messages/messages_zh_CN.properties b/fairlogin/admin/messages/messages_zh_CN.properties new file mode 100644 index 0000000000000000000000000000000000000000..622dccbfd209469f962d5d2c3350276c1863d863 --- /dev/null +++ b/fairlogin/admin/messages/messages_zh_CN.properties @@ -0,0 +1,26 @@ +# encoding: utf-8 +invalidPasswordMinLengthMessage=无效的密码:最短长度 {0}. +invalidPasswordMinLowerCaseCharsMessage=无效的密码:至少包含 {0} 小写字母 +invalidPasswordMinDigitsMessage=无效的密码:至少包含 {0} 个数字 +invalidPasswordMinUpperCaseCharsMessage=无效的密码:最短长度 {0} 大写字母 +invalidPasswordMinSpecialCharsMessage=无效的密码:最短长度 {0} 特殊字符 +invalidPasswordNotUsernameMessage=无效的密码: 不可以与用户名相同 +invalidPasswordRegexPatternMessage=无效的密码: 无法与正则表达式匹配 +invalidPasswordHistoryMessage=无效的密码:不能与最后使用的 {0} 个密码相同 + +ldapErrorInvalidCustomFilter=定制的 LDAP过滤器不是以 "(" 开头或以 ")"结尾. +ldapErrorConnectionTimeoutNotNumber=Connection Timeout 必须是个数字 +ldapErrorMissingClientId=当域角色映射未启用时,客户端 ID 需要指定。 +ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=无法在使用UID成员类型的同时维护组继承属性。 +ldapErrorCantWriteOnlyForReadOnlyLdap=当LDAP提供方不是可写模式时,无法设置只写 +ldapErrorCantWriteOnlyAndReadOnly=无法同时设置只读和只写 + +clientRedirectURIsFragmentError=重定向URL不应包含URI片段 +clientRootURLFragmentError=根URL 不应包含 URL 片段 + +pairwiseMalformedClientRedirectURI=客户端包含一个无效的重定向URL +pairwiseClientRedirectURIsMissingHost=客户端重定向URL需要有一个有效的主机 +pairwiseClientRedirectURIsMultipleHosts=Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components. +pairwiseMalformedSectorIdentifierURI=Malformed Sector Identifier URI. +pairwiseFailedToGetRedirectURIs=无法从服务器获得重定向URL +pairwiseRedirectURIsMismatch=客户端的重定向URI与服务器端获取的URI配置不匹配。 diff --git a/fairlogin/admin/resources/css/styles.css b/fairlogin/admin/resources/css/styles.css new file mode 100644 index 0000000000000000000000000000000000000000..8b0a4d36ac31c22878adda3ae5f015f01303a089 --- /dev/null +++ b/fairlogin/admin/resources/css/styles.css @@ -0,0 +1,407 @@ +html,body { + height: 100%; +} + +form { + margin-top: 20px; +} + +table { + margin-top: 20px; +} + +.required { + color: #f00; +} + +.tooltip-inner { + min-width: 200px; +} + +.margin-top { + margin-top: 20px; +} + +.no-margin-top { + margin-top: 0px !important; +} + +table { + max-width: 100%; +} + +td.clip { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 0; +} + +th.w-10 { + width: 10%; +} + +th.w-15 { + width: 15%; +} + +th.w-20 { + width: 20%; +} + + +th.w-25 { + width: 25%; +} + +th.w-30 { + width: 30%; +} + + +th.w-35 { + width: 35%; +} + +th.w-40 { + width: 40%; +} + +/*********** Loading ***********/ + +.loading { + background-color: #f5f5f5; + border: 1px solid #eee; + position: absolute; + bottom: 0px; + left: 0px; + padding: 2px 200px 2px 5px; +} + +/*********** Feedback ***********/ + +.feedback-aligner { + position: fixed; + top: 15px; + text-align: center; + width: 100%; + height: 0; + z-index: 100; +} +.feedback-aligner .alert { + border-radius: 2px; + border-width: 1px; + display: inline-block; + position: relative; +} + +/*********** On-Off Switch ***********/ + +.onoffswitch { + -moz-user-select: none; + height: 26px; + position: relative; + width: 62px; +} +.onoffswitch .onoffswitch-checkbox { + display: none; +} +.onoffswitch .onoffswitch-label { + border: 1px solid #bbb; + border-radius: 2px; + cursor: pointer; + display: block; + overflow: hidden; + width: 62px; +} +.onoffswitch .onoffswitch-inner { + display: block; + margin-left: -100%; + transition: margin 0.3s ease-in 0s; + width: 200%; +} +.onoffswitch .onoffswitch-inner > span { + -moz-box-sizing: border-box; + color: white; + float: left; + font-size: 11px; + font-family: "Open Sans", sans-serif; + font-weight: bold; + height: 24px; + line-height: 24px; + padding: 0; + width: 50%; +} +.onoffswitch .onoffswitch-switch { + background-image: linear-gradient(top, #fafafa 0%, #ededed 100%); + background-image: -o-linear-gradient(top, #fafafa 0%, #ededed 100%); + background-image: -moz-linear-gradient(top, #fafafa 0%, #ededed 100%); + background-image: -webkit-linear-gradient(top, #fafafa 0%, #ededed 100%); + background-image: -ms-linear-gradient(top, #fafafa 0%, #ededed 100%); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, 0, #ededed)); + border: 1px solid #aaa; + border-radius: 2px; + bottom: 0; + margin: 0; + position: absolute; + right: 39px; + top: 0; + transition: all 0.3s ease-in 0s; + -webkit-transition: all 0.3s ease-in 0s; + width: 23px; +} +.onoffswitch .onoffswitch-inner .onoffswitch-active { + background-image: linear-gradient(top, #00a9ec 0%, #009bd3 100%); + background-image: -o-linear-gradient(top, #00a9ec 0%, #009bd3 100%); + background-image: -moz-linear-gradient(top, #00a9ec 0%, #009bd3 100%); + background-image: -webkit-linear-gradient(top, #00a9ec 0%, #009bd3 100%); + background-image: -ms-linear-gradient(top, #00a9ec 0%, #009bd3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #00a9ec), color-stop(1, 0, #009bd3)); + color: #FFFFFF; + padding-left: 10px; +} +.onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-inner .onoffswitch-active, +.onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-inner .onoffswitch-inactive { + background-image: none; + background-color: #e5e5e5; + color: #9d9fa1; +} +.onoffswitch .onoffswitch-inner .onoffswitch-inactive { + background: linear-gradient(#fefefe, #e8e8e8) repeat scroll 0 0 transparent; + color: #4d5258; + padding-right: 10px; + text-align: right; +} +.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { + margin-left: 0; +} +.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { + right: 0; +} + + +/*********** Select 2 ***********/ + +.select2-container { + width: 100%; +} + +.select2-container-multi .select2-choices .select2-search-field { + height: 26px; +} + + +/*********** New Menu ***********/ + + +.sidebar-pf-left{ + background: #292e34; +} + +.sidebar-pf .nav-pills > li a i, .sidebar-pf .nav-pills > li a span{ + color: #72767b; + display: inline-block; + margin-right: 10px; +} +.sidebar-pf .nav-pills > li > a{ + color: #dbdada; + padding: 0px 20px 0 30px!important; + line-height: 30px; + border-left-width: 12px; + border-left-style: solid; + border-left-color: #292e34; + margin-left: -6px; +} + +.sidebar-pf .nav-pills > li > a:hover{ + background: #393f44; + border-color:#292e34; + border-left-color: #393f44; + color: #fff; +} + +.sidebar-pf .nav-pills > li > a:after{ + display: none!important; +} + + +.sidebar-pf .nav-pills > li.active > a { + color: #fff; + background: #393f44!important; + border-bottom: 1px solid #000!important; + border-top: 1px solid #000!important; + border-left-color: #39a5dc!important; +} + +.sidebar-pf .nav-pills > li.active a i, .sidebar-pf .nav-pills > li.active a span{ + color: #39a5dc; +} + +/*********** Realm selector ***********/ + +.realm-selector{ + color: #fff; + margin: 0 -20px; + position: relative; +} + +.realm-dropmenu{ + display: none; + cursor: pointer; + position: absolute; + top: 60px; + left: 0; + right: 0; + z-index: 999; + background: #fff; +} + +.realm-selector:hover .realm-dropmenu{ + display: block; +} + +.realm-add{ + padding: 10px; +} + +.realm-selector h2{ + font-size: 16px; + line-height: 60px; + padding: 0 20px; + margin: 0; + border-bottom: 1px solid #d5d5d6; +} + +.realm-selector h2 i{ + display: inline-block; + float: right; + line-height: 60px; +} + + +.realm-selector ul{ + padding-left: 0; + margin: 0; + list-style: none; + max-height: 200px; + overflow-y:auto; +} + + +.realm-selector ul li a{ + line-height: 60px; + padding: 0 20px; + border-bottom: 1px solid #d5d5d6; + line-height: 39px; + display: block; + font-size: 14px; +} + + +/*********** Overwrites header defaults ***********/ + +.navbar-pf{ + border-top: none!important; +} + +.navbar-pf .navbar-brand { + padding: 0; + height: 56px; + line-height: 56px; + background-position: center center; + background-image: url('../img/keyclok-logo.png'); + background-size: 148px 30px; + background-repeat: no-repeat; + width: 148px; +} + +.navbar-pf .navbar-utility > li > a{ + padding: 22px 30px 23px 40px!important; +} +/* @media (min-width: 768px) */ +.navbar-pf .navbar-utility li.dropdown > .dropdown-toggle .pficon-user { + top: 22px; + left:20px; +} + +.clickable { + cursor: pointer; +} + +h1 i { + color: #999999; + font-size: 18px; + margin-left: 10px; +} + +/* Action cell */ +.kc-action-cell { + background-color: #eeeeee; + background-image: linear-gradient(to bottom, #fafafa 0%, #ededed 100%); + background-repeat: repeat-x; + + text-align: center; + vertical-align: middle; + + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + + cursor:pointer; +} + +.kc-action-cell:hover { + background-color: #eeeeee; + background-image: none; +} + +.kc-sorter span { + margin-left: 10px; +} + + +/* Time selector */ + +.time-selector input { + display: inline-block; + width: 120px; + padding-right: 0; + margin-right: 0; +} + +.time-selector select { + display: inline-block; + width: 80px; + margin-left: 0; + padding-left: 0; +} + +.ace_editor { + height: 600px; + width: 100%; +} + +.kc-button-input-file input { + float: left; + width: 73%; +} + +.kc-button-input-file label { + float: left; + margin-left: 2%; + width: 25%; +} + +table.kc-authz-table-expanded { + margin-top: 0px !important; +} + +.no-gutter > [class*='col-'] { + padding-right:0!important; + padding-left:0!important; +} + +.password-conceal { + font-family: 'text-security-disc'; + font-size: 14px; +} \ No newline at end of file diff --git a/fairlogin/admin/resources/img/favicon.ico b/fairlogin/admin/resources/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..48188dedaaed851f39dcf435d3bde8e0dce753fd Binary files /dev/null and b/fairlogin/admin/resources/img/favicon.ico differ diff --git a/fairlogin/admin/resources/img/keyclok-logo.png b/fairlogin/admin/resources/img/keyclok-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ca53f0a04ba97029b387ada299ae4b454b54ccd4 Binary files /dev/null and b/fairlogin/admin/resources/img/keyclok-logo.png differ diff --git a/fairlogin/admin/resources/img/keyclok-logo.svg b/fairlogin/admin/resources/img/keyclok-logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..05fa87b8a0ce131fc49e2a65bbdc92be687b87ec --- /dev/null +++ b/fairlogin/admin/resources/img/keyclok-logo.svg @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fairlogin/admin/resources/img/select-arrow.png b/fairlogin/admin/resources/img/select-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a865a6fa7324e054cffa6e1878d69438780b20c7 Binary files /dev/null and b/fairlogin/admin/resources/img/select-arrow.png differ diff --git a/base/admin/resources/js/app.js b/fairlogin/admin/resources/js/app.js similarity index 99% rename from base/admin/resources/js/app.js rename to fairlogin/admin/resources/js/app.js index c650d00681e4575e2407a3cc6e64324c7a58cf6a..0e25ae9cdcacb0ba80829a3e9149b6608b996e4e 100644 --- a/base/admin/resources/js/app.js +++ b/fairlogin/admin/resources/js/app.js @@ -195,6 +195,9 @@ module.config([ '$routeProvider', function($routeProvider) { .when('/realms/:realm/token-settings', { templateUrl : resourceUrl + '/partials/realm-tokens.html', resolve : { + serverInfo : function(ServerInfoLoader) { + return ServerInfoLoader(); + }, realm : function(RealmLoader) { return RealmLoader(); } @@ -770,6 +773,18 @@ module.config([ '$routeProvider', function($routeProvider) { }, controller : 'RoleDetailCtrl' }) + .when('/realms/:realm/roles/:role/users', { + templateUrl : resourceUrl + '/partials/realm-role-users.html', + resolve : { + realm : function(RealmLoader) { + return RealmLoader(); + }, + role : function(RoleLoader) { + return RoleLoader(); + } + }, + controller : 'RoleMembersCtrl' + }) .when('/realms/:realm/roles', { templateUrl : resourceUrl + '/partials/role-list.html', resolve : { @@ -787,9 +802,6 @@ module.config([ '$routeProvider', function($routeProvider) { resolve : { realm : function(RealmLoader) { return RealmLoader(); - }, - groups : function(GroupListLoader) { - return GroupListLoader(); } }, controller : 'GroupListCtrl' @@ -1924,7 +1936,7 @@ module.factory('spinnerInterceptor', function($q, $window, $rootScope, $location $('#loading').hide(); } return response; - }, + }, responseError: function(response) { resourceRequests--; if (resourceRequests == 0) { @@ -1944,7 +1956,7 @@ module.factory('errorInterceptor', function($q, $window, $rootScope, $location, return { response: function(response) { return response; - }, + }, responseError: function(response) { if (response.status == 401) { Auth.authz.logout(); @@ -2186,17 +2198,17 @@ module.directive('kcEnter', function() { module.directive('kcSave', function ($compile, $timeout, Notifications) { var clickDelay = 500; // 500 ms - + return { restrict: 'A', link: function ($scope, elem, attr, ctrl) { elem.addClass("btn btn-primary"); elem.attr("type","submit"); - + var disabled = false; elem.on('click', function(evt) { if ($scope.hasOwnProperty("changed") && !$scope.changed) return; - + // KEYCLOAK-4121: Prevent double form submission if (disabled) { evt.preventDefault(); @@ -2206,7 +2218,7 @@ module.directive('kcSave', function ($compile, $timeout, Notifications) { disabled = true; $timeout(function () { disabled = false; }, clickDelay, false); } - + $scope.$apply(function() { var form = elem.closest('form'); if (form && form.attr('name')) { @@ -2869,35 +2881,35 @@ module.directive('kcOnReadFile', function ($parse) { module.controller('PagingCtrl', function ($scope) { $scope.currentPageInput = 1; - + $scope.firstPage = function() { if (!$scope.hasPrevious()) return; $scope.currentPage = 1; $scope.currentPageInput = 1; }; - + $scope.lastPage = function() { if (!$scope.hasNext()) return; $scope.currentPage = $scope.numberOfPages; $scope.currentPageInput = $scope.numberOfPages; }; - + $scope.previousPage = function() { if (!$scope.hasPrevious()) return; $scope.currentPage--; $scope.currentPageInput = $scope.currentPage; }; - + $scope.nextPage = function() { if (!$scope.hasNext()) return; $scope.currentPage++; $scope.currentPageInput = $scope.currentPage; }; - + $scope.hasNext = function() { return $scope.currentPage < $scope.numberOfPages; }; - + $scope.hasPrevious = function() { return $scope.currentPage > 1; }; @@ -2927,11 +2939,11 @@ module.directive('kcValidPage', function() { if (viewValue >= 1 && viewValue <= scope.numberOfPages) { scope.currentPage = viewValue; } - + return true; } } - } + } }); // filter used for paged tables @@ -2943,4 +2955,15 @@ module.filter('startFrom', function () { } return []; }; +}); + + +module.directive('kcPassword', function ($compile, Notifications) { + return { + restrict: 'A', + link: function ($scope, elem, attr, ctrl) { + elem.addClass("password-conceal"); + elem.attr("type","text"); + } + } }); \ No newline at end of file diff --git a/base/admin/resources/js/authz/authz-app.js b/fairlogin/admin/resources/js/authz/authz-app.js similarity index 97% rename from base/admin/resources/js/authz/authz-app.js rename to fairlogin/admin/resources/js/authz/authz-app.js index a59ebf3cb538af92237c66d53ce623a62aaeacec..fbd53798f4b548b24c5d9df9b280f11aedef5db9 100644 --- a/base/admin/resources/js/authz/authz-app.js +++ b/fairlogin/admin/resources/js/authz/authz-app.js @@ -470,6 +470,18 @@ module.config(['$routeProvider', function ($routeProvider) { }, controller : 'GroupPermissionsCtrl' }) + .when('/realms/:realm/identity-provider-settings/provider/:provider_id/:alias/permissions', { + templateUrl : function(params){ return resourceUrl + '/partials/authz/mgmt/broker-permissions.html'; }, + resolve : { + realm : function(RealmLoader) { + return RealmLoader(); + }, + identityProvider : function(IdentityProviderLoader) { + return IdentityProviderLoader(); + } + }, + controller : 'IdentityProviderPermissionCtrl' + }) ; }]); diff --git a/base/admin/resources/js/authz/authz-controller.js b/fairlogin/admin/resources/js/authz/authz-controller.js similarity index 87% rename from base/admin/resources/js/authz/authz-controller.js rename to fairlogin/admin/resources/js/authz/authz-controller.js index 14c9392af4ded8221d33b9d56733097cae9961b2..ab50fb70b549c624c886585eb975618ec6414b05 100644 --- a/base/admin/resources/js/authz/authz-controller.js +++ b/fairlogin/admin/resources/js/authz/authz-controller.js @@ -871,7 +871,7 @@ module.controller('ResourceServerPolicyDroolsDetailCtrl', function($scope, $http }, realm, client, $scope); }); -module.controller('ResourceServerPolicyResourceDetailCtrl', function($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource) { +module.controller('ResourceServerPolicyResourceDetailCtrl', function($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource, policyState) { PolicyController.onInit({ getPolicyType : function() { return "resource"; @@ -971,12 +971,12 @@ module.controller('ResourceServerPolicyResourceDetailCtrl', function($scope, $ro $scope.applyToResourceTypeFlag = true; } - $scope.selectedPolicies = []; ResourceServerPermission.associatedPolicies({ realm : $route.current.params.realm, client : client.id, id : policy.id }, function(policies) { + $scope.selectedPolicies = []; for (i = 0; i < policies.length; i++) { policies[i].text = policies[i].name; $scope.selectedPolicies.push(policies[i]); @@ -1009,7 +1009,7 @@ module.controller('ResourceServerPolicyResourceDetailCtrl', function($scope, $ro }, onInitCreate : function(newPolicy) { - newPolicy.decisionStrategy = 'UNANIMOUS'; + policyState.state.previousPage.name = 'authz-add-resource-permission'; $scope.selectedResource = null; var copy = angular.copy($scope.selectedResource); $scope.$watch('selectedResource', function() { @@ -1050,17 +1050,30 @@ module.controller('ResourceServerPolicyResourceDetailCtrl', function($scope, $ro var policies = []; - for (i = 0; i < $scope.selectedPolicies.length; i++) { - policies.push($scope.selectedPolicies[i].id); + if ($scope.selectedPolicies) { + for (i = 0; i < $scope.selectedPolicies.length; i++) { + policies.push($scope.selectedPolicies[i].id); + } } $scope.policy.policies = policies; delete $scope.policy.config; + }, + + onSaveState : function(policy) { + policyState.state.selectedResource = $scope.selectedResource; + policyState.state.applyToResourceTypeFlag = $scope.applyToResourceTypeFlag; + }, + + onRestoreState : function(policy) { + $scope.selectedResource = policyState.state.selectedResource; + $scope.applyToResourceTypeFlag = policyState.state.applyToResourceTypeFlag; + policy.resourceType = policyState.state.policy.resourceType; } }, realm, client, $scope); }); -module.controller('ResourceServerPolicyScopeDetailCtrl', function($scope, $route, $location, realm, client, PolicyController, ResourceServerPolicy, ResourceServerResource, ResourceServerScope) { +module.controller('ResourceServerPolicyScopeDetailCtrl', function($scope, $route, $location, realm, client, PolicyController, ResourceServerPolicy, ResourceServerResource, ResourceServerScope, policyState) { PolicyController.onInit({ getPolicyType : function() { return "scope"; @@ -1296,8 +1309,10 @@ module.controller('ResourceServerPolicyScopeDetailCtrl', function($scope, $route var policies = []; - for (i = 0; i < $scope.selectedPolicies.length; i++) { - policies.push($scope.selectedPolicies[i].id); + if ($scope.selectedPolicies) { + for (i = 0; i < $scope.selectedPolicies.length; i++) { + policies.push($scope.selectedPolicies[i].id); + } } $scope.policy.policies = policies; @@ -1305,8 +1320,7 @@ module.controller('ResourceServerPolicyScopeDetailCtrl', function($scope, $route }, onInitCreate : function(newPolicy) { - newPolicy.decisionStrategy = 'UNANIMOUS'; - + policyState.state.previousPage.name = 'authz-add-scope-permission'; var scopeId = $location.search()['scpid']; if (scopeId) { @@ -1343,12 +1357,26 @@ module.controller('ResourceServerPolicyScopeDetailCtrl', function($scope, $route var policies = []; - for (i = 0; i < $scope.selectedPolicies.length; i++) { - policies.push($scope.selectedPolicies[i].id); + if ($scope.selectedPolicies) { + for (i = 0; i < $scope.selectedPolicies.length; i++) { + policies.push($scope.selectedPolicies[i].id); + } } $scope.policy.policies = policies; delete $scope.policy.config; + }, + + onSaveState : function(policy) { + policyState.state.selectedScopes = $scope.selectedScopes; + policyState.state.selectedResource = $scope.selectedResource; + policyState.state.resourceScopes = $scope.resourceScopes; + }, + + onRestoreState : function(policy) { + $scope.selectedScopes = policyState.state.selectedScopes; + $scope.selectedResource = policyState.state.selectedResource; + $scope.resourceScopes = policyState.state.resourceScopes; } }, realm, client, $scope); }); @@ -1472,7 +1500,11 @@ module.controller('ResourceServerPolicyClientDetailCtrl', function($scope, $rout return; } Client.query({realm: $route.current.params.realm, search: query.term.trim(), max: 20}, function(response) { - data.results = response; + for (i = 0; i < response.length; i++) { + if (response[i].clientId.indexOf(query.term) != -1) { + data.results.push(response[i]); + } + } query.callback(data); }); }, @@ -1808,7 +1840,7 @@ module.controller('ResourceServerPolicyGroupDetailCtrl', function($scope, $route if (!angular.equals($scope.selectedGroups, selectedGroups)) { $scope.changed = true; } else { - $scope.changed = false; + $scope.changed = PolicyController.isNewAssociatedPolicy(); } }, true); }, @@ -1884,6 +1916,7 @@ module.controller('ResourceServerPolicyTimeDetailCtrl', function($scope, $route, }, onInit : function() { + }, onInitUpdate : function(policy) { @@ -1950,7 +1983,7 @@ module.controller('ResourceServerPolicyTimeDetailCtrl', function($scope, $route, } }); -module.controller('ResourceServerPolicyAggregateDetailCtrl', function($scope, $route, $location, realm, PolicyController, ResourceServerPolicy, client) { +module.controller('ResourceServerPolicyAggregateDetailCtrl', function($scope, $route, $location, realm, PolicyController, ResourceServerPolicy, client, PolicyProvider, policyState) { PolicyController.onInit({ getPolicyType : function() { return "aggregate"; @@ -2019,7 +2052,7 @@ module.controller('ResourceServerPolicyAggregateDetailCtrl', function($scope, $r }, onInitCreate : function(newPolicy) { - newPolicy.decisionStrategy = 'UNANIMOUS'; + policyState.state.previousPage.name = 'authz-add-aggregated-policy'; }, onCreate : function() { @@ -2035,11 +2068,116 @@ module.controller('ResourceServerPolicyAggregateDetailCtrl', function($scope, $r }, realm, client, $scope); }); -module.service("PolicyController", function($http, $route, $location, ResourceServer, ResourceServerPolicy, ResourceServerPermission, AuthzDialog, Notifications) { +module.service("PolicyController", function($http, $route, $location, ResourceServer, ResourceServerPolicy, ResourceServerPermission, AuthzDialog, Notifications, policyState, PolicyProvider) { var PolicyController = {}; + PolicyController.isNewAssociatedPolicy = function() { + return $route.current.params['new_policy'] != null; + } + + PolicyController.isBackNewAssociatedPolicy = function() { + return $route.current.params['back'] != null; + } + PolicyController.onInit = function(delegate, realm, client, $scope) { + $scope.policyProviders = []; + + PolicyProvider.query({ + realm : $route.current.params.realm, + client : client.id + }, function (data) { + for (i = 0; i < data.length; i++) { + if (data[i].type != 'resource' && data[i].type != 'scope') { + $scope.policyProviders.push(data[i]); + } + } + }); + + if ((!policyState.state || !PolicyController.isBackNewAssociatedPolicy()) && !PolicyController.isNewAssociatedPolicy()) { + policyState.state = {}; + } + + if (!policyState.state.previousPage) { + policyState.state.previousPage = {}; + } + + $scope.policyState = policyState; + + $scope.addPolicy = function(policyType) { + policyState.state.policy = $scope.policy; + + if (delegate.onSaveState) { + delegate.onSaveState($scope.policy); + } + + if ($scope.selectedPolicies) { + policyState.state.selectedPolicies = $scope.selectedPolicies; + } + var previousUrl = window.location.href.substring(window.location.href.indexOf('/realms')); + + if (previousUrl.indexOf('back=true') == -1) { + previousUrl = previousUrl + '?back=true'; + } + policyState.state.previousUrl = previousUrl; + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policyType.type + "/create?new_policy=true"); + } + + $scope.detailPolicy = function(policy) { + policyState.state.policy = $scope.policy; + if (delegate.onSaveState) { + delegate.onSaveState($scope.policy); + } + if ($scope.selectedPolicies) { + policyState.state.selectedPolicies = $scope.selectedPolicies; + } + var previousUrl = window.location.href.substring(window.location.href.indexOf('/realms')); + + if (previousUrl.indexOf('back=true') == -1) { + previousUrl = previousUrl + '?back=true'; + } + policyState.state.previousUrl = previousUrl; + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policy.type + "/" + policy.id + "?new_policy=true"); + } + + $scope.removePolicy = function(list, policy) { + for (i = 0; i < angular.copy(list).length; i++) { + if (policy.id == list[i].id) { + list.splice(i, 1); + } + } + } + + $scope.selectPolicy = function(policy) { + if (!policy || !policy.id) { + return; + } + + if (!$scope.selectedPolicies) { + $scope.selectedPolicies = []; + } + + $scope.selectedPolicy = null; + + for (i = 0; i < $scope.selectedPolicies.length; i++) { + if ($scope.selectedPolicies[i].id == policy.id) { + return; + } + } + + $scope.selectedPolicies.push(policy); + } + + $scope.createNewPolicy = function() { + $scope.showNewPolicy = true; + } + + $scope.cancelCreateNewPolicy = function() { + $scope.showNewPolicy = false; + } + + $scope.historyBackOnSaveOrCancel = PolicyController.isNewAssociatedPolicy(); + if (!delegate.isPermission) { delegate.isPermission = function () { return false; @@ -2072,17 +2210,15 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe if (!policyId) { $scope.create = true; - $scope.changed = false; var policy = {}; policy.type = delegate.getPolicyType(); policy.config = {}; policy.logic = 'POSITIVE'; + policy.decisionStrategy = 'UNANIMOUS'; - if (delegate.onInitCreate) { - delegate.onInitCreate(policy); - } + $scope.changed = $scope.historyBackOnSaveOrCancel || PolicyController.isBackNewAssociatedPolicy(); $scope.policy = angular.copy(policy); @@ -2092,6 +2228,15 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe } }, true); + if (PolicyController.isBackNewAssociatedPolicy()) { + if (delegate.onRestoreState) { + delegate.onRestoreState($scope.policy); + } + $instance.restoreState($scope); + } else if (delegate.onInitCreate) { + delegate.onInitCreate(policy); + } + $scope.save = function() { $instance.checkNameAvailability(function () { if (delegate.onCreate) { @@ -2099,10 +2244,20 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe } service.save({realm : realm.realm, client : client.id, type: $scope.policy.type}, $scope.policy, function(data) { if (delegate.isPermission()) { - $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/" + $scope.policy.type + "/" + data.id); + if ($scope.historyBackOnSaveOrCancel) { + policyState.state.newPolicyName = $scope.policy.name; + $location.url(policyState.state.previousUrl); + } else { + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/" + $scope.policy.type + "/" + data.id); + } Notifications.success("The permission has been created."); } else { - $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + $scope.policy.type + "/" + data.id); + if ($scope.historyBackOnSaveOrCancel) { + policyState.state.newPolicyName = $scope.policy.name; + $location.url(policyState.state.previousUrl); + } else { + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + $scope.policy.type + "/" + data.id); + } Notifications.success("The policy has been created."); } }); @@ -2111,9 +2266,17 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe $scope.reset = function() { if (delegate.isPermission()) { - $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/"); + if ($scope.historyBackOnSaveOrCancel) { + $location.url(policyState.state.previousUrl); + } else { + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/"); + } } else { - $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/"); + if ($scope.historyBackOnSaveOrCancel) { + $location.url(policyState.state.previousUrl); + } else { + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/"); + } } } } else { @@ -2126,29 +2289,46 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe $scope.originalPolicy = data; var policy = angular.copy(data); - if (delegate.onInitUpdate) { + $scope.changed = $scope.historyBackOnSaveOrCancel || PolicyController.isBackNewAssociatedPolicy(); + $scope.policy = angular.copy(policy); + + if (PolicyController.isBackNewAssociatedPolicy()) { + if (delegate.onRestoreState) { + delegate.onRestoreState($scope.policy); + } + $instance.restoreState($scope); + } else if (delegate.onInitUpdate) { delegate.onInitUpdate(policy); } - $scope.policy = angular.copy(policy); - $scope.changed = false; - $scope.$watch('policy', function() { if (!angular.equals($scope.policy, policy)) { $scope.changed = true; } }, true); + $scope.save = function() { $instance.checkNameAvailability(function () { if (delegate.onUpdate) { delegate.onUpdate(); } service.update({realm : realm.realm, client : client.id, type: $scope.policy.type, id : $scope.policy.id}, $scope.policy, function() { - $route.reload(); if (delegate.isPermission()) { + if ($scope.historyBackOnSaveOrCancel) { + $location.url(policyState.state.previousUrl); + } else { + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/" + $scope.policy.type + "/" + $scope.policy.id); + } + $route.reload(); Notifications.success("The permission has been updated."); } else { + if ($scope.historyBackOnSaveOrCancel) { + $location.url(policyState.state.previousUrl); + } else { + $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + $scope.policy.type + "/" + $scope.policy.id); + } + $route.reload(); Notifications.success("The policy has been updated."); } }); @@ -2156,14 +2336,18 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe } $scope.reset = function() { - var freshPolicy = angular.copy(data); + if ($scope.historyBackOnSaveOrCancel) { + $location.url(policyState.state.previousUrl); + } else { + var freshPolicy = angular.copy(data); - if (delegate.onInitUpdate) { - delegate.onInitUpdate(freshPolicy); - } + if (delegate.onInitUpdate) { + delegate.onInitUpdate(freshPolicy); + } - $scope.policy = angular.copy(freshPolicy); - $scope.changed = false; + $scope.policy = angular.copy(freshPolicy); + $scope.changed = false; + } } }); @@ -2193,6 +2377,44 @@ module.service("PolicyController", function($http, $route, $location, ResourceSe } }); } + + this.restoreState = function($scope) { + $scope.policy.name = policyState.state.policy.name; + $scope.policy.description = policyState.state.policy.description; + $scope.policy.decisionStrategy = policyState.state.policy.decisionStrategy; + $scope.policy.logic = policyState.state.policy.logic; + $scope.selectedPolicies = policyState.state.selectedPolicies; + + if (!$scope.selectedPolicies) { + $scope.selectedPolicies = []; + } + + $scope.changed = true; + var previousPage = policyState.state.previousPage; + + if (policyState.state.newPolicyName) { + ResourceServerPolicy.query({ + realm: realm.realm, + client : client.id, + permission: false, + name: policyState.state.newPolicyName, + max : 20, + first : 0 + }, function(response) { + for (i = 0; i < response.length; i++) { + if (response[i].name == policyState.state.newPolicyName) { + response[i].text = response[i].name; + $scope.selectedPolicies.push(response[i]); + } + } + policyState.state = {}; + policyState.state.previousPage = previousPage; + }); + } else { + policyState.state = {}; + policyState.state.previousPage = previousPage; + } + } } return PolicyController; @@ -2532,15 +2754,19 @@ getManageClientId = function(realm) { } } -module.controller('RealmRolePermissionsCtrl', function($scope, $http, $route, $location, realm, role, RoleManagementPermissions, Client, Notifications) { +module.controller('RealmRolePermissionsCtrl', function($scope, $http, $route, $location, realm, role, RoleManagementPermissions, Client, Notifications, Dialog, RealmRoleRemover) { console.log('RealmRolePermissionsCtrl'); $scope.role = role; $scope.realm = realm; + + $scope.remove = function() { + RealmRoleRemover.remove($scope.role, realm, Dialog, $location, Notifications); + }; + RoleManagementPermissions.get({realm: realm.realm, role: role.id}, function(data) { $scope.permissions = data; $scope.$watch('permissions.enabled', function(newVal, oldVal) { if (newVal != oldVal) { - console.log('Changing permissions enabled to: ' + $scope.permissions.enabled); var param = {enabled: $scope.permissions.enabled}; $scope.permissions= RoleManagementPermissions.update({realm: realm.realm, role:role.id}, param); } @@ -2559,7 +2785,6 @@ module.controller('ClientRolePermissionsCtrl', function($scope, $http, $route, $ $scope.permissions = data; $scope.$watch('permissions.enabled', function(newVal, oldVal) { if (newVal != oldVal) { - console.log('Changing permissions enabled to: ' + $scope.permissions.enabled); var param = {enabled: $scope.permissions.enabled}; $scope.permissions = RoleManagementPermissions.update({realm: realm.realm, role:role.id}, param); } @@ -2578,7 +2803,6 @@ module.controller('UsersPermissionsCtrl', function($scope, $http, $route, $locat $scope.permissions = data; $scope.$watch('permissions.enabled', function(newVal, oldVal) { if (newVal != oldVal) { - console.log('Changing permissions enabled to: ' + $scope.permissions.enabled); var param = {enabled: $scope.permissions.enabled}; $scope.permissions = UsersManagementPermissions.update({realm: realm.realm}, param); @@ -2601,7 +2825,6 @@ module.controller('ClientPermissionsCtrl', function($scope, $http, $route, $loca $scope.permissions = data; $scope.$watch('permissions.enabled', function(newVal, oldVal) { if (newVal != oldVal) { - console.log('Changing permissions enabled to: ' + $scope.permissions.enabled); var param = {enabled: $scope.permissions.enabled}; $scope.permissions = ClientManagementPermissions.update({realm: realm.realm, client: client.id}, param); } @@ -2612,6 +2835,23 @@ module.controller('ClientPermissionsCtrl', function($scope, $http, $route, $loca }); }); +module.controller('IdentityProviderPermissionCtrl', function($scope, $http, $route, $location, realm, identityProvider, Client, IdentityProviderManagementPermissions, Notifications) { + $scope.identityProvider = identityProvider; + $scope.realm = realm; + IdentityProviderManagementPermissions.get({realm: realm.realm, alias: identityProvider.alias}, function(data) { + $scope.permissions = data; + $scope.$watch('permissions.enabled', function(newVal, oldVal) { + if (newVal != oldVal) { + var param = {enabled: $scope.permissions.enabled}; + $scope.permissions = IdentityProviderManagementPermissions.update({realm: realm.realm, alias: identityProvider.alias}, param); + } + }, true); + }); + Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) { + $scope.realmManagementClientId = data[0].id; + }); +}); + module.controller('GroupPermissionsCtrl', function($scope, $http, $route, $location, realm, group, GroupManagementPermissions, Client, Notifications) { $scope.group = group; $scope.realm = realm; @@ -2622,7 +2862,6 @@ module.controller('GroupPermissionsCtrl', function($scope, $http, $route, $locat $scope.permissions = data; $scope.$watch('permissions.enabled', function(newVal, oldVal) { if (newVal != oldVal) { - console.log('Changing permissions enabled to: ' + $scope.permissions.enabled); var param = {enabled: $scope.permissions.enabled}; $scope.permissions = GroupManagementPermissions.update({realm: realm.realm, group: group.id}, param); } diff --git a/base/admin/resources/js/authz/authz-services.js b/fairlogin/admin/resources/js/authz/authz-services.js similarity index 94% rename from base/admin/resources/js/authz/authz-services.js rename to fairlogin/admin/resources/js/authz/authz-services.js index f56ca8f695d53443d211b838edd9d4cdd813b787..12ca4305a555ee14aade61b8d657ed155bd76def 100644 --- a/base/admin/resources/js/authz/authz-services.js +++ b/fairlogin/admin/resources/js/authz/authz-services.js @@ -178,6 +178,17 @@ module.factory('ClientManagementPermissions', function($resource) { }); }); +module.factory('IdentityProviderManagementPermissions', function($resource) { + return $resource(authUrl + '/admin/realms/:realm/identity-provider/instances/:alias/management/permissions', { + realm : '@realm', + alias : '@alias' + }, { + update: { + method: 'PUT' + } + }); +}); + module.factory('GroupManagementPermissions', function($resource) { return $resource(authUrl + '/admin/realms/:realm/groups/:group/management/permissions', { realm : '@realm', @@ -189,5 +200,11 @@ module.factory('GroupManagementPermissions', function($resource) { }); }); - +module.factory('policyState', [function () { + return { + model: { + state: {} + } + }; +}]); diff --git a/base/admin/resources/js/controllers/clients.js b/fairlogin/admin/resources/js/controllers/clients.js similarity index 98% rename from base/admin/resources/js/controllers/clients.js rename to fairlogin/admin/resources/js/controllers/clients.js index 33cb93be30270ec2fd8db496218eb98da1304cf5..ff64281eea0218a801d11d17f7ad489082e67ca7 100644 --- a/base/admin/resources/js/controllers/clients.js +++ b/fairlogin/admin/resources/js/controllers/clients.js @@ -434,10 +434,10 @@ module.controller('ClientCertificateImportCtrl', function($scope, $location, $ht //fileFormDataName: myFile, /* customize how data is added to formData. See #40#issuecomment-28612000 for example */ //formDataAppender: function(formData, key, val){} - }).success(function(data, status, headers) { + }).then(function(data, status, headers) { Notifications.success("Keystore uploaded successfully."); $location.url(redirectLocation); - }); + }) //.then(success, error, progress); } }; @@ -730,12 +730,17 @@ module.controller('ClientImportCtrl', function($scope, $location, $upload, realm module.controller('ClientListCtrl', function($scope, realm, Client, serverInfo, $route, Dialog, Notifications, filterFilter) { $scope.realm = realm; - $scope.clients = Client.query({realm: realm.realm, viewableOnly: true}); + $scope.clients = []; $scope.currentPage = 1; $scope.currentPageInput = 1; + $scope.numberOfPages = 1; $scope.pageSize = 20; - $scope.numberOfPages = Math.ceil($scope.clients.length/$scope.pageSize); - + + Client.query({realm: realm.realm, viewableOnly: true}).$promise.then(function(clients) { + $scope.numberOfPages = Math.ceil(clients.length/$scope.pageSize); + $scope.clients = clients; + }); + $scope.$watch('search', function (newVal, oldVal) { $scope.filtered = filterFilter($scope.clients, newVal); $scope.totalItems = $scope.filtered.length; @@ -743,7 +748,7 @@ module.controller('ClientListCtrl', function($scope, realm, Client, serverInfo, $scope.currentPage = 1; $scope.currentPageInput = 1; }, true); - + $scope.removeClient = function(client) { Dialog.confirmDelete(client.clientId, 'client', function() { Client.remove({ @@ -757,7 +762,14 @@ module.controller('ClientListCtrl', function($scope, realm, Client, serverInfo, }; $scope.exportClient = function(client) { - saveAs(new Blob([angular.toJson(client, 4)], { type: 'application/json' }), client.clientId + '.json'); + var clientCopy = angular.copy(client); + delete clientCopy.id; + + for (var i = 0; i < clientCopy.protocolMappers.length; i++) { + delete clientCopy.protocolMappers[i].id; + } + + saveAs(new Blob([angular.toJson(clientCopy, 4)], { type: 'application/json' }), clientCopy.clientId + '.json'); } }); @@ -1774,11 +1786,11 @@ module.controller('ClientProtocolMapperCtrl', function($scope, realm, serverInfo protocol: client.protocol, mapper: angular.copy(mapper), changed: false - } + }; var protocolMappers = serverInfo.protocolMapperTypes[client.protocol]; for (var i = 0; i < protocolMappers.length; i++) { - if (protocolMappers[i].id == mapper.protocolMapper) { + if (protocolMappers[i].id === mapper.protocolMapper) { $scope.model.mapperType = protocolMappers[i]; } } @@ -1798,7 +1810,7 @@ module.controller('ClientProtocolMapperCtrl', function($scope, realm, serverInfo ClientProtocolMapper.update({ realm : realm.realm, client: client.id, - id : mapper.id + id : $scope.model.mapper.id }, $scope.model.mapper, function() { $scope.model.changed = false; mapper = angular.copy($scope.mapper); @@ -1851,7 +1863,24 @@ module.controller('ClientProtocolMapperCreateCtrl', function($scope, realm, serv mapper: { protocol : client.protocol, config: {}}, changed: false, mapperTypes: serverInfo.protocolMapperTypes[protocol] - } + }; + + // apply default configurations on change for selected protocolmapper type. + $scope.$watch('model.mapperType', function() { + var currentMapperType = $scope.model.mapperType; + var defaultConfig = {}; + + if (currentMapperType && Array.isArray(currentMapperType.properties)) { + for (var i = 0; i < currentMapperType.properties.length; i++) { + var property = currentMapperType.properties[i]; + if (property && property.name && property.defaultValue) { + defaultConfig[property.name] = property.defaultValue; + } + } + } + + $scope.model.mapper.config = defaultConfig; + }, true); $scope.model.mapperType = $scope.model.mapperTypes[0]; @@ -2036,7 +2065,7 @@ module.controller('ClientTemplateProtocolMapperListCtrl', function($scope, realm updateMappers(); }); -module.controller('ClientTemplateProtocolMapperCtrl', function($scope, realm, serverInfo, template, mapper, clients, ClientTemplateProtocolMapper, Notifications, Dialog, $location) { +module.controller('ClientTemplateProtocolMapperCtrl', function($scope, realm, serverInfo, template, mapper, clients, ClientTemplateProtocolMapper, Notifications, Dialog, $location, $route) { $scope.realm = realm; $scope.clients = clients; @@ -2077,9 +2106,7 @@ module.controller('ClientTemplateProtocolMapperCtrl', function($scope, realm, se template: template.id, id : mapper.id }, $scope.model.mapper, function() { - $scope.model.changed = false; - mapper = angular.copy($scope.mapper); - $location.url("/realms/" + realm.realm + '/client-templates/' + template.id + "/mappers/" + $scope.model.mapper.id); + $route.reload(); Notifications.success("Your changes have been saved."); }); }; @@ -2310,4 +2337,4 @@ module.controller('ClientTemplateScopeMappingCtrl', function($scope, $http, real }; updateTemplateRealmRoles(); -}); \ No newline at end of file +}); diff --git a/base/admin/resources/js/controllers/groups.js b/fairlogin/admin/resources/js/controllers/groups.js similarity index 65% rename from base/admin/resources/js/controllers/groups.js rename to fairlogin/admin/resources/js/controllers/groups.js index a29e5ae785e9530ba7cec6f14ab4e6be1bb983d9..68a5e64d1daa98df1c8079ee2dd047a8927237d6 100644 --- a/base/admin/resources/js/controllers/groups.js +++ b/fairlogin/admin/resources/js/controllers/groups.js @@ -1,31 +1,107 @@ -module.controller('GroupListCtrl', function($scope, $route, realm, groups, Groups, Group, GroupChildren, Notifications, $location, Dialog) { +module.controller('GroupListCtrl', function($scope, $route, $q, realm, Groups, GroupsCount, Group, GroupChildren, Notifications, $location, Dialog) { $scope.realm = realm; $scope.groupList = [ - {"id" : "realm", "name": "Groups", - "subGroups" : groups} + { + "id" : "realm", + "name": "Groups", + "subGroups" : [] + } ]; + + $scope.searchTerms = ''; + $scope.currentPage = 1; + $scope.currentPageInput = $scope.currentPage; + $scope.pageSize = 30; $scope.tree = []; + var refreshGroups = function (search) { + console.log('refreshGroups'); + + var first = ($scope.currentPage * $scope.pageSize) - $scope.pageSize; + console.log('first:' + first); + var queryParams = { + realm : realm.realm, + first : first, + max : $scope.pageSize + }; + var countParams = { + realm : realm.realm, + top : 'true' + }; + + if(angular.isDefined(search) && search !== '') { + queryParams.search = search; + countParams.search = search; + } + + var promiseGetGroups = $q.defer(); + Groups.query(queryParams, function(entry) { + promiseGetGroups.resolve(entry); + }, function() { + promiseGetGroups.reject('Unable to fetch ' + queryParams); + }); + var promiseGetGroupsChain = promiseGetGroups.promise.then(function(groups) { + console.log('*** group call groups size: ' + groups.length); + console.log('*** group call groups size: ' + groups.length); + $scope.groupList = [ + { + "id" : "realm", + "name": "Groups", + "subGroups" : groups + } + ]; + }); + + var promiseCount = $q.defer(); + console.log('countParams: realm[' + countParams.realm); + GroupsCount.query(countParams, function(entry) { + promiseCount.resolve(entry); + }, function() { + promiseCount.reject('Unable to fetch ' + countParams); + }); + var promiseCountChain = promiseCount.promise.then(function(groupsCount) { + $scope.numberOfPages = Math.ceil(groupsCount.count/$scope.pageSize); + }); + }; + refreshGroups(); + + $scope.$watch('currentPage', function(newValue, oldValue) { + if(newValue !== oldValue) { + refreshGroups($scope.searchTerms); + } + }); + + $scope.clearSearch = function() { + $scope.searchTerms = ''; + $scope.currentPage = 1; + refreshGroups(); + }; + + $scope.searchGroup = function() { + $scope.currentPage = 1; + refreshGroups($scope.searchTerms); + }; + $scope.edit = function(selected) { - if (selected.id == 'realm') return; + if (selected.id === 'realm') return; $location.url("/realms/" + realm.realm + "/groups/" + selected.id); - } + }; $scope.cut = function(selected) { $scope.cutNode = selected; - } + }; $scope.isDisabled = function() { if (!$scope.tree.currentNode) return true; - return $scope.tree.currentNode.id == 'realm'; - } + return $scope.tree.currentNode.id === 'realm'; + }; $scope.paste = function(selected) { - if (selected == null) return; - if ($scope.cutNode == null) return; - if (selected.id == $scope.cutNode.id) return; - if (selected.id == 'realm') { + if (selected === null) return; + if ($scope.cutNode === null) return; + if (selected.id === $scope.cutNode.id) return; + if (selected.id === 'realm') { Groups.save({realm: realm.realm}, {id:$scope.cutNode.id}, function() { $route.reload(); Notifications.success("Group moved."); @@ -41,10 +117,10 @@ module.controller('GroupListCtrl', function($scope, $route, realm, groups, Group } - } + }; $scope.remove = function(selected) { - if (selected == null) return; + if (selected === null) return; Dialog.confirmDelete(selected.name, 'group', function() { Group.remove({ realm: realm.realm, groupId : selected.id }, function() { $route.reload(); @@ -52,7 +128,7 @@ module.controller('GroupListCtrl', function($scope, $route, realm, groups, Group }); }); - } + }; $scope.createGroup = function(selected) { var parent = 'realm'; @@ -61,13 +137,13 @@ module.controller('GroupListCtrl', function($scope, $route, realm, groups, Group } $location.url("/create/group/" + realm.realm + '/parent/' + parent); - } + }; var isLeaf = function(node) { - return node.id != "realm" && (!node.subGroups || node.subGroups.length == 0); - } + return node.id !== "realm" && (!node.subGroups || node.subGroups.length === 0); + }; $scope.getGroupClass = function(node) { - if (node.id == "realm") { + if (node.id === "realm") { return 'pficon pficon-users'; } if (isLeaf(node)) { @@ -77,12 +153,12 @@ module.controller('GroupListCtrl', function($scope, $route, realm, groups, Group if (node.subGroups.length && !node.collapsed) return 'expanded'; return 'collapsed'; - } + }; $scope.getSelectedClass = function(node) { if (node.selected) { return 'selected'; - } else if ($scope.cutNode && $scope.cutNode.id == node.id) { + } else if ($scope.cutNode && $scope.cutNode.id === node.id) { return 'cut'; } return undefined; @@ -95,8 +171,8 @@ module.controller('GroupCreateCtrl', function($scope, $route, realm, parentId, G $scope.group = {}; $scope.save = function() { console.log('save!!!'); - if (parentId == 'realm') { - console.log('realm') + if (parentId === 'realm') { + console.log('realm'); Groups.save({realm: realm.realm}, $scope.group, function(data, headers) { var l = headers().location; @@ -120,7 +196,7 @@ module.controller('GroupCreateCtrl', function($scope, $route, realm, parentId, G } - } + }; $scope.cancel = function() { $location.url("/realms/" + realm.realm + "/groups"); }; @@ -138,6 +214,7 @@ module.controller('GroupTabCtrl', function(Dialog, $scope, Current, Group, Notif }); }); }; + $scope.sortType = 'username'; $scope.sortReverse = false; $scope.searchTerm = ""; @@ -179,8 +256,7 @@ module.controller('GroupDetailCtrl', function(Dialog, $scope, realm, group, Grou var attrs = $scope.group.attributes; for (var attribute in attrs) { if (typeof attrs[attribute] === "string") { - var attrVals = attrs[attribute].split("##"); - attrs[attribute] = attrVals; + attrs[attribute] = attrs[attribute].split("##"); } } } @@ -189,8 +265,7 @@ module.controller('GroupDetailCtrl', function(Dialog, $scope, realm, group, Grou var attrs = group.attributes; for (var attribute in attrs) { if (typeof attrs[attribute] === "object") { - var attrVals = attrs[attribute].join("##"); - attrs[attribute] = attrVals; + attrs[attribute] = attrs[attribute].join("##"); } } } @@ -215,8 +290,8 @@ module.controller('GroupDetailCtrl', function(Dialog, $scope, realm, group, Grou }); module.controller('GroupRoleMappingCtrl', function($scope, $http, realm, group, clients, client, Notifications, GroupRealmRoleMapping, - GroupClientRoleMapping, GroupAvailableRealmRoleMapping, GroupAvailableClientRoleMapping, - GroupCompositeRealmRoleMapping, GroupCompositeClientRoleMapping) { + GroupClientRoleMapping, GroupAvailableRealmRoleMapping, GroupAvailableClientRoleMapping, + GroupCompositeRealmRoleMapping, GroupCompositeClientRoleMapping) { $scope.realm = realm; $scope.group = group; $scope.selectedRealmRoles = []; @@ -240,70 +315,70 @@ module.controller('GroupRoleMappingCtrl', function($scope, $http, realm, group, $scope.selectedRealmRoles = []; $http.post(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/realm', roles).then(function() { - $scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.selectedRealmMappings = []; - $scope.selectRealmRoles = []; - if ($scope.targetClient) { - console.log('load available'); - $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.selectedClientRoles = []; - $scope.selectedClientMappings = []; - } - Notifications.success("Role mappings updated."); + $scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.selectedRealmMappings = []; + $scope.selectRealmRoles = []; + if ($scope.targetClient) { + console.log('load available'); + $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.selectedClientRoles = []; + $scope.selectedClientMappings = []; + } + Notifications.success("Role mappings updated."); - }); + }); }; $scope.deleteRealmRole = function() { $http.delete(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/realm', {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).then(function() { - $scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.selectedRealmMappings = []; - $scope.selectRealmRoles = []; - if ($scope.targetClient) { - console.log('load available'); - $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.selectedClientRoles = []; - $scope.selectedClientMappings = []; - } - Notifications.success("Role mappings updated."); - }); + $scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.selectedRealmMappings = []; + $scope.selectRealmRoles = []; + if ($scope.targetClient) { + console.log('load available'); + $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.selectedClientRoles = []; + $scope.selectedClientMappings = []; + } + Notifications.success("Role mappings updated."); + }); }; $scope.addClientRole = function() { $http.post(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/clients/' + $scope.targetClient.id, $scope.selectedClientRoles).then(function() { - $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.selectedClientRoles = []; - $scope.selectedClientMappings = []; - $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - Notifications.success("Role mappings updated."); - }); + $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.selectedClientRoles = []; + $scope.selectedClientMappings = []; + $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + Notifications.success("Role mappings updated."); + }); }; $scope.deleteClientRole = function() { $http.delete(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/clients/' + $scope.targetClient.id, {data : $scope.selectedClientMappings, headers : {"content-type" : "application/json"}}).then(function() { - $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); - $scope.selectedClientRoles = []; - $scope.selectedClientMappings = []; - $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); - Notifications.success("Role mappings updated."); - }); + $scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.targetClient.id}); + $scope.selectedClientRoles = []; + $scope.selectedClientMappings = []; + $scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + $scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id}); + Notifications.success("Role mappings updated."); + }); }; @@ -335,13 +410,13 @@ module.controller('GroupMembersCtrl', function($scope, realm, group, GroupMember groupId: group.id, max : 20, first : 0 - } + }; $scope.firstPage = function() { $scope.query.first = 0; $scope.searchQuery(); - } + }; $scope.previousPage = function() { $scope.query.first -= parseInt($scope.query.max); @@ -349,12 +424,12 @@ module.controller('GroupMembersCtrl', function($scope, realm, group, GroupMember $scope.query.first = 0; } $scope.searchQuery(); - } + }; $scope.nextPage = function() { $scope.query.first += parseInt($scope.query.max); $scope.searchQuery(); - } + }; $scope.searchQuery = function() { console.log("query.search: " + $scope.query.search); @@ -371,7 +446,7 @@ module.controller('GroupMembersCtrl', function($scope, realm, group, GroupMember }); -module.controller('DefaultGroupsCtrl', function($scope, $route, realm, groups, DefaultGroups, Notifications, $location, Dialog) { +module.controller('DefaultGroupsCtrl', function($scope, $route, realm, groups, DefaultGroups, Notifications) { $scope.realm = realm; $scope.groupList = groups; $scope.selectedGroup = null; @@ -386,7 +461,7 @@ module.controller('DefaultGroupsCtrl', function($scope, $route, realm, groups, D if (!$scope.tree.currentNode) { Notifications.error('Please select a group to add'); return; - }; + } DefaultGroups.update({realm: realm.realm, groupId: $scope.tree.currentNode.id}, function() { Notifications.success('Added default group'); @@ -404,11 +479,11 @@ module.controller('DefaultGroupsCtrl', function($scope, $route, realm, groups, D }; var isLeaf = function(node) { - return node.id != "realm" && (!node.subGroups || node.subGroups.length == 0); + return node.id !== "realm" && (!node.subGroups || node.subGroups.length === 0); }; $scope.getGroupClass = function(node) { - if (node.id == "realm") { + if (node.id === "realm") { return 'pficon pficon-users'; } if (isLeaf(node)) { @@ -418,12 +493,12 @@ module.controller('DefaultGroupsCtrl', function($scope, $route, realm, groups, D if (node.subGroups.length && !node.collapsed) return 'expanded'; return 'collapsed'; - } + }; $scope.getSelectedClass = function(node) { if (node.selected) { return 'selected'; - } else if ($scope.cutNode && $scope.cutNode.id == node.id) { + } else if ($scope.cutNode && $scope.cutNode.id === node.id) { return 'cut'; } return undefined; diff --git a/base/admin/resources/js/controllers/realm.js b/fairlogin/admin/resources/js/controllers/realm.js similarity index 96% rename from base/admin/resources/js/controllers/realm.js rename to fairlogin/admin/resources/js/controllers/realm.js index 77dc9cdb4ebe237b125a89353d7090a51dec3374..1eb68afdb71e09d5b3aa8e7c704bbaf0154f71ac 100644 --- a/base/admin/resources/js/controllers/realm.js +++ b/fairlogin/admin/resources/js/controllers/realm.js @@ -338,7 +338,7 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, ser }; }); -function genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, url) { +function genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications, url) { $scope.realm = angular.copy(realm); $scope.serverInfo = serverInfo; $scope.registrationAllowed = $scope.realm.registrationAllowed; @@ -352,23 +352,14 @@ function genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $l $scope.changed = true; } }, true); - + $scope.save = function() { var realmCopy = angular.copy($scope.realm); console.log('updating realm...'); $scope.changed = false; console.log('oldCopy.realm - ' + oldCopy.realm); Realm.update({ id : oldCopy.realm}, realmCopy, function () { - var data = Realm.query(function () { - Current.realms = data; - for (var i = 0; i < Current.realms.length; i++) { - if (Current.realms[i].realm == realmCopy.realm) { - Current.realm = Current.realms[i]; - oldCopy = angular.copy($scope.realm); - } - } - }); - $location.url(url); + $route.reload(); Notifications.success("Your changes have been saved to the realm."); $scope.registrationAllowed = $scope.realm.registrationAllowed; }); @@ -380,29 +371,35 @@ function genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $l }; $scope.cancel = function() { - //$location.url("/realms"); - window.history.back(); + $route.reload(); }; } -module.controller('DefenseHeadersCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) { - genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/defense/headers"); +module.controller('DefenseHeadersCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications) { + genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications, "/realms/" + realm.realm + "/defense/headers"); }); -module.controller('RealmLoginSettingsCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) { - genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/login-settings"); +module.controller('RealmLoginSettingsCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications) { + // KEYCLOAK-5474: Make sure duplicateEmailsAllowed is disabled if loginWithEmailAllowed + $scope.$watch('realm.loginWithEmailAllowed', function() { + if ($scope.realm.loginWithEmailAllowed) { + $scope.realm.duplicateEmailsAllowed = false; + } + }); + + genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications, "/realms/" + realm.realm + "/login-settings"); }); -module.controller('RealmOtpPolicyCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) { +module.controller('RealmOtpPolicyCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications) { $scope.optionsDigits = [ 6, 8 ]; - genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/authentication/otp-policy"); + genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications, "/realms/" + realm.realm + "/authentication/otp-policy"); }); -module.controller('RealmThemeCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) { - genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/theme-settings"); +module.controller('RealmThemeCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications) { + genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $route, Dialog, Notifications, "/realms/" + realm.realm + "/theme-settings"); $scope.supportedLocalesOptions = { 'multiple' : true, @@ -524,13 +521,11 @@ module.controller('RealmPasswordPolicyCtrl', function($scope, Realm, realm, $htt } var policyString = ""; for (var i = 0; i < policies.length; i++) { - policyString += policies[i].id; - if (policies[i].value && policies[i].value != policies[i].defaultValue) { - policyString += '(' + policies[i].value + ')'; + policyString += policies[i].id + '(' + policies[i].value + ')'; + if (i != policies.length - 1) { + policyString += ' and '; } - policyString += " and "; } - policyString = policyString.substring(0, policyString.length - 5); return policyString; } @@ -560,7 +555,7 @@ module.controller('RealmPasswordPolicyCtrl', function($scope, Realm, realm, $htt $scope.save = function() { $scope.realm.passwordPolicy = toString($scope.policy); - console.debug($scope.realm.passwordPolicy); + console.log($scope.realm.passwordPolicy); Realm.update($scope.realm, function () { $route.reload(); @@ -855,9 +850,11 @@ module.controller('RealmIdentityProviderCtrl', function($scope, $filter, $upload $scope.serverInfo = serverInfo; $scope.allProviders = angular.copy(serverInfo.identityProviders); - + $scope.configuredProviders = angular.copy(realm.identityProviders); + removeUsedSocial(); + $scope.authFlows = []; for (var i=0 ; i tag. + // In HTML you will then use property.mvOptions like this: + // {{:: 'authentication-flows' | translate}}
  • {{flow.alias | capitalize}}
  • {{:: 'create-authenticator-config' | translate}}
  • -
  • {{config.alias}}
  • +
  • {{config.alias}}
  • +
  • {{config.id}}
  • {{:: 'create-authenticator-config' | translate}}

    -

    {{config.alias|capitalize}}

    +

    + {{config.alias|capitalize}} + {{config.id}} + +

    - - -
    diff --git a/fairlogin/admin/resources/partials/authz/mgmt/broker-permissions.html b/fairlogin/admin/resources/partials/authz/mgmt/broker-permissions.html new file mode 100644 index 0000000000000000000000000000000000000000..2e389ff920dd8e0ceaa51409f2955f33ee6eb07b --- /dev/null +++ b/fairlogin/admin/resources/partials/authz/mgmt/broker-permissions.html @@ -0,0 +1,40 @@ +
    + + + + + +
    +
    + +
    + +
    + {{:: 'permissions-enabled-role.tooltip' | translate}} +
    +
    + + + + + + + + + + + + + + + + + + +
    + + \ No newline at end of file diff --git a/base/admin/resources/partials/authz/mgmt/client-permissions.html b/fairlogin/admin/resources/partials/authz/mgmt/client-permissions.html similarity index 100% rename from base/admin/resources/partials/authz/mgmt/client-permissions.html rename to fairlogin/admin/resources/partials/authz/mgmt/client-permissions.html diff --git a/base/admin/resources/partials/authz/mgmt/client-role-permissions.html b/fairlogin/admin/resources/partials/authz/mgmt/client-role-permissions.html similarity index 100% rename from base/admin/resources/partials/authz/mgmt/client-role-permissions.html rename to fairlogin/admin/resources/partials/authz/mgmt/client-role-permissions.html diff --git a/base/admin/resources/partials/authz/mgmt/group-permissions.html b/fairlogin/admin/resources/partials/authz/mgmt/group-permissions.html similarity index 100% rename from base/admin/resources/partials/authz/mgmt/group-permissions.html rename to fairlogin/admin/resources/partials/authz/mgmt/group-permissions.html diff --git a/base/admin/resources/partials/authz/mgmt/realm-role-permissions.html b/fairlogin/admin/resources/partials/authz/mgmt/realm-role-permissions.html similarity index 100% rename from base/admin/resources/partials/authz/mgmt/realm-role-permissions.html rename to fairlogin/admin/resources/partials/authz/mgmt/realm-role-permissions.html diff --git a/base/admin/resources/partials/authz/mgmt/users-permissions.html b/fairlogin/admin/resources/partials/authz/mgmt/users-permissions.html similarity index 100% rename from base/admin/resources/partials/authz/mgmt/users-permissions.html rename to fairlogin/admin/resources/partials/authz/mgmt/users-permissions.html diff --git a/base/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html b/fairlogin/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html similarity index 63% rename from base/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html rename to fairlogin/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html index 6a02a0ad45bbaa4129e67dc78724cfb6122220fa..4716d7fcbcde5fd982d815bc54d36ea68feb0423 100644 --- a/base/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html +++ b/fairlogin/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html @@ -54,11 +54,51 @@
    - -
    - +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    {{:: 'name' | translate}}{{:: 'description' | translate}}{{:: 'actions' | translate}}
    {{policy.name}}{{policy.name}}{{policy.description}} + {{:: 'remove' | translate}} +
    {{:: 'authz-no-policies-assigned' | translate}}
    - {{:: 'authz-policy-apply-policy.tooltip' | translate}}
    @@ -81,7 +121,7 @@
    - +
    diff --git a/base/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html b/fairlogin/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html similarity index 64% rename from base/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html rename to fairlogin/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html index df4377fd77a247fdff085042761571c00639488c..a7c5f3da1daf9f455226bc1201cf3076f2797832 100644 --- a/base/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html +++ b/fairlogin/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html @@ -58,11 +58,51 @@
    - -
    - +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    {{:: 'name' | translate}}{{:: 'description' | translate}}{{:: 'actions' | translate}}
    {{policy.name}}{{policy.name}}{{policy.description}} + {{:: 'remove' | translate}} +
    {{:: 'authz-no-policies-assigned' | translate}}
    - {{:: 'authz-policy-apply-policy.tooltip' | translate}}
    @@ -84,7 +124,7 @@
    - +
    diff --git a/base/admin/resources/partials/authz/permission/resource-server-permission-list.html b/fairlogin/admin/resources/partials/authz/permission/resource-server-permission-list.html similarity index 100% rename from base/admin/resources/partials/authz/permission/resource-server-permission-list.html rename to fairlogin/admin/resources/partials/authz/permission/resource-server-permission-list.html diff --git a/base/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html b/fairlogin/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html similarity index 56% rename from base/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html rename to fairlogin/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html index 11d08270e56b22d1d2e01d0c92a84323d802848d..25be65b18df1473e2e83028503bfc21896487049 100644 --- a/base/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html +++ b/fairlogin/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html @@ -5,6 +5,8 @@
  • {{client.clientId}}
  • {{:: 'authz-authorization' | translate}}
  • {{:: 'authz-policies' | translate}}
  • +
  • {{policyState.state.policy.name}}
  • +
  • {{:: policyState.state.previousPage.name | translate}}
  • {{:: 'authz-add-aggregated-policy' | translate}}
  • {{:: 'authz-aggregated' | translate}}
  • {{originalPolicy.name}}
  • @@ -32,15 +34,55 @@
    - -
    - +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    {{:: 'name' | translate}}{{:: 'description' | translate}}{{:: 'actions' | translate}}
    {{policy.name}}{{policy.name}}{{policy.description}} + {{:: 'remove' | translate}} +
    {{:: 'authz-no-policies-assigned' | translate}}
    {{:: 'authz-policy-apply-policy.tooltip' | translate}}
    -
    - -
    @@ -34,16 +31,16 @@ {{:: 'key-alias.tooltip' | translate}}
    - +
    - +
    {{:: 'key-password.tooltip' | translate}}
    - +
    - +
    {{:: 'store-password.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/client-credentials-jwt-key-import.html b/fairlogin/admin/resources/partials/client-credentials-jwt-key-import.html similarity index 88% rename from base/admin/resources/partials/client-credentials-jwt-key-import.html rename to fairlogin/admin/resources/partials/client-credentials-jwt-key-import.html index ec88cd6f65551d91ac5546cad7f471c2798fb3fe..6ea01180f18c98622f84dc0cc51944430d31d2c0 100644 --- a/base/admin/resources/partials/client-credentials-jwt-key-import.html +++ b/fairlogin/admin/resources/partials/client-credentials-jwt-key-import.html @@ -10,9 +10,6 @@

    {{:: 'import-client-certificate' | translate}}

    - - -
    @@ -34,9 +31,9 @@ {{:: 'jwt-import.key-alias.tooltip' | translate}}
    - +
    - +
    {{:: 'store-password.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/client-credentials-jwt.html b/fairlogin/admin/resources/partials/client-credentials-jwt.html similarity index 100% rename from base/admin/resources/partials/client-credentials-jwt.html rename to fairlogin/admin/resources/partials/client-credentials-jwt.html diff --git a/base/admin/resources/partials/client-credentials-secret.html b/fairlogin/admin/resources/partials/client-credentials-secret.html similarity index 100% rename from base/admin/resources/partials/client-credentials-secret.html rename to fairlogin/admin/resources/partials/client-credentials-secret.html diff --git a/base/admin/resources/partials/client-credentials.html b/fairlogin/admin/resources/partials/client-credentials.html similarity index 100% rename from base/admin/resources/partials/client-credentials.html rename to fairlogin/admin/resources/partials/client-credentials.html diff --git a/base/admin/resources/partials/client-detail.html b/fairlogin/admin/resources/partials/client-detail.html similarity index 99% rename from base/admin/resources/partials/client-detail.html rename to fairlogin/admin/resources/partials/client-detail.html index df54903a403c26e3e5082337a73fb4401262d32d..88d765a900968711c9b97929daac4d3d0ce095ac 100644 --- a/base/admin/resources/partials/client-detail.html +++ b/fairlogin/admin/resources/partials/client-detail.html @@ -306,7 +306,7 @@
    {{:: 'idp-sso-relay-state.tooltip' | translate}}
    -
    +
    diff --git a/base/admin/resources/partials/client-import.html b/fairlogin/admin/resources/partials/client-import.html similarity index 100% rename from base/admin/resources/partials/client-import.html rename to fairlogin/admin/resources/partials/client-import.html diff --git a/base/admin/resources/partials/client-initial-access-create.html b/fairlogin/admin/resources/partials/client-initial-access-create.html similarity index 100% rename from base/admin/resources/partials/client-initial-access-create.html rename to fairlogin/admin/resources/partials/client-initial-access-create.html diff --git a/base/admin/resources/partials/client-initial-access.html b/fairlogin/admin/resources/partials/client-initial-access.html similarity index 100% rename from base/admin/resources/partials/client-initial-access.html rename to fairlogin/admin/resources/partials/client-initial-access.html diff --git a/base/admin/resources/partials/client-installation.html b/fairlogin/admin/resources/partials/client-installation.html similarity index 100% rename from base/admin/resources/partials/client-installation.html rename to fairlogin/admin/resources/partials/client-installation.html diff --git a/base/admin/resources/partials/client-keys.html b/fairlogin/admin/resources/partials/client-keys.html similarity index 88% rename from base/admin/resources/partials/client-keys.html rename to fairlogin/admin/resources/partials/client-keys.html index c74f54f4fd25acd17790ced657a91c2e3e97cd2f..c412e27269ecd946a500bc9e07370b971f90d475 100644 --- a/base/admin/resources/partials/client-keys.html +++ b/fairlogin/admin/resources/partials/client-keys.html @@ -8,9 +8,6 @@ - - -
    {{:: 'import-keys-and-cert' | translate}} {{:: 'import-keys-and-cert.tooltip' | translate}}
    @@ -33,16 +30,16 @@ {{:: 'key-alias.tooltip' | translate}}
    - +
    - +
    {{:: 'key-password.tooltip' | translate}}
    - +
    - +
    {{:: 'store-password.tooltip' | translate}}
    @@ -85,9 +82,9 @@ Archive alias for your private key and certificate.
    - +
    - +
    Password to access the private key in the archive
    @@ -99,9 +96,9 @@ Realm certificate is stored in archive too. This is the alias to it.
    - +
    - +
    Password to access the archive itself
    diff --git a/base/admin/resources/partials/client-list.html b/fairlogin/admin/resources/partials/client-list.html similarity index 100% rename from base/admin/resources/partials/client-list.html rename to fairlogin/admin/resources/partials/client-list.html diff --git a/base/admin/resources/partials/client-mappers-add.html b/fairlogin/admin/resources/partials/client-mappers-add.html similarity index 100% rename from base/admin/resources/partials/client-mappers-add.html rename to fairlogin/admin/resources/partials/client-mappers-add.html diff --git a/base/admin/resources/partials/client-mappers.html b/fairlogin/admin/resources/partials/client-mappers.html similarity index 100% rename from base/admin/resources/partials/client-mappers.html rename to fairlogin/admin/resources/partials/client-mappers.html diff --git a/base/admin/resources/partials/client-offline-sessions.html b/fairlogin/admin/resources/partials/client-offline-sessions.html similarity index 100% rename from base/admin/resources/partials/client-offline-sessions.html rename to fairlogin/admin/resources/partials/client-offline-sessions.html diff --git a/base/admin/resources/partials/client-protocol-mapper-detail.html b/fairlogin/admin/resources/partials/client-protocol-mapper-detail.html similarity index 100% rename from base/admin/resources/partials/client-protocol-mapper-detail.html rename to fairlogin/admin/resources/partials/client-protocol-mapper-detail.html diff --git a/base/admin/resources/partials/client-reg-policies.html b/fairlogin/admin/resources/partials/client-reg-policies.html similarity index 100% rename from base/admin/resources/partials/client-reg-policies.html rename to fairlogin/admin/resources/partials/client-reg-policies.html diff --git a/base/admin/resources/partials/client-reg-policy-detail.html b/fairlogin/admin/resources/partials/client-reg-policy-detail.html similarity index 100% rename from base/admin/resources/partials/client-reg-policy-detail.html rename to fairlogin/admin/resources/partials/client-reg-policy-detail.html diff --git a/base/admin/resources/partials/client-reg-trusted-host-create.html b/fairlogin/admin/resources/partials/client-reg-trusted-host-create.html similarity index 100% rename from base/admin/resources/partials/client-reg-trusted-host-create.html rename to fairlogin/admin/resources/partials/client-reg-trusted-host-create.html diff --git a/base/admin/resources/partials/client-reg-trusted-host-detail.html b/fairlogin/admin/resources/partials/client-reg-trusted-host-detail.html similarity index 100% rename from base/admin/resources/partials/client-reg-trusted-host-detail.html rename to fairlogin/admin/resources/partials/client-reg-trusted-host-detail.html diff --git a/base/admin/resources/partials/client-registration-access-token.html b/fairlogin/admin/resources/partials/client-registration-access-token.html similarity index 100% rename from base/admin/resources/partials/client-registration-access-token.html rename to fairlogin/admin/resources/partials/client-registration-access-token.html diff --git a/base/admin/resources/partials/client-revocation.html b/fairlogin/admin/resources/partials/client-revocation.html similarity index 100% rename from base/admin/resources/partials/client-revocation.html rename to fairlogin/admin/resources/partials/client-revocation.html diff --git a/base/admin/resources/partials/client-role-detail.html b/fairlogin/admin/resources/partials/client-role-detail.html similarity index 100% rename from base/admin/resources/partials/client-role-detail.html rename to fairlogin/admin/resources/partials/client-role-detail.html diff --git a/base/admin/resources/partials/client-role-list.html b/fairlogin/admin/resources/partials/client-role-list.html similarity index 100% rename from base/admin/resources/partials/client-role-list.html rename to fairlogin/admin/resources/partials/client-role-list.html diff --git a/base/admin/resources/partials/client-saml-key-export.html b/fairlogin/admin/resources/partials/client-saml-key-export.html similarity index 83% rename from base/admin/resources/partials/client-saml-key-export.html rename to fairlogin/admin/resources/partials/client-saml-key-export.html index ec51e9674fc6fd3d2099880097eeb627eaffe55b..1c8f73732643aeeeac89ebadb9ce37bcffeaf485 100644 --- a/base/admin/resources/partials/client-saml-key-export.html +++ b/fairlogin/admin/resources/partials/client-saml-key-export.html @@ -10,9 +10,6 @@

    {{:: 'export-saml-key' | translate}} {{client.clientId|capitalize}}

    - - -
    @@ -34,9 +31,9 @@ {{:: 'key-alias.tooltip' | translate}}
    - +
    - +
    {{:: 'key-password.tooltip' | translate}}
    @@ -48,9 +45,9 @@ {{:: 'realm-certificate-alias.tooltip' | translate}}
    - +
    - +
    {{:: 'store-password.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/client-saml-key-import.html b/fairlogin/admin/resources/partials/client-saml-key-import.html similarity index 88% rename from base/admin/resources/partials/client-saml-key-import.html rename to fairlogin/admin/resources/partials/client-saml-key-import.html index a580a61b1895d1af09f1ac6aea04484501694742..5b14c24f603d21edaa88e2e1d04b0845db059e41 100644 --- a/base/admin/resources/partials/client-saml-key-import.html +++ b/fairlogin/admin/resources/partials/client-saml-key-import.html @@ -10,9 +10,6 @@

    {{:: 'import-saml-key' | translate}} {{client.clientId|capitalize}}

    - - -
    @@ -34,9 +31,9 @@ {{:: 'key-alias.tooltip' | translate}}
    - +
    - +
    {{:: 'store-password.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/client-saml-keys.html b/fairlogin/admin/resources/partials/client-saml-keys.html similarity index 100% rename from base/admin/resources/partials/client-saml-keys.html rename to fairlogin/admin/resources/partials/client-saml-keys.html diff --git a/base/admin/resources/partials/client-scope-mappings.html b/fairlogin/admin/resources/partials/client-scope-mappings.html similarity index 100% rename from base/admin/resources/partials/client-scope-mappings.html rename to fairlogin/admin/resources/partials/client-scope-mappings.html diff --git a/base/admin/resources/partials/client-service-account-roles.html b/fairlogin/admin/resources/partials/client-service-account-roles.html similarity index 100% rename from base/admin/resources/partials/client-service-account-roles.html rename to fairlogin/admin/resources/partials/client-service-account-roles.html diff --git a/base/admin/resources/partials/client-sessions.html b/fairlogin/admin/resources/partials/client-sessions.html similarity index 100% rename from base/admin/resources/partials/client-sessions.html rename to fairlogin/admin/resources/partials/client-sessions.html diff --git a/base/admin/resources/partials/client-template-detail.html b/fairlogin/admin/resources/partials/client-template-detail.html similarity index 100% rename from base/admin/resources/partials/client-template-detail.html rename to fairlogin/admin/resources/partials/client-template-detail.html diff --git a/base/admin/resources/partials/client-template-list.html b/fairlogin/admin/resources/partials/client-template-list.html similarity index 100% rename from base/admin/resources/partials/client-template-list.html rename to fairlogin/admin/resources/partials/client-template-list.html diff --git a/base/admin/resources/partials/client-template-mappers-add.html b/fairlogin/admin/resources/partials/client-template-mappers-add.html similarity index 100% rename from base/admin/resources/partials/client-template-mappers-add.html rename to fairlogin/admin/resources/partials/client-template-mappers-add.html diff --git a/base/admin/resources/partials/client-template-mappers.html b/fairlogin/admin/resources/partials/client-template-mappers.html similarity index 100% rename from base/admin/resources/partials/client-template-mappers.html rename to fairlogin/admin/resources/partials/client-template-mappers.html diff --git a/base/admin/resources/partials/client-template-protocol-mapper-detail.html b/fairlogin/admin/resources/partials/client-template-protocol-mapper-detail.html similarity index 100% rename from base/admin/resources/partials/client-template-protocol-mapper-detail.html rename to fairlogin/admin/resources/partials/client-template-protocol-mapper-detail.html diff --git a/base/admin/resources/partials/client-template-scope-mappings.html b/fairlogin/admin/resources/partials/client-template-scope-mappings.html similarity index 100% rename from base/admin/resources/partials/client-template-scope-mappings.html rename to fairlogin/admin/resources/partials/client-template-scope-mappings.html diff --git a/base/admin/resources/partials/create-client.html b/fairlogin/admin/resources/partials/create-client.html similarity index 100% rename from base/admin/resources/partials/create-client.html rename to fairlogin/admin/resources/partials/create-client.html diff --git a/base/admin/resources/partials/create-execution.html b/fairlogin/admin/resources/partials/create-execution.html similarity index 100% rename from base/admin/resources/partials/create-execution.html rename to fairlogin/admin/resources/partials/create-execution.html diff --git a/base/admin/resources/partials/create-flow-execution.html b/fairlogin/admin/resources/partials/create-flow-execution.html similarity index 100% rename from base/admin/resources/partials/create-flow-execution.html rename to fairlogin/admin/resources/partials/create-flow-execution.html diff --git a/base/admin/resources/partials/create-flow.html b/fairlogin/admin/resources/partials/create-flow.html similarity index 100% rename from base/admin/resources/partials/create-flow.html rename to fairlogin/admin/resources/partials/create-flow.html diff --git a/base/admin/resources/partials/create-group.html b/fairlogin/admin/resources/partials/create-group.html similarity index 100% rename from base/admin/resources/partials/create-group.html rename to fairlogin/admin/resources/partials/create-group.html diff --git a/base/admin/resources/partials/default-groups.html b/fairlogin/admin/resources/partials/default-groups.html similarity index 100% rename from base/admin/resources/partials/default-groups.html rename to fairlogin/admin/resources/partials/default-groups.html diff --git a/base/admin/resources/partials/defense-headers.html b/fairlogin/admin/resources/partials/defense-headers.html similarity index 85% rename from base/admin/resources/partials/defense-headers.html rename to fairlogin/admin/resources/partials/defense-headers.html index f2787cda7491833bbf4c9ce24b6bca82a8a19f16..0a8ffbd262b96e54a45ed5869b8059473030957d 100644 --- a/base/admin/resources/partials/defense-headers.html +++ b/fairlogin/admin/resources/partials/defense-headers.html @@ -43,6 +43,13 @@
    {{:: 'x-xss-protection-tooltip' | translate}} +
    + +
    + +
    + {{:: 'strict-transport-security-tooltip' | translate}} +
    diff --git a/base/admin/resources/partials/forbidden.html b/fairlogin/admin/resources/partials/forbidden.html similarity index 100% rename from base/admin/resources/partials/forbidden.html rename to fairlogin/admin/resources/partials/forbidden.html diff --git a/base/admin/resources/partials/group-attributes.html b/fairlogin/admin/resources/partials/group-attributes.html similarity index 100% rename from base/admin/resources/partials/group-attributes.html rename to fairlogin/admin/resources/partials/group-attributes.html diff --git a/base/admin/resources/partials/group-detail.html b/fairlogin/admin/resources/partials/group-detail.html similarity index 100% rename from base/admin/resources/partials/group-detail.html rename to fairlogin/admin/resources/partials/group-detail.html diff --git a/fairlogin/admin/resources/partials/group-list.html b/fairlogin/admin/resources/partials/group-list.html new file mode 100644 index 0000000000000000000000000000000000000000..7ad6f657b403f8e4e14f400ee211766e526a9dab --- /dev/null +++ b/fairlogin/admin/resources/partials/group-list.html @@ -0,0 +1,50 @@ +
    + + + + + + + + + + + + + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + + \ No newline at end of file diff --git a/fairlogin/admin/resources/partials/group-members.html b/fairlogin/admin/resources/partials/group-members.html new file mode 100644 index 0000000000000000000000000000000000000000..608725c62f359fcf175b99c6e2d64bfa49bea089 --- /dev/null +++ b/fairlogin/admin/resources/partials/group-members.html @@ -0,0 +1,74 @@ +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {{:: 'username' | translate}} + + + {{:: 'last-name' | translate}} + + + {{:: 'first-name' | translate}} + + + {{:: 'email' | translate}} + + +
    +
    + + + +
    +
    + {{user.username}} + {{user.lastName}}{{user.firstName}}{{user.email}}{{:: 'edit' | translate}}
    {{:: 'no-group-members' | translate}}{{:: 'no-group-members' | translate}}
    +
    + + \ No newline at end of file diff --git a/base/admin/resources/partials/group-role-mappings.html b/fairlogin/admin/resources/partials/group-role-mappings.html similarity index 100% rename from base/admin/resources/partials/group-role-mappings.html rename to fairlogin/admin/resources/partials/group-role-mappings.html diff --git a/base/admin/resources/partials/home.html b/fairlogin/admin/resources/partials/home.html similarity index 100% rename from base/admin/resources/partials/home.html rename to fairlogin/admin/resources/partials/home.html diff --git a/base/admin/resources/partials/identity-provider-mapper-detail.html b/fairlogin/admin/resources/partials/identity-provider-mapper-detail.html similarity index 100% rename from base/admin/resources/partials/identity-provider-mapper-detail.html rename to fairlogin/admin/resources/partials/identity-provider-mapper-detail.html diff --git a/base/admin/resources/partials/identity-provider-mappers.html b/fairlogin/admin/resources/partials/identity-provider-mappers.html similarity index 100% rename from base/admin/resources/partials/identity-provider-mappers.html rename to fairlogin/admin/resources/partials/identity-provider-mappers.html diff --git a/base/admin/resources/partials/menu.html b/fairlogin/admin/resources/partials/menu.html similarity index 100% rename from base/admin/resources/partials/menu.html rename to fairlogin/admin/resources/partials/menu.html diff --git a/base/admin/resources/partials/modal/realm-events-admin-auth.html b/fairlogin/admin/resources/partials/modal/realm-events-admin-auth.html similarity index 100% rename from base/admin/resources/partials/modal/realm-events-admin-auth.html rename to fairlogin/admin/resources/partials/modal/realm-events-admin-auth.html diff --git a/base/admin/resources/partials/modal/realm-events-admin-representation.html b/fairlogin/admin/resources/partials/modal/realm-events-admin-representation.html similarity index 100% rename from base/admin/resources/partials/modal/realm-events-admin-representation.html rename to fairlogin/admin/resources/partials/modal/realm-events-admin-representation.html diff --git a/base/admin/resources/partials/modal/role-selector.html b/fairlogin/admin/resources/partials/modal/role-selector.html similarity index 100% rename from base/admin/resources/partials/modal/role-selector.html rename to fairlogin/admin/resources/partials/modal/role-selector.html diff --git a/base/admin/resources/partials/modal/unregistered-required-action-selector.html b/fairlogin/admin/resources/partials/modal/unregistered-required-action-selector.html similarity index 100% rename from base/admin/resources/partials/modal/unregistered-required-action-selector.html rename to fairlogin/admin/resources/partials/modal/unregistered-required-action-selector.html diff --git a/base/admin/resources/partials/modal/view-key.html b/fairlogin/admin/resources/partials/modal/view-key.html similarity index 100% rename from base/admin/resources/partials/modal/view-key.html rename to fairlogin/admin/resources/partials/modal/view-key.html diff --git a/base/admin/resources/partials/modal/view-object.html b/fairlogin/admin/resources/partials/modal/view-object.html similarity index 100% rename from base/admin/resources/partials/modal/view-object.html rename to fairlogin/admin/resources/partials/modal/view-object.html diff --git a/base/admin/resources/partials/notfound.html b/fairlogin/admin/resources/partials/notfound.html similarity index 100% rename from base/admin/resources/partials/notfound.html rename to fairlogin/admin/resources/partials/notfound.html diff --git a/base/admin/resources/partials/otp-policy.html b/fairlogin/admin/resources/partials/otp-policy.html similarity index 91% rename from base/admin/resources/partials/otp-policy.html rename to fairlogin/admin/resources/partials/otp-policy.html index 941daad69cc7395e1d68a9843bbbdc76c8fed3a8..2e4a3e8ca2c63e1a8dd2c160171cebb128f47577 100644 --- a/base/admin/resources/partials/otp-policy.html +++ b/fairlogin/admin/resources/partials/otp-policy.html @@ -65,6 +65,14 @@ {{:: 'otp-token-period.tooltip' | translate}}
    +
    + +
    + {{realm.otpSupportedApplications.join(', ')}} +
    + {{:: 'otp-supported-applications.tooltip' | translate}} +
    +
    diff --git a/base/admin/resources/partials/pagenotfound.html b/fairlogin/admin/resources/partials/pagenotfound.html similarity index 100% rename from base/admin/resources/partials/pagenotfound.html rename to fairlogin/admin/resources/partials/pagenotfound.html diff --git a/base/admin/resources/partials/partial-export.html b/fairlogin/admin/resources/partials/partial-export.html similarity index 100% rename from base/admin/resources/partials/partial-export.html rename to fairlogin/admin/resources/partials/partial-export.html diff --git a/base/admin/resources/partials/partial-import.html b/fairlogin/admin/resources/partials/partial-import.html similarity index 100% rename from base/admin/resources/partials/partial-import.html rename to fairlogin/admin/resources/partials/partial-import.html diff --git a/base/admin/resources/partials/password-policy.html b/fairlogin/admin/resources/partials/password-policy.html similarity index 100% rename from base/admin/resources/partials/password-policy.html rename to fairlogin/admin/resources/partials/password-policy.html diff --git a/base/admin/resources/partials/protocol-mapper-detail.html b/fairlogin/admin/resources/partials/protocol-mapper-detail.html similarity index 100% rename from base/admin/resources/partials/protocol-mapper-detail.html rename to fairlogin/admin/resources/partials/protocol-mapper-detail.html diff --git a/base/admin/resources/partials/realm-cache-settings.html b/fairlogin/admin/resources/partials/realm-cache-settings.html similarity index 100% rename from base/admin/resources/partials/realm-cache-settings.html rename to fairlogin/admin/resources/partials/realm-cache-settings.html diff --git a/base/admin/resources/partials/realm-create.html b/fairlogin/admin/resources/partials/realm-create.html similarity index 100% rename from base/admin/resources/partials/realm-create.html rename to fairlogin/admin/resources/partials/realm-create.html diff --git a/base/admin/resources/partials/realm-default-roles.html b/fairlogin/admin/resources/partials/realm-default-roles.html similarity index 100% rename from base/admin/resources/partials/realm-default-roles.html rename to fairlogin/admin/resources/partials/realm-default-roles.html diff --git a/base/admin/resources/partials/realm-detail.html b/fairlogin/admin/resources/partials/realm-detail.html similarity index 100% rename from base/admin/resources/partials/realm-detail.html rename to fairlogin/admin/resources/partials/realm-detail.html diff --git a/base/admin/resources/partials/realm-events-admin.html b/fairlogin/admin/resources/partials/realm-events-admin.html similarity index 94% rename from base/admin/resources/partials/realm-events-admin.html rename to fairlogin/admin/resources/partials/realm-events-admin.html index b4a66a76d441a4f0d4e35d0626dbe6a1d3ee1ef2..a95b127e88ecc2090e7d431123818db1b303d2e0 100644 --- a/base/admin/resources/partials/realm-events-admin.html +++ b/fairlogin/admin/resources/partials/realm-events-admin.html @@ -17,11 +17,10 @@
    - - +
    +
    + + +
    diff --git a/base/admin/resources/partials/realm-events.html b/fairlogin/admin/resources/partials/realm-events.html similarity index 95% rename from base/admin/resources/partials/realm-events.html rename to fairlogin/admin/resources/partials/realm-events.html index 79d154c9004caa044bcb29a6b469b37382be2764..e7268cd4068a709e49f1fd3bfb259c2b6f018f6b 100644 --- a/base/admin/resources/partials/realm-events.html +++ b/fairlogin/admin/resources/partials/realm-events.html @@ -15,11 +15,10 @@
    - + +
    +
    + +
    + + \ No newline at end of file diff --git a/base/admin/resources/partials/realm-identity-provider-export.html b/fairlogin/admin/resources/partials/realm-identity-provider-export.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-export.html rename to fairlogin/admin/resources/partials/realm-identity-provider-export.html diff --git a/base/admin/resources/partials/realm-identity-provider-github-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-facebook-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-github-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-facebook-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-facebook.html b/fairlogin/admin/resources/partials/realm-identity-provider-facebook.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-facebook.html rename to fairlogin/admin/resources/partials/realm-identity-provider-facebook.html diff --git a/base/admin/resources/partials/realm-identity-provider-linkedin-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-github-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-linkedin-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-github-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-github.html b/fairlogin/admin/resources/partials/realm-identity-provider-github.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-github.html rename to fairlogin/admin/resources/partials/realm-identity-provider-github.html diff --git a/fairlogin/admin/resources/partials/realm-identity-provider-gitlab.html b/fairlogin/admin/resources/partials/realm-identity-provider-gitlab.html new file mode 100644 index 0000000000000000000000000000000000000000..9a30c52188be7ed7499775162642bd2a1d94f1e3 --- /dev/null +++ b/fairlogin/admin/resources/partials/realm-identity-provider-gitlab.html @@ -0,0 +1,127 @@ +
    + + + + +
    +
    +
    + +
    + +
    + {{:: 'redirect-uri.tooltip' | translate}} +
    +
    +
    +
    + +
    + +
    + {{:: 'gitlab.application-id.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'gitlab.application-secret.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'gitlab.default-scopes.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'identity-provider.store-tokens.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'identity-provider.stored-tokens-readable.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'identity-provider.enabled.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'trust-email.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'link-only.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'hide-on-login-page.tooltip' | translate}} +
    +
    + +
    + +
    + {{:: 'gui-order.tooltip' | translate}} +
    +
    + +
    +
    + +
    +
    + {{:: 'first-broker-login-flow.tooltip' | translate}} +
    +
    + +
    +
    + +
    +
    + {{:: 'post-broker-login-flow.tooltip' | translate}} +
    +
    + +
    +
    + + +
    +
    +
    +
    + + \ No newline at end of file diff --git a/base/admin/resources/partials/realm-identity-provider-google-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-google-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-google-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-google-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-google.html b/fairlogin/admin/resources/partials/realm-identity-provider-google.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-google.html rename to fairlogin/admin/resources/partials/realm-identity-provider-google.html diff --git a/base/admin/resources/partials/realm-identity-provider-keycloak-oidc.html b/fairlogin/admin/resources/partials/realm-identity-provider-keycloak-oidc.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-keycloak-oidc.html rename to fairlogin/admin/resources/partials/realm-identity-provider-keycloak-oidc.html diff --git a/base/admin/resources/partials/realm-identity-provider-microsoft-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-linkedin-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-microsoft-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-linkedin-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-linkedin.html b/fairlogin/admin/resources/partials/realm-identity-provider-linkedin.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-linkedin.html rename to fairlogin/admin/resources/partials/realm-identity-provider-linkedin.html diff --git a/base/admin/resources/partials/realm-identity-provider-twitter-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-microsoft-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-twitter-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-microsoft-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-microsoft.html b/fairlogin/admin/resources/partials/realm-identity-provider-microsoft.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-microsoft.html rename to fairlogin/admin/resources/partials/realm-identity-provider-microsoft.html diff --git a/base/admin/resources/partials/realm-identity-provider-oidc.html b/fairlogin/admin/resources/partials/realm-identity-provider-oidc.html similarity index 97% rename from base/admin/resources/partials/realm-identity-provider-oidc.html rename to fairlogin/admin/resources/partials/realm-identity-provider-oidc.html index 68a35ef8ba4991774c4f0a6127768ff44842e30c..54bbcd64a846a9c7f7f1bf169c47866058db9d30 100644 --- a/base/admin/resources/partials/realm-identity-provider-oidc.html +++ b/fairlogin/admin/resources/partials/realm-identity-provider-oidc.html @@ -9,9 +9,6 @@
    - - -
    @@ -120,6 +117,13 @@
    {{:: 'authorization-url.tooltip' | translate}}
    +
    + +
    + +
    + {{:: 'loginHint.tooltip' | translate}} +
    @@ -165,7 +169,7 @@
    - +
    {{:: 'client-secret.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-openshift-v3.html b/fairlogin/admin/resources/partials/realm-identity-provider-openshift-v3.html similarity index 96% rename from base/admin/resources/partials/realm-identity-provider-openshift-v3.html rename to fairlogin/admin/resources/partials/realm-identity-provider-openshift-v3.html index 054b98ac432e48785207ce6ffb8484d0d481bcdf..3323e1d85c0a08a4b4a4509571dfe6fbfc4e3701 100644 --- a/base/admin/resources/partials/realm-identity-provider-openshift-v3.html +++ b/fairlogin/admin/resources/partials/realm-identity-provider-openshift-v3.html @@ -8,11 +8,6 @@ - - - - -
    @@ -47,7 +42,7 @@
    - +
    {{:: 'social.client-secret.tooltip' | translate}}
    diff --git a/fairlogin/admin/resources/partials/realm-identity-provider-paypal-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-paypal-ext.html new file mode 100644 index 0000000000000000000000000000000000000000..692a078b908fc5ee2e6deb5dfeec76544307203e --- /dev/null +++ b/fairlogin/admin/resources/partials/realm-identity-provider-paypal-ext.html @@ -0,0 +1,7 @@ +
    + +
    + +
    + {{:: 'identity-provider.paypal-sandbox.tooltip' | translate}} +
    \ No newline at end of file diff --git a/fairlogin/admin/resources/partials/realm-identity-provider-paypal.html b/fairlogin/admin/resources/partials/realm-identity-provider-paypal.html new file mode 100644 index 0000000000000000000000000000000000000000..62e97badb2ac5013849f19bd998e2fa87f3b75b6 --- /dev/null +++ b/fairlogin/admin/resources/partials/realm-identity-provider-paypal.html @@ -0,0 +1 @@ +
    diff --git a/base/admin/resources/partials/realm-identity-provider-saml.html b/fairlogin/admin/resources/partials/realm-identity-provider-saml.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-saml.html rename to fairlogin/admin/resources/partials/realm-identity-provider-saml.html diff --git a/base/admin/resources/partials/realm-identity-provider-social.html b/fairlogin/admin/resources/partials/realm-identity-provider-social.html similarity index 96% rename from base/admin/resources/partials/realm-identity-provider-social.html rename to fairlogin/admin/resources/partials/realm-identity-provider-social.html index 1976fde114171a611c3484874d31540b7e5ebd67..191002f4da5b92cfe2bf3e1a424228020125375c 100644 --- a/base/admin/resources/partials/realm-identity-provider-social.html +++ b/fairlogin/admin/resources/partials/realm-identity-provider-social.html @@ -8,9 +8,6 @@ - - -
    @@ -31,7 +28,7 @@
    - +
    {{:: 'social.client-secret.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html b/fairlogin/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html rename to fairlogin/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-stackoverflow.html b/fairlogin/admin/resources/partials/realm-identity-provider-stackoverflow.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-stackoverflow.html rename to fairlogin/admin/resources/partials/realm-identity-provider-stackoverflow.html diff --git a/fairlogin/login/resources/third-party-lib/AdminLTE-master/plugins/datatables/extensions/Responsive/Readme.md b/fairlogin/admin/resources/partials/realm-identity-provider-twitter-ext.html similarity index 100% rename from fairlogin/login/resources/third-party-lib/AdminLTE-master/plugins/datatables/extensions/Responsive/Readme.md rename to fairlogin/admin/resources/partials/realm-identity-provider-twitter-ext.html diff --git a/base/admin/resources/partials/realm-identity-provider-twitter.html b/fairlogin/admin/resources/partials/realm-identity-provider-twitter.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider-twitter.html rename to fairlogin/admin/resources/partials/realm-identity-provider-twitter.html diff --git a/base/admin/resources/partials/realm-identity-provider.html b/fairlogin/admin/resources/partials/realm-identity-provider.html similarity index 100% rename from base/admin/resources/partials/realm-identity-provider.html rename to fairlogin/admin/resources/partials/realm-identity-provider.html diff --git a/base/admin/resources/partials/realm-keys-generic.html b/fairlogin/admin/resources/partials/realm-keys-generic.html similarity index 100% rename from base/admin/resources/partials/realm-keys-generic.html rename to fairlogin/admin/resources/partials/realm-keys-generic.html diff --git a/base/admin/resources/partials/realm-keys-list.html b/fairlogin/admin/resources/partials/realm-keys-list.html similarity index 100% rename from base/admin/resources/partials/realm-keys-list.html rename to fairlogin/admin/resources/partials/realm-keys-list.html diff --git a/base/admin/resources/partials/realm-keys-providers.html b/fairlogin/admin/resources/partials/realm-keys-providers.html similarity index 100% rename from base/admin/resources/partials/realm-keys-providers.html rename to fairlogin/admin/resources/partials/realm-keys-providers.html diff --git a/base/admin/resources/partials/realm-keys.html b/fairlogin/admin/resources/partials/realm-keys.html similarity index 100% rename from base/admin/resources/partials/realm-keys.html rename to fairlogin/admin/resources/partials/realm-keys.html diff --git a/base/admin/resources/partials/realm-list.html b/fairlogin/admin/resources/partials/realm-list.html similarity index 100% rename from base/admin/resources/partials/realm-list.html rename to fairlogin/admin/resources/partials/realm-list.html diff --git a/base/admin/resources/partials/realm-login-settings.html b/fairlogin/admin/resources/partials/realm-login-settings.html similarity index 100% rename from base/admin/resources/partials/realm-login-settings.html rename to fairlogin/admin/resources/partials/realm-login-settings.html diff --git a/fairlogin/admin/resources/partials/realm-role-users.html b/fairlogin/admin/resources/partials/realm-role-users.html new file mode 100644 index 0000000000000000000000000000000000000000..11cbbc6840d57b125786280fe58b0810acf8688d --- /dev/null +++ b/fairlogin/admin/resources/partials/realm-role-users.html @@ -0,0 +1,50 @@ +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {{:: 'username' | translate}}{{:: 'last-name' | translate}}{{:: 'first-name' | translate}}{{:: 'email' | translate}}
    +
    + + + +
    +
    {{user.username}}{{user.lastName}}{{user.firstName}}{{user.email}}{{:: 'edit' | translate}}
    {{:: 'no-role-members' | translate}}{{:: 'no-role-members' | translate}}
    + +
    + + \ No newline at end of file diff --git a/base/admin/resources/partials/realm-smtp.html b/fairlogin/admin/resources/partials/realm-smtp.html similarity index 90% rename from base/admin/resources/partials/realm-smtp.html rename to fairlogin/admin/resources/partials/realm-smtp.html index 43df76147cd63fd9251c143e9cc0605befc00297..d1a0d98acd19ce087e1cb4cd9dd7124153d6cb3d 100644 --- a/base/admin/resources/partials/realm-smtp.html +++ b/fairlogin/admin/resources/partials/realm-smtp.html @@ -2,9 +2,6 @@ - - -
    @@ -79,9 +76,9 @@
    - +
    - +
    diff --git a/base/admin/resources/partials/realm-theme-settings.html b/fairlogin/admin/resources/partials/realm-theme-settings.html similarity index 100% rename from base/admin/resources/partials/realm-theme-settings.html rename to fairlogin/admin/resources/partials/realm-theme-settings.html diff --git a/base/admin/resources/partials/realm-tokens.html b/fairlogin/admin/resources/partials/realm-tokens.html similarity index 80% rename from base/admin/resources/partials/realm-tokens.html rename to fairlogin/admin/resources/partials/realm-tokens.html index f508716538154a0f7d4b691da642a57f743e48e0..3b05fdba1cd57320c479ee18d82036fc123c7537 100644 --- a/base/admin/resources/partials/realm-tokens.html +++ b/fairlogin/admin/resources/partials/realm-tokens.html @@ -7,13 +7,25 @@
    - +
    {{:: 'revoke-refresh-token.tooltip' | translate}}
    +
    + + +
    + +
    + + {{:: 'refresh-token-max-reuse.tooltip' | translate}} + +
    +
    @@ -175,6 +187,32 @@
    +
    + +
    + + + + +
    + + {{:: 'action-token-generated-by-user.tooltip' | translate}} + +
    +
    diff --git a/base/admin/resources/partials/required-actions.html b/fairlogin/admin/resources/partials/required-actions.html similarity index 100% rename from base/admin/resources/partials/required-actions.html rename to fairlogin/admin/resources/partials/required-actions.html diff --git a/base/admin/resources/partials/role-detail.html b/fairlogin/admin/resources/partials/role-detail.html similarity index 100% rename from base/admin/resources/partials/role-detail.html rename to fairlogin/admin/resources/partials/role-detail.html diff --git a/base/admin/resources/partials/role-list.html b/fairlogin/admin/resources/partials/role-list.html similarity index 100% rename from base/admin/resources/partials/role-list.html rename to fairlogin/admin/resources/partials/role-list.html diff --git a/base/admin/resources/partials/role-mappings.html b/fairlogin/admin/resources/partials/role-mappings.html similarity index 100% rename from base/admin/resources/partials/role-mappings.html rename to fairlogin/admin/resources/partials/role-mappings.html diff --git a/base/admin/resources/partials/server-info-providers.html b/fairlogin/admin/resources/partials/server-info-providers.html similarity index 100% rename from base/admin/resources/partials/server-info-providers.html rename to fairlogin/admin/resources/partials/server-info-providers.html diff --git a/base/admin/resources/partials/server-info.html b/fairlogin/admin/resources/partials/server-info.html similarity index 100% rename from base/admin/resources/partials/server-info.html rename to fairlogin/admin/resources/partials/server-info.html diff --git a/base/admin/resources/partials/session-realm.html b/fairlogin/admin/resources/partials/session-realm.html similarity index 100% rename from base/admin/resources/partials/session-realm.html rename to fairlogin/admin/resources/partials/session-realm.html diff --git a/base/admin/resources/partials/session-revocation.html b/fairlogin/admin/resources/partials/session-revocation.html similarity index 100% rename from base/admin/resources/partials/session-revocation.html rename to fairlogin/admin/resources/partials/session-revocation.html diff --git a/base/admin/resources/partials/user-attributes.html b/fairlogin/admin/resources/partials/user-attributes.html similarity index 100% rename from base/admin/resources/partials/user-attributes.html rename to fairlogin/admin/resources/partials/user-attributes.html diff --git a/base/admin/resources/partials/user-consents.html b/fairlogin/admin/resources/partials/user-consents.html similarity index 100% rename from base/admin/resources/partials/user-consents.html rename to fairlogin/admin/resources/partials/user-consents.html diff --git a/base/admin/resources/partials/user-credentials.html b/fairlogin/admin/resources/partials/user-credentials.html similarity index 78% rename from base/admin/resources/partials/user-credentials.html rename to fairlogin/admin/resources/partials/user-credentials.html index 9f3512ee0a55e6490ac7a64423d1becfb4146e42..c35a767fd052334878cdf1bc82e64bbccdf989ef 100644 --- a/base/admin/resources/partials/user-credentials.html +++ b/fairlogin/admin/resources/partials/user-credentials.html @@ -7,22 +7,19 @@ - - -
    {{:: 'manage-user-password' | translate}}
    - +
    - +
    - +
    - +
    @@ -35,8 +32,8 @@
    -
    - +
    +
    @@ -57,7 +54,7 @@
    - +
    {{:: 'credentials.disable.tooltip' | translate}}
    @@ -93,7 +90,7 @@
    - +
    {{:: 'credentials.reset-actions-email.tooltip' | translate}}
    diff --git a/base/admin/resources/partials/user-detail.html b/fairlogin/admin/resources/partials/user-detail.html similarity index 100% rename from base/admin/resources/partials/user-detail.html rename to fairlogin/admin/resources/partials/user-detail.html diff --git a/base/admin/resources/partials/user-federated-identity-detail.html b/fairlogin/admin/resources/partials/user-federated-identity-detail.html similarity index 100% rename from base/admin/resources/partials/user-federated-identity-detail.html rename to fairlogin/admin/resources/partials/user-federated-identity-detail.html diff --git a/base/admin/resources/partials/user-federated-identity-list.html b/fairlogin/admin/resources/partials/user-federated-identity-list.html similarity index 100% rename from base/admin/resources/partials/user-federated-identity-list.html rename to fairlogin/admin/resources/partials/user-federated-identity-list.html diff --git a/base/admin/resources/partials/user-federation.html b/fairlogin/admin/resources/partials/user-federation.html similarity index 96% rename from base/admin/resources/partials/user-federation.html rename to fairlogin/admin/resources/partials/user-federation.html index 8298a999da62a782f704a1b9d30ada4d27bbe99f..3b97f519f39ab112815f2082e48cbb7f7a9fc1d3 100644 --- a/base/admin/resources/partials/user-federation.html +++ b/fairlogin/admin/resources/partials/user-federation.html @@ -44,6 +44,7 @@ {{:: 'id' | translate}} + {{:: 'enabled' | translate}} {{:: 'provider-name' | translate}} {{:: 'priority' | translate}} {{:: 'actions' | translate}} @@ -52,6 +53,7 @@ {{getInstanceName(instance)}} + {{isProviderEnabled(instance)}} {{getInstanceProvider(instance) | capitalize}} {{getInstancePriority(instance)}} {{:: 'edit' | translate}} diff --git a/base/admin/resources/partials/user-group-membership.html b/fairlogin/admin/resources/partials/user-group-membership.html similarity index 100% rename from base/admin/resources/partials/user-group-membership.html rename to fairlogin/admin/resources/partials/user-group-membership.html diff --git a/base/admin/resources/partials/user-list.html b/fairlogin/admin/resources/partials/user-list.html similarity index 100% rename from base/admin/resources/partials/user-list.html rename to fairlogin/admin/resources/partials/user-list.html diff --git a/base/admin/resources/partials/user-offline-sessions.html b/fairlogin/admin/resources/partials/user-offline-sessions.html similarity index 100% rename from base/admin/resources/partials/user-offline-sessions.html rename to fairlogin/admin/resources/partials/user-offline-sessions.html diff --git a/base/admin/resources/partials/user-sessions.html b/fairlogin/admin/resources/partials/user-sessions.html similarity index 100% rename from base/admin/resources/partials/user-sessions.html rename to fairlogin/admin/resources/partials/user-sessions.html diff --git a/base/admin/resources/partials/user-storage-generic.html b/fairlogin/admin/resources/partials/user-storage-generic.html similarity index 96% rename from base/admin/resources/partials/user-storage-generic.html rename to fairlogin/admin/resources/partials/user-storage-generic.html index 0eacb0ea16e0a944a0bcd4bb032c53323aa61583..2b2456c883188bed8627e59bd67b01d98e065487 100644 --- a/base/admin/resources/partials/user-storage-generic.html +++ b/fairlogin/admin/resources/partials/user-storage-generic.html @@ -16,6 +16,13 @@
    +
    + +
    + +
    + {{:: 'user-storage.enabled.tooltip' | translate}} +
    @@ -86,7 +93,7 @@ {{:: 'userStorage.cachePolicy.tooltip' | translate}}
    - +
    +
    + +
    + +
    + {{:: 'user-storage.enabled.tooltip' | translate}} +
    @@ -108,7 +115,7 @@ {{:: 'userStorage.cachePolicy.tooltip' | translate}}
    - +
    - -
    {{:: 'required-settings' | translate}}
    @@ -19,6 +16,13 @@
    +
    + +
    + +
    + {{:: 'user-storage.enabled.tooltip' | translate}} +
    @@ -144,9 +148,9 @@ {{:: 'ldap.bind-dn.tooltip' | translate}}
    - +
    - +
    {{:: 'ldap.bind-credential.tooltip' | translate}}
    @@ -173,6 +177,13 @@
    {{:: 'ldap.search-scope.tooltip' | translate}}
    +
    + +
    + +
    + {{:: 'ldap.validate-password-policy.tooltip' | translate}} +
    @@ -319,7 +330,7 @@ {{:: 'userStorage.cachePolicy.tooltip' | translate}}
    - +
    - +
    diff --git a/base/admin/resources/templates/kc-copy.html b/fairlogin/admin/resources/templates/kc-copy.html similarity index 100% rename from base/admin/resources/templates/kc-copy.html rename to fairlogin/admin/resources/templates/kc-copy.html diff --git a/base/admin/resources/templates/kc-dropdown.html b/fairlogin/admin/resources/templates/kc-dropdown.html similarity index 100% rename from base/admin/resources/templates/kc-dropdown.html rename to fairlogin/admin/resources/templates/kc-dropdown.html diff --git a/base/admin/resources/templates/kc-menu.html b/fairlogin/admin/resources/templates/kc-menu.html similarity index 74% rename from base/admin/resources/templates/kc-menu.html rename to fairlogin/admin/resources/templates/kc-menu.html index cea1692345f3328abb8223e61972ddc49d9ab24d..95c5fd1dcfbda4547af7b1bbb5ac9771dc82aac8 100644 --- a/base/admin/resources/templates/kc-menu.html +++ b/fairlogin/admin/resources/templates/kc-menu.html @@ -32,25 +32,26 @@ || path[2] == 'keys-settings' || path[2] == 'smtp-settings' || path[2] == 'ldap-settings' || path[2] == 'auth-settings') && path[3] != 'clients') && 'active'"> {{:: 'realm-settings' | translate}} -
  • {{:: 'clients' | translate}}
  • -
  • {{:: 'client-templates' | translate}}
  • -
  • {{:: 'roles' | translate}}
  • -
  • {{:: 'identity-providers' | translate}}
  • +
  • {{:: 'clients' | translate}}
  • +
  • {{:: 'client-templates' | translate}}
  • +
  • {{:: 'roles' | translate}}
  • +
  • {{:: 'identity-providers' | translate}}
  • {{:: 'user-federation' | translate}}
  • -
  • {{:: 'authentication' | translate}}
  • +
  • {{:: 'authentication' | translate}}
  • diff --git a/base/admin/resources/templates/kc-tabs-ldap.html b/fairlogin/admin/resources/templates/kc-tabs-ldap.html similarity index 100% rename from base/admin/resources/templates/kc-tabs-ldap.html rename to fairlogin/admin/resources/templates/kc-tabs-ldap.html diff --git a/base/admin/resources/templates/kc-tabs-realm.html b/fairlogin/admin/resources/templates/kc-tabs-realm.html similarity index 100% rename from base/admin/resources/templates/kc-tabs-realm.html rename to fairlogin/admin/resources/templates/kc-tabs-realm.html diff --git a/base/admin/resources/templates/kc-tabs-role.html b/fairlogin/admin/resources/templates/kc-tabs-role.html similarity index 70% rename from base/admin/resources/templates/kc-tabs-role.html rename to fairlogin/admin/resources/templates/kc-tabs-role.html index 785c7e9260733ae988e487469325787f891eb407..9128dfd2e9b5ced7a87299c0d3ab872661101a51 100644 --- a/base/admin/resources/templates/kc-tabs-role.html +++ b/fairlogin/admin/resources/templates/kc-tabs-role.html @@ -5,9 +5,11 @@
    \ No newline at end of file diff --git a/base/admin/resources/templates/kc-tabs-user-storage.html b/fairlogin/admin/resources/templates/kc-tabs-user-storage.html similarity index 100% rename from base/admin/resources/templates/kc-tabs-user-storage.html rename to fairlogin/admin/resources/templates/kc-tabs-user-storage.html diff --git a/base/admin/resources/templates/kc-tabs-user.html b/fairlogin/admin/resources/templates/kc-tabs-user.html similarity index 100% rename from base/admin/resources/templates/kc-tabs-user.html rename to fairlogin/admin/resources/templates/kc-tabs-user.html diff --git a/base/admin/resources/templates/kc-tabs-users.html b/fairlogin/admin/resources/templates/kc-tabs-users.html similarity index 80% rename from base/admin/resources/templates/kc-tabs-users.html rename to fairlogin/admin/resources/templates/kc-tabs-users.html index f641dc05ad8ca9d3e055cab9a86260124adfee0b..61fe8909c2ac87114da8e4ce17f199045f5fbcc0 100644 --- a/base/admin/resources/templates/kc-tabs-users.html +++ b/fairlogin/admin/resources/templates/kc-tabs-users.html @@ -3,7 +3,7 @@