Repository: zonaut/keycloak-extensions Branch: master Commit: 6a626afd7720 Files: 152 Total size: 688.3 KB Directory structure: gitextract_lotnfs9n/ ├── .gitattributes ├── .gitignore ├── .mvn/ │ └── wrapper/ │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── _resources/ │ └── demo-config/ │ ├── export-dir/ │ │ └── .gitkeep │ ├── import-dir/ │ │ ├── master-realm.json │ │ ├── master-users-0.json │ │ ├── placeholder-realm.json │ │ └── placeholder-users-0.json │ └── standalone-ha.xml ├── docker-compose.yml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── provider-domain/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── zonaut/ │ │ └── keycloak/ │ │ └── extensions/ │ │ └── domain/ │ │ ├── CustomJpaEntityProvider.java │ │ ├── CustomJpaEntityProviderFactory.java │ │ └── Product.java │ └── resources/ │ └── META-INF/ │ ├── 001-products.xml │ ├── custom-changelog.xml │ ├── jboss-deployment-structure.xml │ └── services/ │ └── org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory ├── spi-event-listener/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── zonaut/ │ │ └── keycloak/ │ │ └── extensions/ │ │ └── events/ │ │ └── logging/ │ │ ├── PlaceholderEventListenerProvider.java │ │ ├── PlaceholderEventListenerProviderFactory.java │ │ ├── UserUuidDto.java │ │ └── UserVerifiedTransaction.java │ └── resources/ │ └── META-INF/ │ ├── jboss-deployment-structure.xml │ └── services/ │ └── org.keycloak.events.EventListenerProviderFactory ├── spi-mail-template-override/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── zonaut/ │ │ └── keycloak/ │ │ └── extensions/ │ │ └── mail/ │ │ ├── PlaceholderFreeMarkerEmailTemplateProvider.java │ │ └── PlaceholderFreeMarkerEmailTemplateProviderFactory.java │ └── resources/ │ └── META-INF/ │ ├── jboss-deployment-structure.xml │ └── services/ │ └── org.keycloak.email.EmailTemplateProviderFactory ├── spi-registration-profile/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── zonaut/ │ │ └── keycloak/ │ │ └── extensions/ │ │ └── actions/ │ │ └── forms/ │ │ └── PlaceholderRegistrationProfile.java │ └── resources/ │ └── META-INF/ │ ├── jboss-deployment-structure.xml │ └── services/ │ └── org.keycloak.authentication.FormActionFactory ├── spi-resource/ │ ├── README.md │ ├── pom.xml │ ├── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── zonaut/ │ │ │ └── keycloak/ │ │ │ └── extensions/ │ │ │ └── resource/ │ │ │ ├── AuthCheck.java │ │ │ ├── AuthCheckType.java │ │ │ ├── CustomResourceProvider.java │ │ │ └── CustomResourceProviderFactory.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── jboss-deployment-structure.xml │ │ └── services/ │ │ └── org.keycloak.services.resource.RealmResourceProviderFactory │ ├── test-anonymous-user.sh │ └── test-authenticated-user.sh └── theme-minimal/ ├── README.md ├── pom.xml └── src/ └── main/ └── resources/ ├── META-INF/ │ └── keycloak-themes.json └── theme/ └── theme-minimal/ ├── account/ │ ├── resources/ │ │ └── css/ │ │ └── account.css │ └── theme.properties ├── admin/ │ ├── resources/ │ │ └── css/ │ │ └── styles.css │ └── theme.properties ├── email/ │ ├── html/ │ │ ├── email-test.ftl │ │ ├── email-verification-with-code.ftl │ │ ├── email-verification.ftl │ │ ├── event-login_error.ftl │ │ ├── event-remove_totp.ftl │ │ ├── event-update_password.ftl │ │ ├── event-update_totp.ftl │ │ ├── executeActions.ftl │ │ ├── identity-provider-link.ftl │ │ └── password-reset.ftl │ ├── messages/ │ │ ├── messages_ca.properties │ │ ├── messages_cs.properties │ │ ├── messages_de.properties │ │ ├── messages_en.properties │ │ ├── messages_es.properties │ │ ├── messages_fr.properties │ │ ├── messages_it.properties │ │ ├── messages_ja.properties │ │ ├── messages_lt.properties │ │ ├── messages_nl.properties │ │ ├── messages_no.properties │ │ ├── messages_pl.properties │ │ ├── messages_pt_BR.properties │ │ ├── messages_ru.properties │ │ ├── messages_sk.properties │ │ ├── messages_sv.properties │ │ ├── messages_tr.properties │ │ └── messages_zh_CN.properties │ ├── text/ │ │ ├── email-test.ftl │ │ ├── email-verification-with-code.ftl │ │ ├── email-verification.ftl │ │ ├── event-login_error.ftl │ │ ├── event-remove_totp.ftl │ │ ├── event-update_password.ftl │ │ ├── event-update_totp.ftl │ │ ├── executeActions.ftl │ │ ├── identity-provider-link.ftl │ │ └── password-reset.ftl │ └── theme.properties ├── login/ │ ├── cli_splash.ftl │ ├── code.ftl │ ├── error.ftl │ ├── info.ftl │ ├── login-config-totp-text.ftl │ ├── login-config-totp.ftl │ ├── login-idp-link-confirm.ftl │ ├── login-idp-link-email.ftl │ ├── login-oauth-grant.ftl │ ├── login-otp.ftl │ ├── login-page-expired.ftl │ ├── login-password.ftl │ ├── login-reset-password.ftl │ ├── login-update-password.ftl │ ├── login-update-profile.ftl │ ├── login-username.ftl │ ├── login-verify-email-code-text.ftl │ ├── login-verify-email.ftl │ ├── login-x509-info.ftl │ ├── login.ftl │ ├── messages/ │ │ ├── messages_ca.properties │ │ ├── messages_cs.properties │ │ ├── messages_de.properties │ │ ├── messages_en.properties │ │ ├── messages_es.properties │ │ ├── messages_fr.properties │ │ ├── messages_it.properties │ │ ├── messages_ja.properties │ │ ├── messages_lt.properties │ │ ├── messages_nl.properties │ │ ├── messages_no.properties │ │ ├── messages_pl.properties │ │ ├── messages_pt_BR.properties │ │ ├── messages_ru.properties │ │ ├── messages_sk.properties │ │ ├── messages_sv.properties │ │ ├── messages_tr.properties │ │ └── messages_zh_CN.properties │ ├── register.ftl │ ├── resources/ │ │ ├── css/ │ │ │ └── login.css │ │ └── js/ │ │ └── base64url.js │ ├── saml-post-form.ftl │ ├── select-authenticator.ftl │ ├── template.ftl │ ├── terms.ftl │ ├── theme.properties │ ├── webauthn-authenticate.ftl │ ├── webauthn-error.ftl │ └── webauthn-register.ftl └── welcome/ ├── index.ftl ├── resources/ │ └── css/ │ └── welcome.css └── theme.properties ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ *.ftl linguist-detectable=false *.css linguist-detectable=false ================================================ FILE: .gitignore ================================================ # Customize with https://github.com/github/gitignore # compiled output /dist /tmp /out-tsc /node /build /out target/ dist/ .gradle # dependencies /node_modules .vertx # IDEs and editors *.iml /.idea .project .classpath .c9/ *.launch .settings/ *.sublime-workspace # IDE - VSCode .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json # misc /.sass-cache /connect.lock /coverage /libpeerconnection.log npm-debug.log testem.log /typings # e2e /e2e/*.js /e2e/*.map # System Files .DS_Store Thumbs.db ================================================ FILE: .mvn/wrapper/MavenWrapperDownloader.java ================================================ /* * Copyright 2007-present the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.net.*; import java.io.*; import java.nio.channels.*; import java.util.Properties; public class MavenWrapperDownloader { private static final String WRAPPER_VERSION = "0.5.6"; /** * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. */ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; /** * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to * use instead of the default one. */ private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties"; /** * Path where the maven-wrapper.jar will be saved to. */ private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; /** * Name of the property which should be used to override the default download url for the wrapper. */ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; public static void main(String args[]) { System.out.println("- Downloader started"); File baseDirectory = new File(args[0]); System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); // If the maven-wrapper.properties exists, read it and check if it contains a custom // wrapperUrl parameter. File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); String url = DEFAULT_DOWNLOAD_URL; if(mavenWrapperPropertyFile.exists()) { FileInputStream mavenWrapperPropertyFileInputStream = null; try { mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); Properties mavenWrapperProperties = new Properties(); mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); } catch (IOException e) { System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); } finally { try { if(mavenWrapperPropertyFileInputStream != null) { mavenWrapperPropertyFileInputStream.close(); } } catch (IOException e) { // Ignore ... } } } System.out.println("- Downloading from: " + url); File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); if(!outputFile.getParentFile().exists()) { if(!outputFile.getParentFile().mkdirs()) { System.out.println( "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); } } System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); try { downloadFileFromURL(url, outputFile); System.out.println("Done"); System.exit(0); } catch (Throwable e) { System.out.println("- Error downloading"); e.printStackTrace(); System.exit(1); } } private static void downloadFileFromURL(String urlString, File destination) throws Exception { if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { String username = System.getenv("MVNW_USERNAME"); char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); Authenticator.setDefault(new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); } URL website = new URL(urlString); ReadableByteChannel rbc; rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(destination); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close(); } } ================================================ FILE: .mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar ================================================ FILE: README.md ================================================ # Keycloak extensions **This repo is no longer maintained** Keycloak extension examples. Titles with * are already activated when running `docker-compose up` * [provider-domain](provider-domain/README.md) * * example of adding new domain entities * [spi-event-listener](spi-event-listener/README.md) * * example of a custom event listener * [spi-mail-template-override](spi-mail-template-override/README.md) * * example on how to change default mail behaviour and add extra variables to it. * [spi-registration-profile](spi-registration-profile/README.md) * disable first and last name validation in the registration page * [spi-resource](spi-resource/README.md) * * example of a custom REST resource * [theme-minimal](theme-minimal/README.md) * * a custom theme with minimal changes ## Build Build all ./mvnw clean install Build single module ./mvnw clean install -pl provider-domain ./mvnw clean install -pl spi-event-listener ./mvnw clean install -pl spi-mail-template-override ./mvnw clean install -pl spi-registration-profile ./mvnw clean install -pl spi-resource ./mvnw clean install -pl theme-minimal ## Run with Docker Compose You need to build all modules first because we mount the jars in the docker-compose file Run docker-compose up Stop CTRL + C docker-compose down * Keycloak admin will be available on http://localhost:8088/auth/ * User -> admin * Password -> password * A placeholder realm is available on http://localhost:8088/auth/realms/placeholder * users * james@placeholder.com * jennifer@placeholder.com * john@placeholder.com * mary@placeholder.com * patricia@placeholder.com * robert@placeholder.com * Password is always 'password' for those users * a realm role product_view is available and assigned to robert@placeholder.com * 2 clients are available under this realm * client-one - public with Direct Access Grants Enabled * client-two - public with Direct Access Grants Enabled * Mailhog will be available on http://localhost:8025/ ## Export realms and users * Run `docker-compose up` * Make your changes in Keycloak * Press `CTRL + C ` but do NOT run docker-compose down * Uncomment the `-Dkeycloak.migration.action=export...` under commands in the docker-compose file. * Comment the `-Dkeycloak.migration.action=import` under commands in the docker-compose file. * Run `docker-compose up` * all realms and users will be exported in the `_resources/demo-config/export-dir` * You can now run `docker-compose down` and revert the changes you made to the docker-compose file * Copy the contents of the export dir to the import dir if you want to replace them ## Other resources Don't forget to look in the actual Keycloak code itself because the examples are based on the implementations itself. * https://github.com/keycloak * https://github.com/keycloak/keycloak/tree/master/examples * https://www.keycloak.org/docs/latest/server_development/ * https://github.com/thomasdarimont/keycloak-extension-playground ================================================ FILE: _resources/demo-config/export-dir/.gitkeep ================================================ ================================================ FILE: _resources/demo-config/import-dir/master-realm.json ================================================ { "id" : "master", "realm" : "master", "displayName" : "Keycloak", "displayNameHtml" : "
Keycloak
", "notBefore" : 0, "revokeRefreshToken" : false, "refreshTokenMaxReuse" : 0, "accessTokenLifespan" : 60, "accessTokenLifespanForImplicitFlow" : 900, "ssoSessionIdleTimeout" : 1800, "ssoSessionMaxLifespan" : 36000, "ssoSessionIdleTimeoutRememberMe" : 0, "ssoSessionMaxLifespanRememberMe" : 0, "offlineSessionIdleTimeout" : 2592000, "offlineSessionMaxLifespanEnabled" : false, "offlineSessionMaxLifespan" : 5184000, "clientSessionIdleTimeout" : 0, "clientSessionMaxLifespan" : 0, "clientOfflineSessionIdleTimeout" : 0, "clientOfflineSessionMaxLifespan" : 0, "accessCodeLifespan" : 60, "accessCodeLifespanUserAction" : 300, "accessCodeLifespanLogin" : 1800, "actionTokenGeneratedByAdminLifespan" : 43200, "actionTokenGeneratedByUserLifespan" : 300, "enabled" : true, "sslRequired" : "external", "registrationAllowed" : false, "registrationEmailAsUsername" : false, "rememberMe" : false, "verifyEmail" : false, "loginWithEmailAllowed" : true, "duplicateEmailsAllowed" : false, "resetPasswordAllowed" : false, "editUsernameAllowed" : false, "bruteForceProtected" : false, "permanentLockout" : false, "maxFailureWaitSeconds" : 900, "minimumQuickLoginWaitSeconds" : 60, "waitIncrementSeconds" : 60, "quickLoginCheckMilliSeconds" : 1000, "maxDeltaTimeSeconds" : 43200, "failureFactor" : 30, "roles" : { "realm" : [ { "id" : "d3c4feab-b112-49c3-b467-39f6f766dbfc", "name" : "admin", "description" : "${role_admin}", "composite" : true, "composites" : { "realm" : [ "create-realm" ], "client" : { "placeholder-realm" : [ "manage-authorization", "impersonation", "manage-clients", "manage-events", "manage-users", "view-events", "manage-realm", "query-clients", "view-users", "create-client", "query-realms", "view-clients", "view-authorization", "query-users", "view-identity-providers", "view-realm", "manage-identity-providers", "query-groups" ], "master-realm" : [ "manage-identity-providers", "view-users", "manage-users", "view-clients", "query-users", "manage-clients", "query-groups", "view-realm", "view-identity-providers", "manage-authorization", "manage-events", "view-authorization", "impersonation", "create-client", "query-clients", "manage-realm", "view-events", "query-realms" ] } }, "clientRole" : false, "containerId" : "master", "attributes" : { } }, { "id" : "3f2b4595-a234-4af7-b0df-d1d507918175", "name" : "uma_authorization", "description" : "${role_uma_authorization}", "composite" : false, "clientRole" : false, "containerId" : "master", "attributes" : { } }, { "id" : "981fa07e-a331-4d58-8556-341ce1a5c19d", "name" : "create-realm", "description" : "${role_create-realm}", "composite" : false, "clientRole" : false, "containerId" : "master", "attributes" : { } }, { "id" : "ac747403-1d82-46bf-a57e-55a58a8bfaaa", "name" : "offline_access", "description" : "${role_offline-access}", "composite" : false, "clientRole" : false, "containerId" : "master", "attributes" : { } } ], "client" : { "security-admin-console" : [ ], "placeholder-realm" : [ { "id" : "65d55dea-9b3f-4f71-9fbe-0c8a2915fd60", "name" : "manage-authorization", "description" : "${role_manage-authorization}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "be1aba71-d1c5-44c4-8d3d-1d3f4ec001bb", "name" : "impersonation", "description" : "${role_impersonation}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "87ba9aee-ce2e-47ac-850c-fa7aa72043f4", "name" : "manage-clients", "description" : "${role_manage-clients}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "95e28cf6-7fc3-40e9-82a4-b126af272c4c", "name" : "create-client", "description" : "${role_create-client}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "f004e4e8-927e-4e15-b221-d0cfedc72f76", "name" : "query-realms", "description" : "${role_query-realms}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "6725e72c-4dba-4d4e-b788-ea90aa2d4bc5", "name" : "view-clients", "description" : "${role_view-clients}", "composite" : true, "composites" : { "client" : { "placeholder-realm" : [ "query-clients" ] } }, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "4b5e33f8-4fe8-4375-863a-34838c656893", "name" : "view-authorization", "description" : "${role_view-authorization}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "ebd8d10f-0ea9-42b3-9842-0a2cdc8a5563", "name" : "manage-events", "description" : "${role_manage-events}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "a9bbc527-8bfa-41c5-ac6b-b01a86bd2513", "name" : "query-users", "description" : "${role_query-users}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "1d8e33fe-5ed0-4e28-89ed-9c0a2d0ada65", "name" : "manage-users", "description" : "${role_manage-users}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "ba7f4ce3-9387-4144-984c-9188eb578674", "name" : "view-events", "description" : "${role_view-events}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "43e5dc26-c152-4afe-84b5-c5895ebaf447", "name" : "view-identity-providers", "description" : "${role_view-identity-providers}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "f2f55597-493a-48c1-b21a-9ffcf8f29dee", "name" : "manage-realm", "description" : "${role_manage-realm}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "72af326d-04c4-4d85-9b8e-ab48f99510f3", "name" : "view-realm", "description" : "${role_view-realm}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "c9c68dae-7962-4482-9218-f1f5abf035d4", "name" : "query-clients", "description" : "${role_query-clients}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "676ac518-4124-49fd-9976-fb702c126f7e", "name" : "manage-identity-providers", "description" : "${role_manage-identity-providers}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "8a3b8cb2-d3f7-4d5a-91b5-e7984e83510d", "name" : "view-users", "description" : "${role_view-users}", "composite" : true, "composites" : { "client" : { "placeholder-realm" : [ "query-users", "query-groups" ] } }, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } }, { "id" : "e8f9f00f-2237-404a-ba5e-7984b4066e63", "name" : "query-groups", "description" : "${role_query-groups}", "composite" : false, "clientRole" : true, "containerId" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "attributes" : { } } ], "admin-cli" : [ ], "account-console" : [ ], "broker" : [ { "id" : "30c0b1d3-e072-4868-be6a-dad0d1d88226", "name" : "read-token", "description" : "${role_read-token}", "composite" : false, "clientRole" : true, "containerId" : "4cdbad2e-c9c3-42d8-ac2f-abb297f5d29b", "attributes" : { } } ], "master-realm" : [ { "id" : "9ea8941a-6d9a-4c4b-b4ff-a3f15514232d", "name" : "view-authorization", "description" : "${role_view-authorization}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "c70b858b-1122-43ca-881c-473861f48646", "name" : "manage-identity-providers", "description" : "${role_manage-identity-providers}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "b49d526c-14d7-40a8-ae70-9487ac927eed", "name" : "impersonation", "description" : "${role_impersonation}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "5ba1c4d1-9b89-4230-8f6e-715a8cdf6806", "name" : "view-users", "description" : "${role_view-users}", "composite" : true, "composites" : { "client" : { "master-realm" : [ "query-groups", "query-users" ] } }, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "44513b89-28ae-45ce-bc09-3d17c88fda8d", "name" : "manage-users", "description" : "${role_manage-users}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "e9f86aef-83e2-49d9-b8fb-52694c86ad84", "name" : "create-client", "description" : "${role_create-client}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "9f69d69f-511a-490b-be8c-d4db50910ea8", "name" : "view-clients", "description" : "${role_view-clients}", "composite" : true, "composites" : { "client" : { "master-realm" : [ "query-clients" ] } }, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "69563566-f4d6-4036-9de5-0c2a36ca6174", "name" : "query-users", "description" : "${role_query-users}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "0ed4174a-a216-4fea-84dd-888feeec49f0", "name" : "query-clients", "description" : "${role_query-clients}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "d8bb2fad-fce9-49b0-9610-62d5bfdcf3f2", "name" : "manage-clients", "description" : "${role_manage-clients}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "d0269965-64c8-4e3f-9015-17f96f4f143a", "name" : "query-groups", "description" : "${role_query-groups}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "2a53d41c-ffb9-48de-9a9e-765b8f4cf83c", "name" : "manage-realm", "description" : "${role_manage-realm}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "52a27df2-10ca-4ee7-9204-36a2dbb2d34d", "name" : "view-realm", "description" : "${role_view-realm}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "989ecbac-d9ab-4ab7-96b3-58658797957e", "name" : "view-identity-providers", "description" : "${role_view-identity-providers}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "775136eb-c43c-4a0b-bdd9-4fd9e4c51ee9", "name" : "view-events", "description" : "${role_view-events}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "8d75c943-7e7d-48f7-a03c-ecdaad1e4265", "name" : "manage-authorization", "description" : "${role_manage-authorization}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "cfb7bca2-e44b-4c3c-8889-2fcbee4b72aa", "name" : "manage-events", "description" : "${role_manage-events}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } }, { "id" : "0a1d5dd7-3046-40da-b733-7b9ef4358afd", "name" : "query-realms", "description" : "${role_query-realms}", "composite" : false, "clientRole" : true, "containerId" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "attributes" : { } } ], "account" : [ { "id" : "db72c5c2-1458-45dd-be67-a4460e9332bd", "name" : "view-consent", "description" : "${role_view-consent}", "composite" : false, "clientRole" : true, "containerId" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "attributes" : { } }, { "id" : "6e399309-298b-48df-a5aa-ac0737c01358", "name" : "manage-consent", "description" : "${role_manage-consent}", "composite" : true, "composites" : { "client" : { "account" : [ "view-consent" ] } }, "clientRole" : true, "containerId" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "attributes" : { } }, { "id" : "c0c5a82c-b5f7-427b-8e57-8e1a94445fc1", "name" : "view-applications", "description" : "${role_view-applications}", "composite" : false, "clientRole" : true, "containerId" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "attributes" : { } }, { "id" : "b4269015-6b78-4785-ae30-8f5d59e46fc4", "name" : "manage-account", "description" : "${role_manage-account}", "composite" : true, "composites" : { "client" : { "account" : [ "manage-account-links" ] } }, "clientRole" : true, "containerId" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "attributes" : { } }, { "id" : "ac209ae9-8d28-4e0f-a6fd-871aea7bf5c2", "name" : "manage-account-links", "description" : "${role_manage-account-links}", "composite" : false, "clientRole" : true, "containerId" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "attributes" : { } }, { "id" : "74e0a960-25b1-4f89-8be3-6dfaad51bcad", "name" : "view-profile", "description" : "${role_view-profile}", "composite" : false, "clientRole" : true, "containerId" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "attributes" : { } } ] } }, "groups" : [ ], "defaultRoles" : [ "uma_authorization", "offline_access" ], "requiredCredentials" : [ "password" ], "otpPolicyType" : "totp", "otpPolicyAlgorithm" : "HmacSHA1", "otpPolicyInitialCounter" : 0, "otpPolicyDigits" : 6, "otpPolicyLookAheadWindow" : 1, "otpPolicyPeriod" : 30, "otpSupportedApplications" : [ "FreeOTP", "Google Authenticator" ], "webAuthnPolicyRpEntityName" : "keycloak", "webAuthnPolicySignatureAlgorithms" : [ "ES256" ], "webAuthnPolicyRpId" : "", "webAuthnPolicyAttestationConveyancePreference" : "not specified", "webAuthnPolicyAuthenticatorAttachment" : "not specified", "webAuthnPolicyRequireResidentKey" : "not specified", "webAuthnPolicyUserVerificationRequirement" : "not specified", "webAuthnPolicyCreateTimeout" : 0, "webAuthnPolicyAvoidSameAuthenticatorRegister" : false, "webAuthnPolicyAcceptableAaguids" : [ ], "webAuthnPolicyPasswordlessRpEntityName" : "keycloak", "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ], "webAuthnPolicyPasswordlessRpId" : "", "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified", "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified", "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified", "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified", "webAuthnPolicyPasswordlessCreateTimeout" : 0, "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false, "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ], "scopeMappings" : [ { "clientScope" : "offline_access", "roles" : [ "offline_access" ] } ], "clientScopeMappings" : { "account" : [ { "client" : "account-console", "roles" : [ "manage-account" ] } ] }, "clients" : [ { "id" : "289cc92e-2edf-45c4-9efb-f7db4229e240", "clientId" : "account", "name" : "${client_account}", "rootUrl" : "${authBaseUrl}", "baseUrl" : "/realms/master/account/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "aaf5c557-e731-4e43-bd9c-6502dd6c8b77", "defaultRoles" : [ "manage-account", "view-profile" ], "redirectUris" : [ "/realms/master/account/*" ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "58c97982-5457-4825-9c49-46f74343a98a", "clientId" : "account-console", "name" : "${client_account-console}", "rootUrl" : "${authBaseUrl}", "baseUrl" : "/realms/master/account/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "50ee17ab-e95e-4bc9-8051-6d3407e76bfc", "redirectUris" : [ "/realms/master/account/*" ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { "pkce.code.challenge.method" : "S256" }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "protocolMappers" : [ { "id" : "38a0de05-4ce1-416b-8cb1-2851047a4b7c", "name" : "audience resolve", "protocol" : "openid-connect", "protocolMapper" : "oidc-audience-resolve-mapper", "consentRequired" : false, "config" : { } } ], "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "72c49e6c-d6d8-4dd3-a745-1770a4fc4b4b", "clientId" : "admin-cli", "name" : "${client_admin-cli}", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "eecb9c19-bd56-41e7-8c2f-a61903590847", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : false, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : true, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "4cdbad2e-c9c3-42d8-ac2f-abb297f5d29b", "clientId" : "broker", "name" : "${client_broker}", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "051ef83b-8c5a-4a37-9d3a-f4783eb17fa3", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "53067549-1a47-4ce8-ab6b-dffa5899e804", "clientId" : "master-realm", "name" : "master Realm", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "b6d8a7bd-7ec1-4b63-9f30-c04bc291e308", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : true, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : true, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "9260ed69-b3f7-44cc-a6f2-7eaec8bb0f10", "clientId" : "placeholder-realm", "name" : "placeholder Realm", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "ea6aea78-ca76-40f7-9f72-1ad9d727f7c8", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : true, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : true, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "0fe9d02c-f7b5-45e8-9a27-c5bd2488ef7e", "clientId" : "security-admin-console", "name" : "${client_security-admin-console}", "rootUrl" : "${authAdminUrl}", "baseUrl" : "/admin/master/console/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "7b1f48e1-85ae-46a0-8097-504e90c89c8d", "redirectUris" : [ "/admin/master/console/*" ], "webOrigins" : [ "+" ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { "pkce.code.challenge.method" : "S256" }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "protocolMappers" : [ { "id" : "b757f2d3-0dde-4b29-8915-e163b0aeeaae", "name" : "locale", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "locale", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "locale", "jsonType.label" : "String" } } ], "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] } ], "clientScopes" : [ { "id" : "6fdde58c-192e-48e0-91bc-acb6f466d00b", "name" : "offline_access", "description" : "OpenID Connect built-in scope: offline_access", "protocol" : "openid-connect", "attributes" : { "consent.screen.text" : "${offlineAccessScopeConsentText}", "display.on.consent.screen" : "true" } }, { "id" : "07736879-8a26-4a34-8ce0-2b2b49559d61", "name" : "role_list", "description" : "SAML role list", "protocol" : "saml", "attributes" : { "consent.screen.text" : "${samlRoleListScopeConsentText}", "display.on.consent.screen" : "true" }, "protocolMappers" : [ { "id" : "1877c937-8c1a-48b8-9fef-c78eecb58cbf", "name" : "role list", "protocol" : "saml", "protocolMapper" : "saml-role-list-mapper", "consentRequired" : false, "config" : { "single" : "false", "attribute.nameformat" : "Basic", "attribute.name" : "Role" } } ] }, { "id" : "0cf4afba-e609-4fc7-9134-55e3ad1b7f39", "name" : "profile", "description" : "OpenID Connect built-in scope: profile", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${profileScopeConsentText}" }, "protocolMappers" : [ { "id" : "77d30d3c-9069-47b0-b88f-e481b4207e2c", "name" : "given name", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "firstName", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "given_name", "jsonType.label" : "String" } }, { "id" : "ded815a3-0110-4fbb-b148-283aa52142f9", "name" : "profile", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "profile", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "profile", "jsonType.label" : "String" } }, { "id" : "9c4d720a-7ce0-4a8d-bdd5-5dedc3e4bc47", "name" : "nickname", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "nickname", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "nickname", "jsonType.label" : "String" } }, { "id" : "a31c4b51-7d40-42db-8f32-12001994af0f", "name" : "website", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "website", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "website", "jsonType.label" : "String" } }, { "id" : "5bea52ae-f0b8-4af4-ad22-bbf7c2bf98d1", "name" : "birthdate", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "birthdate", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "birthdate", "jsonType.label" : "String" } }, { "id" : "ed55c7fa-4f35-446d-8086-a8409d091ffd", "name" : "username", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "username", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "preferred_username", "jsonType.label" : "String" } }, { "id" : "cd2cb96d-c428-4c82-84b6-bc9d4aaadae7", "name" : "locale", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "locale", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "locale", "jsonType.label" : "String" } }, { "id" : "55add740-d78b-44db-97b6-6079a4410a42", "name" : "updated at", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "updatedAt", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "updated_at", "jsonType.label" : "String" } }, { "id" : "c05e2bb3-6bc1-47dd-a300-112cb456200d", "name" : "picture", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "picture", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "picture", "jsonType.label" : "String" } }, { "id" : "6d2e95d6-2283-4497-b72d-35384a75e6dd", "name" : "family name", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "lastName", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "family_name", "jsonType.label" : "String" } }, { "id" : "049faef7-ba09-4887-86c7-1ac1c5009d17", "name" : "full name", "protocol" : "openid-connect", "protocolMapper" : "oidc-full-name-mapper", "consentRequired" : false, "config" : { "id.token.claim" : "true", "access.token.claim" : "true", "userinfo.token.claim" : "true" } }, { "id" : "1066660d-3c94-482c-97d1-323d78734c96", "name" : "zoneinfo", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "zoneinfo", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "zoneinfo", "jsonType.label" : "String" } }, { "id" : "8e27aac4-092d-4eaf-88e9-872e9821a977", "name" : "gender", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "gender", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "gender", "jsonType.label" : "String" } }, { "id" : "589f52a0-8ffd-4cf8-b2af-d26261125348", "name" : "middle name", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "middleName", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "middle_name", "jsonType.label" : "String" } } ] }, { "id" : "9f49aa9f-4820-4074-ab70-5eedb6baebb2", "name" : "email", "description" : "OpenID Connect built-in scope: email", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${emailScopeConsentText}" }, "protocolMappers" : [ { "id" : "63e9a0d9-c722-4342-96c0-405961ebd11b", "name" : "email verified", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "emailVerified", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "email_verified", "jsonType.label" : "boolean" } }, { "id" : "b1eed229-e25a-4889-9392-0414ed5fd49c", "name" : "email", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "email", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "email", "jsonType.label" : "String" } } ] }, { "id" : "542a09d4-cd9c-491e-8f35-1360785600b4", "name" : "address", "description" : "OpenID Connect built-in scope: address", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${addressScopeConsentText}" }, "protocolMappers" : [ { "id" : "19a1905f-b3bd-44e0-a621-a311d1f451f9", "name" : "address", "protocol" : "openid-connect", "protocolMapper" : "oidc-address-mapper", "consentRequired" : false, "config" : { "user.attribute.formatted" : "formatted", "user.attribute.country" : "country", "user.attribute.postal_code" : "postal_code", "userinfo.token.claim" : "true", "user.attribute.street" : "street", "id.token.claim" : "true", "user.attribute.region" : "region", "access.token.claim" : "true", "user.attribute.locality" : "locality" } } ] }, { "id" : "b4589106-906c-4956-9f55-49630525c7a2", "name" : "phone", "description" : "OpenID Connect built-in scope: phone", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${phoneScopeConsentText}" }, "protocolMappers" : [ { "id" : "09c698fc-2b1c-46e9-8e67-ea6fbbe3bfcc", "name" : "phone number verified", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "phoneNumberVerified", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "phone_number_verified", "jsonType.label" : "boolean" } }, { "id" : "40a27f11-8b12-4b7b-ab30-090fc5e2bfaa", "name" : "phone number", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "phoneNumber", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "phone_number", "jsonType.label" : "String" } } ] }, { "id" : "ade9ddcc-3208-4fa9-90ae-874f138c654f", "name" : "roles", "description" : "OpenID Connect scope for add user roles to the access token", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "false", "display.on.consent.screen" : "true", "consent.screen.text" : "${rolesScopeConsentText}" }, "protocolMappers" : [ { "id" : "1bd54fd6-e6ff-4c9b-8028-0c8ba87b7b9f", "name" : "client roles", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-client-role-mapper", "consentRequired" : false, "config" : { "user.attribute" : "foo", "access.token.claim" : "true", "claim.name" : "resource_access.${client_id}.roles", "jsonType.label" : "String", "multivalued" : "true" } }, { "id" : "64b4283a-2e71-450c-9d47-8132e3dbb90f", "name" : "audience resolve", "protocol" : "openid-connect", "protocolMapper" : "oidc-audience-resolve-mapper", "consentRequired" : false, "config" : { } }, { "id" : "cde86219-5df1-4c90-8703-4a19ffa678df", "name" : "realm roles", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-realm-role-mapper", "consentRequired" : false, "config" : { "user.attribute" : "foo", "access.token.claim" : "true", "claim.name" : "realm_access.roles", "jsonType.label" : "String", "multivalued" : "true" } } ] }, { "id" : "d95f6c5e-7c25-4f5f-a66d-09a0e821d93d", "name" : "web-origins", "description" : "OpenID Connect scope for add allowed web origins to the access token", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "false", "display.on.consent.screen" : "false", "consent.screen.text" : "" }, "protocolMappers" : [ { "id" : "fd571046-d716-480e-bcac-d0a0a17c7211", "name" : "allowed web origins", "protocol" : "openid-connect", "protocolMapper" : "oidc-allowed-origins-mapper", "consentRequired" : false, "config" : { } } ] }, { "id" : "356ed32b-fb3b-46c1-861f-ae2cd77d2a43", "name" : "microprofile-jwt", "description" : "Microprofile - JWT built-in scope", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "false" }, "protocolMappers" : [ { "id" : "b316d4b7-db10-433d-8f3f-42e81d63fc5b", "name" : "upn", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "username", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "upn", "jsonType.label" : "String" } }, { "id" : "cf7d8c8b-5997-4f73-8188-8264784cab7b", "name" : "groups", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-realm-role-mapper", "consentRequired" : false, "config" : { "multivalued" : "true", "userinfo.token.claim" : "true", "user.attribute" : "foo", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "groups", "jsonType.label" : "String" } } ] } ], "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins" ], "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ], "browserSecurityHeaders" : { "contentSecurityPolicyReportOnly" : "", "xContentTypeOptions" : "nosniff", "xRobotsTag" : "none", "xFrameOptions" : "SAMEORIGIN", "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';", "xXSSProtection" : "1; mode=block", "strictTransportSecurity" : "max-age=31536000; includeSubDomains" }, "smtpServer" : { }, "eventsEnabled" : false, "eventsListeners" : [ "jboss-logging" ], "enabledEventTypes" : [ ], "adminEventsEnabled" : false, "adminEventsDetailsEnabled" : false, "components" : { "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ { "id" : "f242eab3-b0ff-4fbc-bee1-76aaf1eff768", "name" : "Consent Required", "providerId" : "consent-required", "subType" : "anonymous", "subComponents" : { }, "config" : { } }, { "id" : "bc94017c-6d33-4693-b464-2a38f3fe5815", "name" : "Max Clients Limit", "providerId" : "max-clients", "subType" : "anonymous", "subComponents" : { }, "config" : { "max-clients" : [ "200" ] } }, { "id" : "a34570e6-5661-4686-a958-2210f7c901b0", "name" : "Trusted Hosts", "providerId" : "trusted-hosts", "subType" : "anonymous", "subComponents" : { }, "config" : { "host-sending-registration-request-must-match" : [ "true" ], "client-uris-must-match" : [ "true" ] } }, { "id" : "6f7f96db-6c5f-4a20-b0e7-e799c2e7d124", "name" : "Allowed Protocol Mapper Types", "providerId" : "allowed-protocol-mappers", "subType" : "anonymous", "subComponents" : { }, "config" : { "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-usermodel-property-mapper", "oidc-address-mapper", "saml-user-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-property-mapper" ] } }, { "id" : "5aea7b06-acd1-4e3d-ad10-2168a055e50b", "name" : "Allowed Client Scopes", "providerId" : "allowed-client-templates", "subType" : "anonymous", "subComponents" : { }, "config" : { "allow-default-scopes" : [ "true" ] } }, { "id" : "ca9d1883-c461-4ffa-85ef-a32d44f36d26", "name" : "Full Scope Disabled", "providerId" : "scope", "subType" : "anonymous", "subComponents" : { }, "config" : { } }, { "id" : "857125a2-3c97-4751-83bf-9dcf72170303", "name" : "Allowed Protocol Mapper Types", "providerId" : "allowed-protocol-mappers", "subType" : "authenticated", "subComponents" : { }, "config" : { "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "saml-role-list-mapper", "saml-user-property-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "oidc-usermodel-property-mapper" ] } }, { "id" : "49d066a5-b45e-4421-bcea-a4f3c357436b", "name" : "Allowed Client Scopes", "providerId" : "allowed-client-templates", "subType" : "authenticated", "subComponents" : { }, "config" : { "allow-default-scopes" : [ "true" ] } } ], "org.keycloak.keys.KeyProvider" : [ { "id" : "1001c8ce-edc2-4454-9358-6d9c4efafc6d", "name" : "hmac-generated", "providerId" : "hmac-generated", "subComponents" : { }, "config" : { "kid" : [ "ee359bdb-0e14-41be-996b-631521247eb5" ], "secret" : [ "oTUy1tHmfrfzzXmWQhL5zeGdc1iigLuGHiZ-A3p-hT43ZXiSnGSFdzTRghyOOEH2p0D631pEUpn2mRhfx_gG-Q" ], "priority" : [ "100" ], "algorithm" : [ "HS256" ] } }, { "id" : "4b5bfb78-cc0f-4ffa-aca5-6131578b6d6b", "name" : "aes-generated", "providerId" : "aes-generated", "subComponents" : { }, "config" : { "kid" : [ "edc7a5cc-8b52-4c8a-b3d7-3fc2ce4230b8" ], "secret" : [ "efeeTjCAYUPBYryHpxqJ2g" ], "priority" : [ "100" ] } }, { "id" : "4ac2b4b3-ab55-4500-bbdc-5559afc527d0", "name" : "rsa-generated", "providerId" : "rsa-generated", "subComponents" : { }, "config" : { "privateKey" : [ "MIIEowIBAAKCAQEAnWvdd18SZT4aNLdw7b3vo1o6TbM1VZbXcYi7pI1NvI2jxUqHNLO/1LJAqbCBxOO6oXKY36zlHHFz8ItoQQ5xOozspjy4onuw/HuBweg81dbS9VKhBNSV9pp/BCYjDrlrUOOgSkKNZ5EkxBDdJk3IrXG0dP6FzzLewIVZAklg+dZLgbyb6XPadeDfcmN+bAVvSTt4hOhg304BSSgV1Pt2ajFWEC2OAqZho2Msqo98Qk8tw+N+WTbplATK7PO57apbaKvsmQrj4eipOJobPlvgs+Kdj9bKtLJhOSOCIL+ssmdto/MgBr4NI1aWZUGrmCZUHFpT7U4AjGIS1Wi9W0aiowIDAQABAoIBAEpz/aa7nGOt348XQ53tuy0zO2gMXilA0lysIrNM8XtAMjjZauEOMqhSNisLhBSu8FHzdUI075doQUF/bat3PS5IAJUPGvQeNDL15wTi5gLtO5Ezp1w1f0fHAlPgBaytHYiAYAs/NsnI5+6jWzUGjOcbZBIBXyAEGz5K0zI1qlv+tFheRe6lTGMoIe9qy/JQSGgnnCAh9JfZFkIhBhciZmEEuRI26PKh7kc6eA20oZ9JDO5FD+J6vBBf56h3NVP2GDJAXWhSE+g22OG9RC2BKG8itDAfdi0GdFf2XC7MuLOOoPKjXHUowTivy28Oi/vWrFv9t1vntOMAI+GcHYSl7YECgYEA0iDolEo9CgWKkqdZd4u6+Mq+sTDudLTHc+Y4DYdwhi+GaqNigzg1z5sWp9Q29tiwGkc/3Qm5KNhz2No9X96phY+r7yykguntz5p7fnEEBBta/DfdLazG3Jp6Jj3aTTPpUDB1Xx2hyiFY+9DcfZohVWHJM+oTnJhBQay94rAIOHECgYEAv8lmdjAFAMzvJqPAsOfroCZHntxEi8if37hPV0q7Bu4YrsdYrTf3DfnSnryJ4h0eqVAn0xE6kZBazGiM8TUh1mgLIEV0QJLuc8tULpHEb83bnVsdzWzoTVzdD1TD8bYhtS1rD/Zyd6f1LbNmcWZtDvXzDPhd5e4S82+yKZY8tlMCgYAdD8AbAkl+4VVRAyQ0jHbHggLtrr7MFVSgiu6lsF23sUr95KrzSwrmM6TmgUs4yK9Scxg6EeYx5/3duBFU+Q6pEj3NTndSQ9hIJi1+R1Mu3jmvOGq2rnayfAr4zwUqOEvEc29IQGjn88TCzxgvpumFTYjuTSl5NvWPh7ybZY09gQKBgQCyUclx5G4Sc3l8/M6h7dF4g38eJwGY0r5LniwvJq3E4MaUY4eA70NHfFwn+XdehOLIXF3a8u74/zZdTmyVrWg72VtW8x0HGVaa1Zf9AM2bgtVKdri8EyHfJJPpuE/DwyuOMJ+WJPgDZ2ggyOhcUfbe7THCgn+T1QtLyzPlVOo4PwKBgBSO+DefTXtyqaYXJNUuxfrpU97dS3cnyXKI7dyZZebb5oguQ0vhRzEuhDTAhDy3sYphJEFAj/l/DRt6rsxRR2NLMEspf9QwroTu3+24iM8hfJLtiMw0yebyWtdGXDEviHEGwAegh0hWAU56qeC+Bh5r9oEguBI/AXlKrQAQtgWp" ], "certificate" : [ "MIICmzCCAYMCBgFwouzjLjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZtYXN0ZXIwHhcNMjAwMzA0MDAyMTM4WhcNMzAwMzA0MDAyMzE4WjARMQ8wDQYDVQQDDAZtYXN0ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCda913XxJlPho0t3Dtve+jWjpNszVVltdxiLukjU28jaPFSoc0s7/UskCpsIHE47qhcpjfrOUccXPwi2hBDnE6jOymPLiie7D8e4HB6DzV1tL1UqEE1JX2mn8EJiMOuWtQ46BKQo1nkSTEEN0mTcitcbR0/oXPMt7AhVkCSWD51kuBvJvpc9p14N9yY35sBW9JO3iE6GDfTgFJKBXU+3ZqMVYQLY4CpmGjYyyqj3xCTy3D435ZNumUBMrs87ntqltoq+yZCuPh6Kk4mhs+W+Cz4p2P1sq0smE5I4Igv6yyZ22j8yAGvg0jVpZlQauYJlQcWlPtTgCMYhLVaL1bRqKjAgMBAAEwDQYJKoZIhvcNAQELBQADggEBADDgAkiXWmA5ZjOinlN6xRjI96FU4K1nSDfHgeKUBAmEoAsVoaoVraVYrx6JfDpQ6lCKL2MVnJX/fRNOleKMNNsdexwCfbHvCVci09dOLWsEudUQiBegkabipWEmwX11NeGL+tJCcWZZ30hU6PvP7xT+GPLPW2+BTjErGMOwt41zr12XaCJ72bB0I5Bmj2dpWPmScXfFd50mdanyDUUKJQgQ5U4BV+GYAPtyAHGehgHFIgMTso+wgXtNNGS+6eqr6criIRaEllK0X0tlVx83gpYvXua6xqEEYwwqpyOyKq77ypZfDbUkesCPORuLpxs4NmJecCMcQTkPzlgVGlO7QHo=" ], "priority" : [ "100" ] } } ] }, "internationalizationEnabled" : false, "supportedLocales" : [ ], "authenticationFlows" : [ { "id" : "4009ed69-04e1-451c-82bd-f806d6bcf66d", "alias" : "Account verification options", "description" : "Method with which to verity the existing account", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "idp-email-verification", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "ALTERNATIVE", "priority" : 20, "flowAlias" : "Verify Existing Account by Re-authentication", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "143eecef-2ab2-4ec8-be0d-5489b3f468bd", "alias" : "Authentication Options", "description" : "Authentication options.", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "basic-auth", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "basic-auth-otp", "requirement" : "DISABLED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-spnego", "requirement" : "DISABLED", "priority" : 30, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "a3a0aa6d-0671-46c6-a9e4-b33e8fc5ae9f", "alias" : "Browser - Conditional OTP", "description" : "Flow to determine if the OTP is required for the authentication", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-otp-form", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "849aa284-08bf-4b80-ab0b-bc4e2ed69032", "alias" : "Direct Grant - Conditional OTP", "description" : "Flow to determine if the OTP is required for the authentication", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "direct-grant-validate-otp", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "8200cd7b-1ca5-4c78-92de-31b62ff95217", "alias" : "First broker login - Conditional OTP", "description" : "Flow to determine if the OTP is required for the authentication", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-otp-form", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "24242156-b37c-4d61-ad8c-bb4e9f6307d5", "alias" : "Handle Existing Account", "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "idp-confirm-link", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "REQUIRED", "priority" : 20, "flowAlias" : "Account verification options", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "8ec04d5a-f7ed-4488-a2e5-293e9b5a5be3", "alias" : "Reset - Conditional OTP", "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "reset-otp", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "59a0d622-1c3c-4d76-bfbd-56eae4990770", "alias" : "User creation or linking", "description" : "Flow for the existing/non-existing user alternatives", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticatorConfig" : "create unique user config", "authenticator" : "idp-create-user-if-unique", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "ALTERNATIVE", "priority" : 20, "flowAlias" : "Handle Existing Account", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "b4e38768-96f2-4d1b-b371-72b00fc86455", "alias" : "Verify Existing Account by Re-authentication", "description" : "Reauthentication of existing account", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "idp-username-password-form", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 20, "flowAlias" : "First broker login - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "013c6b8f-05a0-4dc2-bfac-cea2f3edf485", "alias" : "browser", "description" : "browser based authentication", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "auth-cookie", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-spnego", "requirement" : "DISABLED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "identity-provider-redirector", "requirement" : "ALTERNATIVE", "priority" : 25, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "ALTERNATIVE", "priority" : 30, "flowAlias" : "forms", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "3bf1a4a6-809c-49cc-82f8-fbd4be962291", "alias" : "clients", "description" : "Base authentication for clients", "providerId" : "client-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "client-secret", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "client-jwt", "requirement" : "ALTERNATIVE", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "client-secret-jwt", "requirement" : "ALTERNATIVE", "priority" : 30, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "client-x509", "requirement" : "ALTERNATIVE", "priority" : 40, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "0fa8cf72-1c57-49e7-88dc-b73bd12eef54", "alias" : "direct grant", "description" : "OpenID Connect Resource Owner Grant", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "direct-grant-validate-username", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "direct-grant-validate-password", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 30, "flowAlias" : "Direct Grant - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "dccf7e73-dbe9-437e-b228-ec3e5cebb63a", "alias" : "docker auth", "description" : "Used by Docker clients to authenticate against the IDP", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "docker-http-basic-authenticator", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "c1b31012-996f-4921-abac-5abd50796a68", "alias" : "first broker login", "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticatorConfig" : "review profile config", "authenticator" : "idp-review-profile", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "REQUIRED", "priority" : 20, "flowAlias" : "User creation or linking", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "9db37d4e-5681-412c-b2c6-88fdf2345b2f", "alias" : "forms", "description" : "Username, password, otp and other auth forms.", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "auth-username-password-form", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 20, "flowAlias" : "Browser - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "d1580af4-bd97-4304-9051-135a0974e170", "alias" : "http challenge", "description" : "An authentication flow based on challenge-response HTTP Authentication Schemes", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "no-cookie-redirect", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "REQUIRED", "priority" : 20, "flowAlias" : "Authentication Options", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "fad7a149-aa5a-419f-ac1b-e1a9d00e71cc", "alias" : "registration", "description" : "registration flow", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "registration-page-form", "requirement" : "REQUIRED", "priority" : 10, "flowAlias" : "registration form", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "5f60c655-938f-47cf-bbb6-8e58c7c58dea", "alias" : "registration form", "description" : "registration form", "providerId" : "form-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "registration-user-creation", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "registration-profile-action", "requirement" : "REQUIRED", "priority" : 40, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "registration-password-action", "requirement" : "REQUIRED", "priority" : 50, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "registration-recaptcha-action", "requirement" : "DISABLED", "priority" : 60, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "8729e507-85a4-429b-91b7-7ae0c31751c0", "alias" : "reset credentials", "description" : "Reset credentials for a user if they forgot their password or something", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "reset-credentials-choose-user", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "reset-credential-email", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "reset-password", "requirement" : "REQUIRED", "priority" : 30, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 40, "flowAlias" : "Reset - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "e6a98610-5405-42fc-9975-b764b9f4b349", "alias" : "saml ecp", "description" : "SAML ECP Profile Authentication Flow", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "http-basic-authenticator", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false } ] } ], "authenticatorConfig" : [ { "id" : "6dda5be6-9fb1-4a54-a336-bd4f2e5d9bae", "alias" : "create unique user config", "config" : { "require.password.update.after.registration" : "false" } }, { "id" : "b085d94e-bdbc-48a5-a58d-d58260f0e28e", "alias" : "review profile config", "config" : { "update.profile.on.first.login" : "missing" } } ], "requiredActions" : [ { "alias" : "CONFIGURE_TOTP", "name" : "Configure OTP", "providerId" : "CONFIGURE_TOTP", "enabled" : true, "defaultAction" : false, "priority" : 10, "config" : { } }, { "alias" : "terms_and_conditions", "name" : "Terms and Conditions", "providerId" : "terms_and_conditions", "enabled" : false, "defaultAction" : false, "priority" : 20, "config" : { } }, { "alias" : "UPDATE_PASSWORD", "name" : "Update Password", "providerId" : "UPDATE_PASSWORD", "enabled" : true, "defaultAction" : false, "priority" : 30, "config" : { } }, { "alias" : "UPDATE_PROFILE", "name" : "Update Profile", "providerId" : "UPDATE_PROFILE", "enabled" : true, "defaultAction" : false, "priority" : 40, "config" : { } }, { "alias" : "VERIFY_EMAIL", "name" : "Verify Email", "providerId" : "VERIFY_EMAIL", "enabled" : true, "defaultAction" : false, "priority" : 50, "config" : { } }, { "alias" : "update_user_locale", "name" : "Update User Locale", "providerId" : "update_user_locale", "enabled" : true, "defaultAction" : false, "priority" : 1000, "config" : { } } ], "browserFlow" : "browser", "registrationFlow" : "registration", "directGrantFlow" : "direct grant", "resetCredentialsFlow" : "reset credentials", "clientAuthenticationFlow" : "clients", "dockerAuthenticationFlow" : "docker auth", "attributes" : { "clientSessionIdleTimeout" : "0", "clientSessionMaxLifespan" : "0" }, "keycloakVersion" : "11.0.3", "userManagedAccessAllowed" : false } ================================================ FILE: _resources/demo-config/import-dir/master-users-0.json ================================================ { "realm" : "master", "users" : [ { "id" : "360eec39-361b-4e59-99d8-cd00fd954545", "createdTimestamp" : 1583281400706, "username" : "admin", "enabled" : true, "totp" : false, "emailVerified" : false, "firstName" : "Admin", "lastName" : "FamilyName", "email" : "admin@placeholder.com", "credentials" : [ { "id" : "282dff34-5b1b-4a92-85be-42a8819a574f", "type" : "password", "createdDate" : 1583281400761, "secretData" : "{\"value\":\"FqwfKQFxGscUXOFLTNfk81z7V8A/u/eO4gbVon+vQPW8yVJwTv11qKuMH1VlhPhsBcgZB94+ZSo/ImcIIjGCiA==\",\"salt\":\"xZHReUwZrCg8XoXgG2XMQg==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "admin", "uma_authorization", "offline_access" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] } ] } ================================================ FILE: _resources/demo-config/import-dir/placeholder-realm.json ================================================ { "id" : "placeholder", "realm" : "placeholder", "notBefore" : 0, "revokeRefreshToken" : false, "refreshTokenMaxReuse" : 0, "accessTokenLifespan" : 300, "accessTokenLifespanForImplicitFlow" : 900, "ssoSessionIdleTimeout" : 1800, "ssoSessionMaxLifespan" : 36000, "ssoSessionIdleTimeoutRememberMe" : 0, "ssoSessionMaxLifespanRememberMe" : 0, "offlineSessionIdleTimeout" : 2592000, "offlineSessionMaxLifespanEnabled" : false, "offlineSessionMaxLifespan" : 5184000, "clientSessionIdleTimeout" : 0, "clientSessionMaxLifespan" : 0, "clientOfflineSessionIdleTimeout" : 0, "clientOfflineSessionMaxLifespan" : 0, "accessCodeLifespan" : 60, "accessCodeLifespanUserAction" : 300, "accessCodeLifespanLogin" : 1800, "actionTokenGeneratedByAdminLifespan" : 43200, "actionTokenGeneratedByUserLifespan" : 300, "enabled" : true, "sslRequired" : "external", "registrationAllowed" : true, "registrationEmailAsUsername" : false, "rememberMe" : true, "verifyEmail" : true, "loginWithEmailAllowed" : true, "duplicateEmailsAllowed" : false, "resetPasswordAllowed" : true, "editUsernameAllowed" : true, "bruteForceProtected" : false, "permanentLockout" : false, "maxFailureWaitSeconds" : 900, "minimumQuickLoginWaitSeconds" : 60, "waitIncrementSeconds" : 60, "quickLoginCheckMilliSeconds" : 1000, "maxDeltaTimeSeconds" : 43200, "failureFactor" : 30, "roles" : { "realm" : [ { "id" : "bce8eb39-ee03-478a-98a6-98740b9db4aa", "name" : "offline_access", "description" : "${role_offline-access}", "composite" : false, "clientRole" : false, "containerId" : "placeholder", "attributes" : { } }, { "id" : "958df5fa-4db3-4ab8-9f12-fc4ae41b2a86", "name" : "product_view", "composite" : false, "clientRole" : false, "containerId" : "placeholder", "attributes" : { } }, { "id" : "4a5441d2-299a-4c8d-b8c9-7096cb4c0e3e", "name" : "uma_authorization", "composite" : false, "clientRole" : false, "containerId" : "placeholder", "attributes" : { } } ], "client" : { "client-one" : [ ], "realm-management" : [ { "id" : "ab427a53-49c2-499e-8b8f-68a0c7b10229", "name" : "manage-events", "description" : "${role_manage-events}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "ecc15126-12f7-4d63-b2d4-d67d684a3159", "name" : "view-identity-providers", "description" : "${role_view-identity-providers}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "6c959a27-7e63-40f2-bd52-d88e4fc71a50", "name" : "manage-realm", "description" : "${role_manage-realm}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "fe81e3e4-fff6-4ea5-ba32-33841155d685", "name" : "manage-identity-providers", "description" : "${role_manage-identity-providers}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "c2717c7c-84a3-4beb-a3b2-ec1f68a96ab1", "name" : "impersonation", "description" : "${role_impersonation}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "2685b41b-598c-4370-a18f-4f6a8b41ffe6", "name" : "query-users", "description" : "${role_query-users}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "dc2c8f82-b8a4-4015-82de-8d8129ea593f", "name" : "view-realm", "description" : "${role_view-realm}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "df02eadd-797c-41bd-86fb-e367a0f1a66b", "name" : "view-events", "description" : "${role_view-events}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "01d738ad-e3e0-451d-9726-8786967b082d", "name" : "query-clients", "description" : "${role_query-clients}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "a94beb0d-201d-4e15-ac1e-0e3fed4e98ad", "name" : "query-groups", "description" : "${role_query-groups}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "0977d87f-5dee-4f30-8241-6f250cd61861", "name" : "view-users", "description" : "${role_view-users}", "composite" : true, "composites" : { "client" : { "realm-management" : [ "query-users", "query-groups" ] } }, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "c9e03290-3c4c-4df0-aefb-1c8be662a16f", "name" : "manage-clients", "description" : "${role_manage-clients}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "fe8785cb-4168-4529-8893-6a1262db260c", "name" : "realm-admin", "description" : "${role_realm-admin}", "composite" : true, "composites" : { "client" : { "realm-management" : [ "manage-events", "view-identity-providers", "manage-realm", "manage-identity-providers", "impersonation", "query-users", "view-realm", "view-events", "query-clients", "query-groups", "view-users", "manage-clients", "view-clients", "create-client", "query-realms", "manage-users", "view-authorization", "manage-authorization" ] } }, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "2e0c9334-946e-474a-95fc-3887a2142475", "name" : "view-clients", "description" : "${role_view-clients}", "composite" : true, "composites" : { "client" : { "realm-management" : [ "query-clients" ] } }, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "101350d6-349c-42b4-a0fa-00387f255f19", "name" : "create-client", "description" : "${role_create-client}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "19048943-9626-4145-8d9c-aa76fbe82ec3", "name" : "query-realms", "description" : "${role_query-realms}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "5c7da431-415a-432b-a00a-01a17f97dcf1", "name" : "manage-users", "description" : "${role_manage-users}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "da051020-ca93-4be1-839d-4828bad810b0", "name" : "view-authorization", "description" : "${role_view-authorization}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } }, { "id" : "c8e46741-7bb4-4af3-b5ff-f5e20574ba4d", "name" : "manage-authorization", "description" : "${role_manage-authorization}", "composite" : false, "clientRole" : true, "containerId" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "attributes" : { } } ], "security-admin-console" : [ ], "admin-cli" : [ ], "account-console" : [ ], "broker" : [ { "id" : "0ec1d0fc-ef5e-4d31-9f16-4035100fb194", "name" : "read-token", "description" : "${role_read-token}", "composite" : false, "clientRole" : true, "containerId" : "89a7dee6-eaec-400b-a421-2b8c4f5820c8", "attributes" : { } } ], "account" : [ { "id" : "35bd2bb0-1cc7-4abf-b90e-fa7923f947c6", "name" : "manage-account", "description" : "${role_manage-account}", "composite" : true, "composites" : { "client" : { "account" : [ "manage-account-links" ] } }, "clientRole" : true, "containerId" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "attributes" : { } }, { "id" : "f6b1721f-783e-45ac-96bf-776711bc2671", "name" : "manage-consent", "description" : "${role_manage-consent}", "composite" : true, "composites" : { "client" : { "account" : [ "view-consent" ] } }, "clientRole" : true, "containerId" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "attributes" : { } }, { "id" : "7e6b226a-8117-4612-8808-6f58e772e69b", "name" : "manage-account-links", "description" : "${role_manage-account-links}", "composite" : false, "clientRole" : true, "containerId" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "attributes" : { } }, { "id" : "786546eb-066f-481d-9ddd-55202f2db004", "name" : "view-applications", "description" : "${role_view-applications}", "composite" : false, "clientRole" : true, "containerId" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "attributes" : { } }, { "id" : "6b2e1fcb-0b99-41e2-b5fd-31c4dfad9957", "name" : "view-profile", "description" : "${role_view-profile}", "composite" : false, "clientRole" : true, "containerId" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "attributes" : { } }, { "id" : "3036f708-692b-4e92-a530-5cdabeae42ae", "name" : "view-consent", "description" : "${role_view-consent}", "composite" : false, "clientRole" : true, "containerId" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "attributes" : { } } ], "client-two" : [ ] } }, "groups" : [ ], "defaultRoles" : [ "offline_access", "uma_authorization" ], "requiredCredentials" : [ "password" ], "otpPolicyType" : "totp", "otpPolicyAlgorithm" : "HmacSHA1", "otpPolicyInitialCounter" : 0, "otpPolicyDigits" : 6, "otpPolicyLookAheadWindow" : 1, "otpPolicyPeriod" : 30, "otpSupportedApplications" : [ "FreeOTP", "Google Authenticator" ], "webAuthnPolicyRpEntityName" : "keycloak", "webAuthnPolicySignatureAlgorithms" : [ "ES256" ], "webAuthnPolicyRpId" : "", "webAuthnPolicyAttestationConveyancePreference" : "not specified", "webAuthnPolicyAuthenticatorAttachment" : "not specified", "webAuthnPolicyRequireResidentKey" : "not specified", "webAuthnPolicyUserVerificationRequirement" : "not specified", "webAuthnPolicyCreateTimeout" : 0, "webAuthnPolicyAvoidSameAuthenticatorRegister" : false, "webAuthnPolicyAcceptableAaguids" : [ ], "webAuthnPolicyPasswordlessRpEntityName" : "keycloak", "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ], "webAuthnPolicyPasswordlessRpId" : "", "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified", "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified", "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified", "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified", "webAuthnPolicyPasswordlessCreateTimeout" : 0, "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false, "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ], "scopeMappings" : [ { "clientScope" : "offline_access", "roles" : [ "offline_access" ] } ], "clientScopeMappings" : { "account" : [ { "client" : "account-console", "roles" : [ "manage-account" ] } ] }, "clients" : [ { "id" : "035f0e3a-8feb-454b-8bee-36b14bf71dff", "clientId" : "account", "name" : "${client_account}", "rootUrl" : "${authBaseUrl}", "baseUrl" : "/realms/placeholder/account/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "d6162565-2302-4b44-a940-41d773838d34", "defaultRoles" : [ "manage-account", "view-profile" ], "redirectUris" : [ "/realms/placeholder/account/*" ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "protocolMappers" : [ { "id" : "3bc3c992-954c-4dc1-a5e5-3dc493628d54", "name" : "locale", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "locale", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "locale", "jsonType.label" : "String" } } ], "defaultClientScopes" : [ ], "optionalClientScopes" : [ ] }, { "id" : "27ba8ed2-2413-4962-ad01-b22dc8109058", "clientId" : "account-console", "name" : "${client_account-console}", "rootUrl" : "${authBaseUrl}", "baseUrl" : "/realms/placeholder/account/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "31348d01-14ea-43ff-9eeb-8b5702d5c68a", "redirectUris" : [ "/realms/placeholder/account/*" ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { "pkce.code.challenge.method" : "S256" }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "protocolMappers" : [ { "id" : "c2fc2d66-210e-4159-8128-1e8e85e4ac73", "name" : "audience resolve", "protocol" : "openid-connect", "protocolMapper" : "oidc-audience-resolve-mapper", "consentRequired" : false, "config" : { } } ], "defaultClientScopes" : [ ], "optionalClientScopes" : [ ] }, { "id" : "7a667c5f-3de1-42a6-a45a-8240708c55a0", "clientId" : "admin-cli", "name" : "${client_admin-cli}", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "32e9a3e2-1551-4676-bfa3-4a65c436437e", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : false, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : true, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ ], "optionalClientScopes" : [ ] }, { "id" : "89a7dee6-eaec-400b-a421-2b8c4f5820c8", "clientId" : "broker", "name" : "${client_broker}", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "34fc35ae-72c5-4ce6-bb88-3ae68ee99a9c", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ ], "optionalClientScopes" : [ ] }, { "id" : "414f30fe-20e1-47e7-b33e-eb047dc19aa3", "clientId" : "client-one", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "5683062e-9a7c-4146-9232-f2d43e46f57c", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : false, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : true, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { "saml.assertion.signature" : "false", "saml.force.post.binding" : "false", "saml.multivalued.roles" : "false", "saml.encrypt" : "false", "saml.server.signature" : "false", "saml.server.signature.keyinfo.ext" : "false", "exclude.session.state.from.auth.response" : "false", "saml_force_name_id_format" : "false", "saml.client.signature" : "false", "tls.client.certificate.bound.access.tokens" : "false", "saml.authnstatement" : "false", "display.on.consent.screen" : "false", "saml.onetimeuse.condition" : "false" }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : true, "nodeReRegistrationTimeout" : -1, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "762a3d0b-f943-46c5-9cda-feefe5be29f8", "clientId" : "client-two", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "03dc125a-8820-4529-88aa-48d70f04bb39", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : false, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : true, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { "saml.assertion.signature" : "false", "saml.force.post.binding" : "false", "saml.multivalued.roles" : "false", "saml.encrypt" : "false", "saml.server.signature" : "false", "saml.server.signature.keyinfo.ext" : "false", "exclude.session.state.from.auth.response" : "false", "saml_force_name_id_format" : "false", "saml.client.signature" : "false", "tls.client.certificate.bound.access.tokens" : "false", "saml.authnstatement" : "false", "display.on.consent.screen" : "false", "saml.onetimeuse.condition" : "false" }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : true, "nodeReRegistrationTimeout" : -1, "defaultClientScopes" : [ "web-origins", "role_list", "profile", "roles", "email" ], "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "6058c1cb-b593-4eb7-884c-5c4f5aad2782", "clientId" : "realm-management", "name" : "${client_realm-management}", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "d566a0e5-0f00-4769-b30e-d5aa0b2ac153", "redirectUris" : [ ], "webOrigins" : [ ], "notBefore" : 0, "bearerOnly" : true, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : false, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "defaultClientScopes" : [ ], "optionalClientScopes" : [ ] }, { "id" : "1f147d69-6d4c-4820-9cf1-887b7cd2f7de", "clientId" : "security-admin-console", "name" : "${client_security-admin-console}", "rootUrl" : "${authAdminUrl}", "baseUrl" : "/admin/placeholder/console/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", "secret" : "ce562a89-33ce-4b1a-ab54-a5971bed722b", "redirectUris" : [ "/admin/placeholder/console/*" ], "webOrigins" : [ "+" ], "notBefore" : 0, "bearerOnly" : false, "consentRequired" : false, "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : false, "serviceAccountsEnabled" : false, "publicClient" : true, "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { "pkce.code.challenge.method" : "S256" }, "authenticationFlowBindingOverrides" : { }, "fullScopeAllowed" : false, "nodeReRegistrationTimeout" : 0, "protocolMappers" : [ { "id" : "afa2de77-fb53-47f6-b398-c0b5aac5bbe1", "name" : "locale", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "locale", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "locale", "jsonType.label" : "String" } } ], "defaultClientScopes" : [ ], "optionalClientScopes" : [ ] } ], "clientScopes" : [ { "id" : "9bec96af-fec6-4d3c-a2e8-d4de5fe2f7f4", "name" : "offline_access", "description" : "OpenID Connect built-in scope: offline_access", "protocol" : "openid-connect", "attributes" : { "consent.screen.text" : "${offlineAccessScopeConsentText}", "display.on.consent.screen" : "true" } }, { "id" : "1b220a08-8608-42a7-a406-c6c3d1594f38", "name" : "role_list", "description" : "SAML role list", "protocol" : "saml", "attributes" : { "consent.screen.text" : "${samlRoleListScopeConsentText}", "display.on.consent.screen" : "true" }, "protocolMappers" : [ { "id" : "b281672a-bc4c-408e-b064-b296da3dfc82", "name" : "role list", "protocol" : "saml", "protocolMapper" : "saml-role-list-mapper", "consentRequired" : false, "config" : { "single" : "false", "attribute.nameformat" : "Basic", "attribute.name" : "Role" } } ] }, { "id" : "beb0295d-3c41-466a-96b9-73edab644370", "name" : "profile", "description" : "OpenID Connect built-in scope: profile", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${profileScopeConsentText}" }, "protocolMappers" : [ { "id" : "be223d79-9b39-4241-a49c-d1b257cb2e8d", "name" : "username", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "username", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "preferred_username", "jsonType.label" : "String" } }, { "id" : "ae5d8188-b209-4ca0-98ae-62baddfa213a", "name" : "gender", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "gender", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "gender", "jsonType.label" : "String" } }, { "id" : "6e9c4b36-ade0-48a2-817c-73918021bb64", "name" : "website", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "website", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "website", "jsonType.label" : "String" } }, { "id" : "ce850f7c-6996-4436-bb6a-0e7e5a6d3469", "name" : "given name", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "firstName", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "given_name", "jsonType.label" : "String" } }, { "id" : "928525e3-9926-43ee-8093-84041b7a2a2c", "name" : "full name", "protocol" : "openid-connect", "protocolMapper" : "oidc-full-name-mapper", "consentRequired" : false, "config" : { "id.token.claim" : "true", "access.token.claim" : "true", "userinfo.token.claim" : "true" } }, { "id" : "907ce0c0-9e3b-4eae-b29a-b7c1b7dcf8e4", "name" : "locale", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "locale", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "locale", "jsonType.label" : "String" } }, { "id" : "c86a59f4-ef8f-4236-b428-4002ebbeff8e", "name" : "middle name", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "middleName", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "middle_name", "jsonType.label" : "String" } }, { "id" : "50470a3b-a789-4fbe-9da4-80d3c4c9167d", "name" : "family name", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "lastName", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "family_name", "jsonType.label" : "String" } }, { "id" : "a7f7c9fe-ed4a-4b81-86c4-96300e413267", "name" : "nickname", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "nickname", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "nickname", "jsonType.label" : "String" } }, { "id" : "799334e8-4e25-425d-96b1-93ff004d2dd1", "name" : "picture", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "picture", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "picture", "jsonType.label" : "String" } }, { "id" : "592805dd-1fe3-4b64-a96f-f7b1cc1b5a20", "name" : "updated at", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "updatedAt", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "updated_at", "jsonType.label" : "String" } }, { "id" : "ac618b58-78db-4968-b8f4-79263c6798d0", "name" : "profile", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "profile", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "profile", "jsonType.label" : "String" } }, { "id" : "ce933219-296f-4b34-a5b3-4a6b9bf03182", "name" : "zoneinfo", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "zoneinfo", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "zoneinfo", "jsonType.label" : "String" } }, { "id" : "1bcfb9f2-c149-4e24-b923-9d78f5e2a5c1", "name" : "birthdate", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "birthdate", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "birthdate", "jsonType.label" : "String" } } ] }, { "id" : "8bf9495d-0087-438c-bd63-b1736cce5e35", "name" : "email", "description" : "OpenID Connect built-in scope: email", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${emailScopeConsentText}" }, "protocolMappers" : [ { "id" : "35cab8d6-8b89-408f-92c9-726638d83102", "name" : "email", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "email", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "email", "jsonType.label" : "String" } }, { "id" : "f07a5630-4fc8-48e0-886b-7e060bc612b2", "name" : "email verified", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "emailVerified", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "email_verified", "jsonType.label" : "boolean" } } ] }, { "id" : "9483c8a3-8355-4cb2-bf78-3b0a02ab7722", "name" : "address", "description" : "OpenID Connect built-in scope: address", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${addressScopeConsentText}" }, "protocolMappers" : [ { "id" : "dc281994-a333-4bf9-9291-200b24290aaf", "name" : "address", "protocol" : "openid-connect", "protocolMapper" : "oidc-address-mapper", "consentRequired" : false, "config" : { "user.attribute.formatted" : "formatted", "user.attribute.country" : "country", "user.attribute.postal_code" : "postal_code", "userinfo.token.claim" : "true", "user.attribute.street" : "street", "id.token.claim" : "true", "user.attribute.region" : "region", "access.token.claim" : "true", "user.attribute.locality" : "locality" } } ] }, { "id" : "3a6eae67-25f9-4024-9b5c-75b089921c7a", "name" : "phone", "description" : "OpenID Connect built-in scope: phone", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "true", "consent.screen.text" : "${phoneScopeConsentText}" }, "protocolMappers" : [ { "id" : "a837d821-0614-486a-832e-c5c62547c390", "name" : "phone number", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "phoneNumber", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "phone_number", "jsonType.label" : "String" } }, { "id" : "17d424c0-3d00-47b2-bd93-4fe7eb6bc96e", "name" : "phone number verified", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-attribute-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "phoneNumberVerified", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "phone_number_verified", "jsonType.label" : "boolean" } } ] }, { "id" : "70f7e6ef-373c-4484-82ae-e0b68c49b474", "name" : "roles", "description" : "OpenID Connect scope for add user roles to the access token", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "false", "display.on.consent.screen" : "true", "consent.screen.text" : "${rolesScopeConsentText}" }, "protocolMappers" : [ { "id" : "10e277e8-c6fc-47af-be7b-6d8706875118", "name" : "audience resolve", "protocol" : "openid-connect", "protocolMapper" : "oidc-audience-resolve-mapper", "consentRequired" : false, "config" : { } }, { "id" : "b72cd061-fcc4-49d0-80f7-9c8cfdc7c271", "name" : "realm roles", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-realm-role-mapper", "consentRequired" : false, "config" : { "user.attribute" : "foo", "access.token.claim" : "true", "claim.name" : "realm_access.roles", "jsonType.label" : "String", "multivalued" : "true" } }, { "id" : "b76bd42a-084f-45b0-bdaa-bb4c0ca29579", "name" : "client roles", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-client-role-mapper", "consentRequired" : false, "config" : { "user.attribute" : "foo", "access.token.claim" : "true", "claim.name" : "resource_access.${client_id}.roles", "jsonType.label" : "String", "multivalued" : "true" } } ] }, { "id" : "dbdca642-5d4f-4e37-a1a3-f7e94565f38f", "name" : "web-origins", "description" : "OpenID Connect scope for add allowed web origins to the access token", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "false", "display.on.consent.screen" : "false", "consent.screen.text" : "" }, "protocolMappers" : [ { "id" : "51cbfba6-c784-4e2a-a26e-c91ba72c2426", "name" : "allowed web origins", "protocol" : "openid-connect", "protocolMapper" : "oidc-allowed-origins-mapper", "consentRequired" : false, "config" : { } } ] }, { "id" : "9658b764-096c-4f52-838f-820dc0715952", "name" : "microprofile-jwt", "description" : "Microprofile - JWT built-in scope", "protocol" : "openid-connect", "attributes" : { "include.in.token.scope" : "true", "display.on.consent.screen" : "false" }, "protocolMappers" : [ { "id" : "0dc87fc7-49de-41cb-b8af-f7fae47c16c1", "name" : "upn", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-property-mapper", "consentRequired" : false, "config" : { "userinfo.token.claim" : "true", "user.attribute" : "username", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "upn", "jsonType.label" : "String" } }, { "id" : "087394f0-d21b-4c81-bdc6-6525a8ff1d9c", "name" : "groups", "protocol" : "openid-connect", "protocolMapper" : "oidc-usermodel-realm-role-mapper", "consentRequired" : false, "config" : { "multivalued" : "true", "userinfo.token.claim" : "true", "user.attribute" : "foo", "id.token.claim" : "true", "access.token.claim" : "true", "claim.name" : "groups", "jsonType.label" : "String" } } ] } ], "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins" ], "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ], "browserSecurityHeaders" : { "contentSecurityPolicyReportOnly" : "", "xContentTypeOptions" : "nosniff", "xRobotsTag" : "none", "xFrameOptions" : "SAMEORIGIN", "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';", "xXSSProtection" : "1; mode=block", "strictTransportSecurity" : "max-age=31536000; includeSubDomains" }, "smtpServer" : { "starttls" : "", "auth" : "", "port" : "1025", "host" : "mailhog", "from" : "noreply@placeholder.com", "ssl" : "" }, "eventsEnabled" : false, "eventsListeners" : [ "jboss-logging", "pl_event_listener" ], "enabledEventTypes" : [ "SEND_RESET_PASSWORD", "UPDATE_CONSENT_ERROR", "GRANT_CONSENT", "REMOVE_TOTP", "REVOKE_GRANT", "UPDATE_TOTP", "LOGIN_ERROR", "CLIENT_LOGIN", "RESET_PASSWORD_ERROR", "IMPERSONATE_ERROR", "CODE_TO_TOKEN_ERROR", "CUSTOM_REQUIRED_ACTION", "RESTART_AUTHENTICATION", "IMPERSONATE", "UPDATE_PROFILE_ERROR", "LOGIN", "UPDATE_PASSWORD_ERROR", "CLIENT_INITIATED_ACCOUNT_LINKING", "TOKEN_EXCHANGE", "LOGOUT", "REGISTER", "CLIENT_REGISTER", "IDENTITY_PROVIDER_LINK_ACCOUNT", "UPDATE_PASSWORD", "CLIENT_DELETE", "FEDERATED_IDENTITY_LINK_ERROR", "IDENTITY_PROVIDER_FIRST_LOGIN", "CLIENT_DELETE_ERROR", "VERIFY_EMAIL", "CLIENT_LOGIN_ERROR", "RESTART_AUTHENTICATION_ERROR", "EXECUTE_ACTIONS", "REMOVE_FEDERATED_IDENTITY_ERROR", "TOKEN_EXCHANGE_ERROR", "PERMISSION_TOKEN", "SEND_IDENTITY_PROVIDER_LINK_ERROR", "EXECUTE_ACTION_TOKEN_ERROR", "SEND_VERIFY_EMAIL", "EXECUTE_ACTIONS_ERROR", "REMOVE_FEDERATED_IDENTITY", "IDENTITY_PROVIDER_POST_LOGIN", "IDENTITY_PROVIDER_LINK_ACCOUNT_ERROR", "UPDATE_EMAIL", "REGISTER_ERROR", "REVOKE_GRANT_ERROR", "EXECUTE_ACTION_TOKEN", "LOGOUT_ERROR", "UPDATE_EMAIL_ERROR", "CLIENT_UPDATE_ERROR", "UPDATE_PROFILE", "CLIENT_REGISTER_ERROR", "FEDERATED_IDENTITY_LINK", "SEND_IDENTITY_PROVIDER_LINK", "SEND_VERIFY_EMAIL_ERROR", "RESET_PASSWORD", "CLIENT_INITIATED_ACCOUNT_LINKING_ERROR", "UPDATE_CONSENT", "REMOVE_TOTP_ERROR", "VERIFY_EMAIL_ERROR", "SEND_RESET_PASSWORD_ERROR", "CLIENT_UPDATE", "CUSTOM_REQUIRED_ACTION_ERROR", "IDENTITY_PROVIDER_POST_LOGIN_ERROR", "UPDATE_TOTP_ERROR", "CODE_TO_TOKEN", "GRANT_CONSENT_ERROR", "IDENTITY_PROVIDER_FIRST_LOGIN_ERROR" ], "adminEventsEnabled" : false, "adminEventsDetailsEnabled" : false, "components" : { "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ { "id" : "1b20bb08-8d09-429e-a591-b992b7d8582e", "name" : "Allowed Client Scopes", "providerId" : "allowed-client-templates", "subType" : "authenticated", "subComponents" : { }, "config" : { "allow-default-scopes" : [ "true" ] } }, { "id" : "e1a3f4cc-0805-43fd-8b53-f5b5e95adab2", "name" : "Consent Required", "providerId" : "consent-required", "subType" : "anonymous", "subComponents" : { }, "config" : { } }, { "id" : "cab43553-8829-4040-93e2-f27743db52bd", "name" : "Max Clients Limit", "providerId" : "max-clients", "subType" : "anonymous", "subComponents" : { }, "config" : { "max-clients" : [ "200" ] } }, { "id" : "243f4ff8-d691-49ba-9cb5-fc024a038c15", "name" : "Allowed Protocol Mapper Types", "providerId" : "allowed-protocol-mappers", "subType" : "authenticated", "subComponents" : { }, "config" : { "allowed-protocol-mapper-types" : [ "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper" ] } }, { "id" : "cf828513-2f49-4003-964d-4fe6598f0160", "name" : "Allowed Protocol Mapper Types", "providerId" : "allowed-protocol-mappers", "subType" : "anonymous", "subComponents" : { }, "config" : { "allowed-protocol-mapper-types" : [ "saml-user-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper", "saml-role-list-mapper", "oidc-full-name-mapper", "saml-user-property-mapper", "oidc-usermodel-property-mapper" ] } }, { "id" : "a50d008c-7c51-48cf-9f8b-9532bc3699f7", "name" : "Trusted Hosts", "providerId" : "trusted-hosts", "subType" : "anonymous", "subComponents" : { }, "config" : { "host-sending-registration-request-must-match" : [ "true" ], "client-uris-must-match" : [ "true" ] } }, { "id" : "20140829-f20b-4dee-b423-ebfd488a5dee", "name" : "Full Scope Disabled", "providerId" : "scope", "subType" : "anonymous", "subComponents" : { }, "config" : { } }, { "id" : "691c39de-0a7d-4b05-829c-acf644110035", "name" : "Allowed Client Scopes", "providerId" : "allowed-client-templates", "subType" : "anonymous", "subComponents" : { }, "config" : { "allow-default-scopes" : [ "true" ] } } ], "org.keycloak.keys.KeyProvider" : [ { "id" : "613f4d6a-7960-4cdb-8334-cd2316bf3d35", "name" : "aes-generated", "providerId" : "aes-generated", "subComponents" : { }, "config" : { "kid" : [ "73d62105-fe3b-491e-8702-f9e251a47a35" ], "secret" : [ "YaQYZ_cPYmWYY5OSkUO2JQ" ], "priority" : [ "100" ] } }, { "id" : "07d18a2a-fbb7-492d-9e12-c25bc950b5e0", "name" : "hmac-generated", "providerId" : "hmac-generated", "subComponents" : { }, "config" : { "kid" : [ "128b1ec0-1c31-4b6a-a8d5-d07dead51bc0" ], "secret" : [ "_5bLqn-W9M9PFefWtE6EB4rU30hRVBZp3nLI7gu3re-gmC1W4TUq6NzO-EqtTysHdVdTuEa1mP0Wp348YdB_ew" ], "priority" : [ "100" ], "algorithm" : [ "HS256" ] } }, { "id" : "0e4629c6-143e-4144-87d6-775183a341ae", "name" : "rsa-generated", "providerId" : "rsa-generated", "subComponents" : { }, "config" : { "privateKey" : [ "MIIEpAIBAAKCAQEAk7MRzDZibc4/z09lEWDFjN6aJ+nG0TSTTGImV2k0Hjd1QoHl6hqSE/5DYSj4dC/QrMYVxCo6Wh3NJ8BNp3ZGNMw82T78sg1bmM2Y1UB+UrGC0pztuFPUarjlrILuRgQn4aP1IsIhMu25QXg3iuc8ftbteLEKDgnOrLf63Uoj1HJflL4giiT6sbXX3POYwtqgOMeSDo/dRc7G3S+tFAdpdnm4m8cISM5wB3xLdkY1GMSHEAxwYmBisnOzox/FjGYmoQy/B2HroENMycdvCzy6hmsR/2DWvDKXqTpmr3LKiRfJpchTtlHy0WlETkaHsXJHXHPc9XMrPpI2/zlHQnl4YwIDAQABAoIBAGjdtB484se5r35+jXC4N6rcBbGe/wVcgdSyvyxCyrlFgODWn6oGcX72gVqDn1vG8y8oeR3NKZ8AF8BIfhoPFKu58t4AJaQ5bbZhC0klwErwM8VbnEDKbD/VxWQllg1qN/Kx2YNzN+UT+fts4mqh4UbhTLvrXws2lWH2QoxJboUQFy8OTvQMcn9p85MDodR/B/t6vog4zcyt75sVvHLXPcysUNlIrXzWDuxtIY32VN+Uts4MK8h3HKpR//FfC05qJweynY/Ob2/81+9h6/Ou+8M+RXbnoiaK4iDu5/IVzepnRLI1L6GEuWzNeSO4hnlVe8d2nZfbQPy9G4D5wWcq/LkCgYEAzDDBpcDdHECKzUoCQknv0VOzzv/X146yzGdv8Eb6MrPjKK9W4JKFWykji+bsxBMsJW6YTBUpOlvZ3Z36jkD+Nt97i5Qh4tKNpj+qVPa2rzd8IQdAvv3d0VoTTeXDZcuZmLRTj0+dPUwG4rBSI1zLW/9c/MFXQ6GQ077gD3HMAY8CgYEAuSztja7CovPuJgF1vLzFQwtJvqD5ctKPC4axPjm6g6LN22SJmg6GPWWfVG4gDG9CAJ7QIDRxHKI+6dAuNSKm/qOZ8Rd+Hq0Pll/Oa4vP3+jcJ5E1uaQrm291ZG5NmcO4SH5OVrF432+GzY3QgjpMkG/rZqbWQ9U+TSDnoheSCe0CgYEAiuVPlJTQ03sD8Ak76COrQlURpulZxYOIFIr4FhXx87Nx/ibnjfOdSxl82JnIzMfN69iDOJ3cYZpBZQMlgMatJl53B8dIFabsO/5qu0jnk+DGSyFH5aOC0/nVz9NPS1tnq/xeKsoZR60DsggGl49ztazLcBOEbLjmb2MTvu3Fu/kCgYEAoVeiC8bvU6gSIg83lKEthwL42B3N+tu3QyWynTMTbcqWbsgklJR/JlO7BYeGaQ8vhPbbBJRs0bQT+Qkomad9tXS6lrQPcY78e9syMcZ58vAjkl4VX5DJZf8xW7Y36vf7Qz655xNu689ytvsPZ8iAGYFKrABFxIiyZeV7rWG4HukCgYBgr8rHpMrWhga4QqLCbyhzVWJ9YSL4zBV6I6+IwYf+HCofbXb0+TVP5jgEQi+srVMPOXNxuVnBq6NcCk8yu12LsTrPZQkVXfDUej5S5LqxJ2y7L2pzUTW3bU0O5qnUpLKcNmwr8pgPqng7q3T0RR/6VUlYjjItxB8JhswR9obfOw==" ], "certificate" : [ "MIIClzCCAX8CBgFwbo+Y0DANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARkZW1vMB4XDTIwMDIyMjIwMTkyOVoXDTMwMDIyMjIwMjEwOVowDzENMAsGA1UEAwwEZGVtbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJOzEcw2Ym3OP89PZRFgxYzemifpxtE0k0xiJldpNB43dUKB5eoakhP+Q2Eo+HQv0KzGFcQqOlodzSfATad2RjTMPNk+/LINW5jNmNVAflKxgtKc7bhT1Gq45ayC7kYEJ+Gj9SLCITLtuUF4N4rnPH7W7XixCg4Jzqy3+t1KI9RyX5S+IIok+rG119zzmMLaoDjHkg6P3UXOxt0vrRQHaXZ5uJvHCEjOcAd8S3ZGNRjEhxAMcGJgYrJzs6MfxYxmJqEMvwdh66BDTMnHbws8uoZrEf9g1rwyl6k6Zq9yyokXyaXIU7ZR8tFpRE5Gh7FyR1xz3PVzKz6SNv85R0J5eGMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAfMAQyqT2Vajrp25j0iNtOHtNuSRuiPVC5dodoc5B6EZdCzq2DedvIuHR1p9pDLtpAlUJXHtebdrUjcie6xsz1SID5FUCe0Wgw7rZ+PPSH2678AjiRow4PO0w6OVsi7M5v6F+PlDAseb03s0ANTEhzoUXnPxTrO7yFuGXqOrSyTuLmuxONmrPZJ4229K1bdXFGfgzK42iBx6JZU313yXJPar/K38bi6ruBV0FUH1DHeO+cNqEgAZZEGtkeYFnbBWioVH+ZRFr9XqMrwF4E6o4RE4KQq+AsOrCEjpHOzwSPONDMBh77pR/vR3Yiwcd9PKco9U1jpla7nKbchyKf92dqw==" ], "priority" : [ "100" ] } } ] }, "internationalizationEnabled" : true, "supportedLocales" : [ "de", "en", "it", "fr", "es", "nl" ], "defaultLocale" : "en", "authenticationFlows" : [ { "id" : "680ffd05-8824-494c-8a93-f222469b134b", "alias" : "Account verification options", "description" : "Method with which to verity the existing account", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "idp-email-verification", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "ALTERNATIVE", "priority" : 20, "flowAlias" : "Verify Existing Account by Re-authentication", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "4053540e-8bef-499c-9097-624dd8d837b5", "alias" : "Authentication Options", "description" : "Authentication options.", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "basic-auth", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "basic-auth-otp", "requirement" : "DISABLED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-spnego", "requirement" : "DISABLED", "priority" : 30, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "b2f0234f-cce7-4bb5-9274-b8e74b411c88", "alias" : "Browser - Conditional OTP", "description" : "Flow to determine if the OTP is required for the authentication", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-otp-form", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "0ac11db8-4464-4059-926b-5442e53205ea", "alias" : "Direct Grant - Conditional OTP", "description" : "Flow to determine if the OTP is required for the authentication", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "direct-grant-validate-otp", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "0e2ea316-53e8-47d2-954f-04fdbc016d1a", "alias" : "First broker login - Conditional OTP", "description" : "Flow to determine if the OTP is required for the authentication", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-otp-form", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "1bf6420d-edc9-4a24-b5c3-79fc7f933d33", "alias" : "Handle Existing Account", "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "idp-confirm-link", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "REQUIRED", "priority" : 20, "flowAlias" : "Account verification options", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "db2da303-3357-4de8-b274-69981b187118", "alias" : "Reset - Conditional OTP", "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "conditional-user-configured", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "reset-otp", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "c48f2385-837c-40be-9b5d-80de7b9b46d0", "alias" : "User creation or linking", "description" : "Flow for the existing/non-existing user alternatives", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticatorConfig" : "create unique user config", "authenticator" : "idp-create-user-if-unique", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "ALTERNATIVE", "priority" : 20, "flowAlias" : "Handle Existing Account", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "80e9a42a-1722-47fc-b8d6-ae0cdf7de65c", "alias" : "Verify Existing Account by Re-authentication", "description" : "Reauthentication of existing account", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "idp-username-password-form", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 20, "flowAlias" : "First broker login - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "f691c5da-c422-49c4-af96-24f242381826", "alias" : "browser", "description" : "browser based authentication", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "auth-cookie", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "auth-spnego", "requirement" : "DISABLED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "identity-provider-redirector", "requirement" : "ALTERNATIVE", "priority" : 25, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "ALTERNATIVE", "priority" : 30, "flowAlias" : "forms", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "3573e206-29d4-4a7f-a617-f1eb715d0618", "alias" : "clients", "description" : "Base authentication for clients", "providerId" : "client-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "client-secret", "requirement" : "ALTERNATIVE", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "client-jwt", "requirement" : "ALTERNATIVE", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "client-secret-jwt", "requirement" : "ALTERNATIVE", "priority" : 30, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "client-x509", "requirement" : "ALTERNATIVE", "priority" : 40, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "eafabff0-2792-4699-a7b9-2139a3762afb", "alias" : "direct grant", "description" : "OpenID Connect Resource Owner Grant", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "direct-grant-validate-username", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "direct-grant-validate-password", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 30, "flowAlias" : "Direct Grant - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "58a1588a-b766-4ea8-b7c6-6b8a4b6ba8e2", "alias" : "docker auth", "description" : "Used by Docker clients to authenticate against the IDP", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "docker-http-basic-authenticator", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "df96393e-ae0f-4d6f-8b83-0f2aefc4e271", "alias" : "first broker login", "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticatorConfig" : "review profile config", "authenticator" : "idp-review-profile", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "REQUIRED", "priority" : 20, "flowAlias" : "User creation or linking", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "45c15ad1-d4cc-4a44-8110-5c49d87624cc", "alias" : "forms", "description" : "Username, password, otp and other auth forms.", "providerId" : "basic-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "auth-username-password-form", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 20, "flowAlias" : "Browser - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "f953ae9f-80f0-4396-ab9d-7de904c23041", "alias" : "http challenge", "description" : "An authentication flow based on challenge-response HTTP Authentication Schemes", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "no-cookie-redirect", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "REQUIRED", "priority" : 20, "flowAlias" : "Authentication Options", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "283a627a-4c33-4ee3-9c47-31fe2d307444", "alias" : "registration", "description" : "registration flow", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "registration-page-form", "requirement" : "REQUIRED", "priority" : 10, "flowAlias" : "registration form", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "85f9888a-5395-4c1b-87ea-bb7af94e2f20", "alias" : "registration form", "description" : "registration form", "providerId" : "form-flow", "topLevel" : false, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "registration-user-creation", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "registration-profile-action", "requirement" : "REQUIRED", "priority" : 40, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "registration-password-action", "requirement" : "REQUIRED", "priority" : 50, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "registration-recaptcha-action", "requirement" : "DISABLED", "priority" : 60, "userSetupAllowed" : false, "autheticatorFlow" : false } ] }, { "id" : "f5f2a017-bf14-4fa5-be54-9ab46fab3f9d", "alias" : "reset credentials", "description" : "Reset credentials for a user if they forgot their password or something", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "reset-credentials-choose-user", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "reset-credential-email", "requirement" : "REQUIRED", "priority" : 20, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "authenticator" : "reset-password", "requirement" : "REQUIRED", "priority" : 30, "userSetupAllowed" : false, "autheticatorFlow" : false }, { "requirement" : "CONDITIONAL", "priority" : 40, "flowAlias" : "Reset - Conditional OTP", "userSetupAllowed" : false, "autheticatorFlow" : true } ] }, { "id" : "b6b71d12-6e3a-434e-b83b-4587c394ac65", "alias" : "saml ecp", "description" : "SAML ECP Profile Authentication Flow", "providerId" : "basic-flow", "topLevel" : true, "builtIn" : true, "authenticationExecutions" : [ { "authenticator" : "http-basic-authenticator", "requirement" : "REQUIRED", "priority" : 10, "userSetupAllowed" : false, "autheticatorFlow" : false } ] } ], "authenticatorConfig" : [ { "id" : "d2d40a8c-f926-4d84-a0a8-ef2e6b91da31", "alias" : "create unique user config", "config" : { "require.password.update.after.registration" : "false" } }, { "id" : "26d88ab2-a3ad-4400-a771-17224dac2d7e", "alias" : "review profile config", "config" : { "update.profile.on.first.login" : "missing" } } ], "requiredActions" : [ { "alias" : "CONFIGURE_TOTP", "name" : "Configure OTP", "providerId" : "CONFIGURE_TOTP", "enabled" : true, "defaultAction" : false, "priority" : 10, "config" : { } }, { "alias" : "terms_and_conditions", "name" : "Terms and Conditions", "providerId" : "terms_and_conditions", "enabled" : false, "defaultAction" : false, "priority" : 20, "config" : { } }, { "alias" : "UPDATE_PASSWORD", "name" : "Update Password", "providerId" : "UPDATE_PASSWORD", "enabled" : true, "defaultAction" : false, "priority" : 30, "config" : { } }, { "alias" : "UPDATE_PROFILE", "name" : "Update Profile", "providerId" : "UPDATE_PROFILE", "enabled" : true, "defaultAction" : false, "priority" : 40, "config" : { } }, { "alias" : "VERIFY_EMAIL", "name" : "Verify Email", "providerId" : "VERIFY_EMAIL", "enabled" : true, "defaultAction" : false, "priority" : 50, "config" : { } } ], "browserFlow" : "browser", "registrationFlow" : "registration", "directGrantFlow" : "direct grant", "resetCredentialsFlow" : "reset credentials", "clientAuthenticationFlow" : "clients", "dockerAuthenticationFlow" : "docker auth", "attributes" : { "clientSessionIdleTimeout" : "0", "clientSessionMaxLifespan" : "0" }, "keycloakVersion" : "11.0.3", "userManagedAccessAllowed" : false } ================================================ FILE: _resources/demo-config/import-dir/placeholder-users-0.json ================================================ { "realm" : "placeholder", "users" : [ { "id" : "4695110d-11fe-4ec4-977f-147eb8d6afdc", "createdTimestamp" : 1583465306809, "username" : "james@placeholder.com", "enabled" : true, "totp" : false, "emailVerified" : true, "firstName" : "James", "lastName" : "FamilyName", "email" : "james@placeholder.com", "credentials" : [ { "id" : "f028c46f-d923-41e3-bee8-0547945b75c7", "type" : "password", "createdDate" : 1583465321139, "secretData" : "{\"value\":\"lCJ8AN+4Coc2lAS1AxwdobF690pBIb7npyGuyQwey/mPlYiDHnYnye5LzKTeXsWdMfBnnfjE4HiOm3aQyweMQw==\",\"salt\":\"AHjkuDCoG8yS2d0NmR0YZA==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "offline_access", "uma_authorization" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] }, { "id" : "7fd7255b-bb1f-42a5-95a6-10a083d85a71", "createdTimestamp" : 1583465485338, "username" : "jennifer@placeholder.com", "enabled" : true, "totp" : false, "emailVerified" : true, "firstName" : "Jennifer", "lastName" : "FamilyName", "email" : "jennifer@placeholder.com", "credentials" : [ { "id" : "cfc9e94d-3682-4623-a439-7f99002e3849", "type" : "password", "createdDate" : 1583465494759, "secretData" : "{\"value\":\"Bnl6SmQuQgn9pBCHCH7dvf8lrBhFyh6MQ+jfxg/X7tyg5eWNuesF7sFzRvCzsSnKIGsidRb0azHVHy0uv9p3lw==\",\"salt\":\"K6ACQCuE18fTXhVP61nPSQ==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "offline_access", "uma_authorization" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] }, { "id" : "fbc5cfea-7e08-419f-a2d9-739d8687337a", "createdTimestamp" : 1583465348718, "username" : "john@placeholder.com", "enabled" : true, "totp" : false, "emailVerified" : true, "firstName" : "John", "lastName" : "FamilyName", "email" : "john@placeholder.com", "credentials" : [ { "id" : "70670e5b-5240-45d9-9ddd-b13290f23196", "type" : "password", "createdDate" : 1583465362989, "secretData" : "{\"value\":\"3G291rtIi2o3sFLCYdcvYZFAvytH7Jxka7jM36o7vUYJeOApRciINiu8CPW/X23VyzHd8UJ9qiF31cqSvU3KVQ==\",\"salt\":\"UtXr7ED9SDhFg+dDZbsnSw==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "offline_access", "uma_authorization" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] }, { "id" : "8341404d-9004-49a9-87b6-a97b3e79adf2", "createdTimestamp" : 1583465423394, "username" : "mary@placeholder.com", "enabled" : true, "totp" : false, "emailVerified" : true, "firstName" : "Mary", "lastName" : "FamilyName", "email" : "mary@placeholder.com", "credentials" : [ { "id" : "fab26a8c-0180-4519-8ae8-d2a33a091a66", "type" : "password", "createdDate" : 1583465433080, "secretData" : "{\"value\":\"7Zw+Ez3zNwQMsSHqVDfiGfAEZN5OenmoCq19jDUHZcqOkbsat5wSHzY+nrg6ZgfVw7E2/6f+6X5EDX0geueSpw==\",\"salt\":\"Y+SAh1lGN6GEEpwM3ADbHA==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "offline_access", "uma_authorization" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] }, { "id" : "bf2bd5cd-e6e0-4826-8193-126796d52789", "createdTimestamp" : 1583465451452, "username" : "patricia@placeholder.com", "enabled" : true, "totp" : false, "emailVerified" : true, "firstName" : "Patricia", "lastName" : "FamilyName", "email" : "patricia@placeholder.com", "credentials" : [ { "id" : "9f2c242a-f069-468f-860f-faa38baba01b", "type" : "password", "createdDate" : 1583465460220, "secretData" : "{\"value\":\"I4IUJwBFuuOw7UN7j0GWyE77FjZNu3mtPQ58tn/KVO9PjLuRTdDSeyRV6k359gK7pOfLjdFxY16P1EBHqkfQRw==\",\"salt\":\"pi0KrCgHZPqCyFHF03gQ1Q==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "offline_access", "uma_authorization" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] }, { "id" : "3fc781dd-8f07-4c34-9ca3-02e194f7ac69", "createdTimestamp" : 1583465389437, "username" : "robert@placeholder.com", "enabled" : true, "totp" : false, "emailVerified" : true, "firstName" : "Robert", "lastName" : "FamilyName", "email" : "robert@placeholder.com", "credentials" : [ { "id" : "a3a7955d-07b8-4004-b031-5845c4257171", "type" : "password", "createdDate" : 1583465405118, "secretData" : "{\"value\":\"xjHdyum4eDUqbeQhadji4URJhS688vLmQvrGEBC3FJwQb0ceCzbf/TSiuqAQy4JrzZt3cKDdAiXi1BZfjWoD/A==\",\"salt\":\"AbR+OJk8LjTYdc0FEQ/2tQ==\"}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}" } ], "disableableCredentialTypes" : [ ], "requiredActions" : [ ], "realmRoles" : [ "offline_access", "product_view", "uma_authorization" ], "clientRoles" : { "account" : [ "manage-account", "view-profile" ] }, "notBefore" : 0, "groups" : [ ] } ] } ================================================ FILE: _resources/demo-config/standalone-ha.xml ================================================ jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE h2 sa sa jdbc:postgresql://${env.DB_ADDR:postgres}/${env.DB_DATABASE:keycloak}${env.JDBC_PARAMS:} postgresql IdleConnections ${env.DB_USER:keycloak} ${env.DB_PASSWORD:password} SELECT 1 true 60000 org.h2.jdbcx.JdbcDataSource org.postgresql.xa.PGXADataSource false auth classpath:${jboss.home.dir}/providers/* master 900 -1 false false ${env.KEYCLOAK_WELCOME_THEME:keycloak} ${env.KEYCLOAK_DEFAULT_THEME:keycloak} ${jboss.home.dir}/themes jpa basic default ${keycloak.jta.lookup.provider:jboss} ${keycloak.x509cert.lookup.provider:default} ${keycloak.hostname.provider:default} ================================================ FILE: docker-compose.yml ================================================ version: '3.7' services: postgres: image: postgres:13 container_name: postgres environment: POSTGRES_DB: keycloak POSTGRES_USER: keycloak POSTGRES_PASSWORD: password ports: - 5434:5432 keycloak: image: jboss/keycloak:11.0.3 container_name: keycloak environment: DB_VENDOR: POSTGRES DB_ADDR: postgres DB_DATABASE: keycloak DB_USER: keycloak DB_PASSWORD: password KEYCLOAK_USER: admin KEYCLOAK_PASSWORD: password PROXY_ADDRESS_FORWARDING: "true" TZ: UTC KEYCLOAK_DEFAULT_THEME: theme-minimal KEYCLOAK_WELCOME_THEME: theme-minimal #KEYCLOAK_LOGLEVEL: DEBUG ports: - 8088:8080 command: - "-Dkeycloak.migration.action=import -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=/opt/jboss/keycloak/import-dir -Dkeycloak.migration.strategy=OVERWRITE_EXISTING" # - "-Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=/opt/jboss/keycloak/export-dir -Dkeycloak.migration.usersPerFile=1000 -Dkeycloak.migration.strategy=OVERWRITE_EXISTING" volumes: - ./_resources/demo-config/standalone-ha.xml:/opt/jboss/keycloak/standalone/configuration/standalone-ha.xml - ./_resources/demo-config/import-dir:/opt/jboss/keycloak/import-dir - ./_resources/demo-config/export-dir:/opt/jboss/keycloak/export-dir #- ./theme-minimal/src/main/resources/theme/theme-minimal:/opt/jboss/keycloak/themes/theme-minimal - ./theme-minimal/target/theme-minimal-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/theme-minimal-0.0.1-SNAPSHOT.jar - ./provider-domain/target/provider-domain-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/provider-domain-0.0.1-SNAPSHOT.jar - ./spi-registration-profile/target/spi-registration-profile-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/spi-registration-profile-0.0.1-SNAPSHOT.jar - ./spi-resource/target/spi-resource-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/spi-resource-0.0.1-SNAPSHOT.jar - ./spi-event-listener/target/spi-event-listener-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/spi-event-listener-0.0.1-SNAPSHOT.jar - ./spi-mail-template-override/target/spi-mail-template-override-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/spi-mail-template-override-0.0.1-SNAPSHOT.jar depends_on: - postgres - mailhog mailhog: image: mailhog/mailhog:latest container_name: mailhog ports: - 8025:8025 ================================================ FILE: mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found .mvn/wrapper/maven-wrapper.jar" fi else if [ "$MVNW_VERBOSE" = true ]; then echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." fi if [ -n "$MVNW_REPOURL" ]; then jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" else jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" fi while IFS="=" read key value; do case "$key" in (wrapperUrl) jarUrl="$value"; break ;; esac done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" if [ "$MVNW_VERBOSE" = true ]; then echo "Downloading from: $jarUrl" fi wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" if $cygwin; then wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` fi if command -v wget > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found wget ... using wget" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then wget "$jarUrl" -O "$wrapperJarPath" else wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" fi elif command -v curl > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found curl ... using curl" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then curl -o "$wrapperJarPath" "$jarUrl" -f else curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f fi else if [ "$MVNW_VERBOSE" = true ]; then echo "Falling back to using Java to download" fi javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" # For Cygwin, switch paths to Windows format before running javac if $cygwin; then javaClass=`cygpath --path --windows "$javaClass"` fi if [ -e "$javaClass" ]; then if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then if [ "$MVNW_VERBOSE" = true ]; then echo " - Compiling MavenWrapperDownloader.java ..." fi # Compiling the Java class ("$JAVA_HOME/bin/javac" "$javaClass") fi if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then # Running the downloader if [ "$MVNW_VERBOSE" = true ]; then echo " - Running MavenWrapperDownloader.java ..." fi ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") fi fi fi fi ########################################################################################## # End of extension ########################################################################################## export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} if [ "$MVNW_VERBOSE" = true ]; then echo $MAVEN_PROJECTBASEDIR fi MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM https://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM set title of command window title %0 @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( if "%MVNW_VERBOSE%" == "true" ( echo Found %WRAPPER_JAR% ) ) else ( if not "%MVNW_REPOURL%" == "" ( SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... echo Downloading from: %DOWNLOAD_URL% ) powershell -Command "&{"^ "$webclient = new-object System.Net.WebClient;"^ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ "}"^ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% ) ) @REM End of extension @REM Provide a "standardized" way to retrieve the CLI args that will @REM work with both Windows and non-Windows executions. set MAVEN_CMD_LINE_ARGS=%* %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: pom.xml ================================================ 4.0.0 com.zonaut.keycloak keycloak-extensions 0.0.1-SNAPSHOT pom KEYCLOAK EXTENSIONS provider-domain spi-event-listener spi-mail-template-override spi-registration-profile spi-resource theme-minimal ================================================ FILE: provider-domain/README.md ================================================ # Provider domain An example of adding new domain entities This will create the following new table * prfx_products ## Keycloak config Copy the jar in the target folder to the `/opt/jboss/keycloak/standalone/deployments/` folder. Or when using Docker mount the file `./jar-name.jar:/opt/jboss/keycloak/standalone/deployments/jar-name.jar` ================================================ FILE: provider-domain/pom.xml ================================================ 4.0.0 com.zonaut.keycloak provider-domain 0.0.1-SNAPSHOT jar KEYCLOAK EXTENSIONS :: PROVIDER domain Example of adding new domain entities UTF-8 UTF-8 11 11 11.0.3 3.8.1 2.0.2.Final org.keycloak keycloak-server-spi ${keycloak.version} provided org.keycloak keycloak-server-spi-private ${keycloak.version} provided org.keycloak keycloak-services ${keycloak.version} provided org.keycloak keycloak-model-jpa ${keycloak.version} provided org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} org.wildfly.plugins wildfly-maven-plugin ${maven-wildfly-plugin.version} false ================================================ FILE: provider-domain/src/main/java/com/zonaut/keycloak/extensions/domain/CustomJpaEntityProvider.java ================================================ package com.zonaut.keycloak.extensions.domain; import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider; import java.util.Collections; import java.util.List; public class CustomJpaEntityProvider implements JpaEntityProvider { @Override public List> getEntities() { return Collections.singletonList(Product.class); } @Override public String getChangelogLocation() { return "META-INF/custom-changelog.xml"; } @Override public void close() { } @Override public String getFactoryId() { return CustomJpaEntityProviderFactory.ID; } } ================================================ FILE: provider-domain/src/main/java/com/zonaut/keycloak/extensions/domain/CustomJpaEntityProviderFactory.java ================================================ package com.zonaut.keycloak.extensions.domain; import org.keycloak.Config.Scope; import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider; import org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; public class CustomJpaEntityProviderFactory implements JpaEntityProviderFactory { protected static final String ID = "provider-domain-custom"; @Override public JpaEntityProvider create(KeycloakSession session) { return new CustomJpaEntityProvider(); } @Override public String getId() { return ID; } @Override public void init(Scope config) { } @Override public void postInit(KeycloakSessionFactory factory) { } @Override public void close() { } } ================================================ FILE: provider-domain/src/main/java/com/zonaut/keycloak/extensions/domain/Product.java ================================================ package com.zonaut.keycloak.extensions.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "PRFX_PRODUCTS") public class Product { @Id @Column(name = "ID") private String id; @Column(name = "REALM_ID", nullable = false) private String realmId; @Column(name = "NAME", nullable = false) private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getRealmId() { return realmId; } public void setRealmId(String realmId) { this.realmId = realmId; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ================================================ FILE: provider-domain/src/main/resources/META-INF/001-products.xml ================================================ ================================================ FILE: provider-domain/src/main/resources/META-INF/custom-changelog.xml ================================================ ================================================ FILE: provider-domain/src/main/resources/META-INF/jboss-deployment-structure.xml ================================================ ================================================ FILE: provider-domain/src/main/resources/META-INF/services/org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory ================================================ com.zonaut.keycloak.extensions.domain.CustomJpaEntityProviderFactory ================================================ FILE: spi-event-listener/README.md ================================================ # SPI event listener An example of a custom event listener that logs all events. Also contains an example of a transaction when acting on a certain event. ## Keycloak config Copy the jar in the target folder to the `/opt/jboss/keycloak/standalone/deployments/` folder. Or when using Docker mount the file `./jar-name.jar:/opt/jboss/keycloak/standalone/deployments/jar-name.jar` ## Keycloak admin console configuration Set the event listener * Open up Keycloak administration console and select your realm * Go to events in the left side bar under Manage * Open the config [tab] * click in the input box next to event listeners, a dropdown with all available event listeners is shown * select our pl_event_listener ================================================ FILE: spi-event-listener/pom.xml ================================================ 4.0.0 com.zonaut.keycloak spi-event-listener 0.0.1-SNAPSHOT jar KEYCLOAK EXTENSIONS :: SPI event listener Example of a custom event listener UTF-8 UTF-8 11 11 11.0.3 3.8.1 2.0.2.Final org.keycloak keycloak-server-spi ${keycloak.version} provided org.keycloak keycloak-server-spi-private ${keycloak.version} provided org.keycloak keycloak-services ${keycloak.version} provided org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} org.wildfly.plugins wildfly-maven-plugin ${maven-wildfly-plugin.version} false ================================================ FILE: spi-event-listener/src/main/java/com/zonaut/keycloak/extensions/events/logging/PlaceholderEventListenerProvider.java ================================================ package com.zonaut.keycloak.extensions.events.logging; import org.jboss.logging.Logger; import org.keycloak.events.Event; import org.keycloak.events.EventListenerProvider; import org.keycloak.events.EventType; import org.keycloak.events.admin.AdminEvent; import org.keycloak.events.admin.OperationType; import org.keycloak.events.admin.ResourceType; import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; import org.keycloak.models.RealmProvider; import org.keycloak.models.UserModel; public class PlaceholderEventListenerProvider implements EventListenerProvider { private static final Logger log = Logger.getLogger(PlaceholderEventListenerProvider.class); private final KeycloakSession session; private final RealmProvider model; public PlaceholderEventListenerProvider(KeycloakSession session) { this.session = session; this.model = session.realms(); } @Override public void onEvent(Event event) { log.infof("## NEW %s EVENT", event.getType()); log.info("-----------------------------------------------------------"); event.getDetails().forEach((key, value) -> log.info(key + ": " + value)); // USE CASE SCENARIO, I'm sure there are better use case scenario's :p // // Let's assume for whatever reason you only want the user // to be able to verify his account if a transaction we make succeeds. // Let's say an external call to a service needs to return a 200 response code or we throw an exception. // When the user tries to login after a failed attempt, // the user remains unverified and when trying to login will receive another verify account email. if (EventType.VERIFY_EMAIL.equals(event.getType())) { RealmModel realm = this.model.getRealm(event.getRealmId()); UserModel user = this.session.users().getUserById(event.getUserId(), realm); if (user != null && user.getEmail() != null && user.isEmailVerified()) { log.info("USER HAS VERIFIED EMAIL : " + event.getUserId()); // Example of adding an attribute when this event happens user.setSingleAttribute("attribute-key", "attribute-value"); UserUuidDto userUuidDto = new UserUuidDto(event.getType().name(), event.getUserId(), user.getEmail()); UserVerifiedTransaction userVerifiedTransaction = new UserVerifiedTransaction(userUuidDto); // enlistPrepare -> if our transaction fails than the user is NOT verified // enlist -> if our transaction fails than the user is still verified // enlistAfterCompletion -> if our transaction fails our user is still verified session.getTransactionManager().enlistPrepare(userVerifiedTransaction); } } log.info("-----------------------------------------------------------"); } @Override public void onEvent(AdminEvent adminEvent, boolean b) { log.info("## NEW ADMIN EVENT"); log.info("-----------------------------------------------------------"); log.info("Resource path" + ": " + adminEvent.getResourcePath()); log.info("Resource type" + ": " + adminEvent.getResourceType()); log.info("Operation type" + ": " + adminEvent.getOperationType()); if (ResourceType.USER.equals(adminEvent.getResourceType()) && OperationType.CREATE.equals(adminEvent.getOperationType())) { log.info("A new user has been created"); } log.info("-----------------------------------------------------------"); } @Override public void close() { // Nothing to close } } ================================================ FILE: spi-event-listener/src/main/java/com/zonaut/keycloak/extensions/events/logging/PlaceholderEventListenerProviderFactory.java ================================================ package com.zonaut.keycloak.extensions.events.logging; import org.keycloak.Config; import org.keycloak.events.EventListenerProviderFactory; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; public class PlaceholderEventListenerProviderFactory implements EventListenerProviderFactory { @Override public PlaceholderEventListenerProvider create(KeycloakSession keycloakSession) { return new PlaceholderEventListenerProvider(keycloakSession); } @Override public void init(Config.Scope scope) { // } @Override public void postInit(KeycloakSessionFactory keycloakSessionFactory) { // } @Override public void close() { // } @Override public String getId() { return "pl_event_listener"; } } ================================================ FILE: spi-event-listener/src/main/java/com/zonaut/keycloak/extensions/events/logging/UserUuidDto.java ================================================ package com.zonaut.keycloak.extensions.events.logging; public class UserUuidDto { private String type; private String uuid; private String email; public UserUuidDto(String type, String uuid, String email) { this.type = type; this.uuid = uuid; this.email = email; } public String getType() { return type; } public String getUuid() { return uuid; } public String getEmail() { return email; } @Override public String toString() { return "UserUuidDto{" + "type='" + type + '\'' + ", uuid='" + uuid + '\'' + ", email='" + email + '\'' + '}'; } } ================================================ FILE: spi-event-listener/src/main/java/com/zonaut/keycloak/extensions/events/logging/UserVerifiedTransaction.java ================================================ package com.zonaut.keycloak.extensions.events.logging; import static javax.ws.rs.core.HttpHeaders.CONTENT_TYPE; import com.fasterxml.jackson.databind.ObjectMapper; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpHeaders; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; import org.jboss.logging.Logger; import org.keycloak.models.AbstractKeycloakTransaction; import org.keycloak.utils.MediaType; public class UserVerifiedTransaction extends AbstractKeycloakTransaction { private static final Logger log = Logger.getLogger(UserVerifiedTransaction.class); private static final HttpClient HTTP_CLIENT = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_2) .connectTimeout(Duration.ofSeconds(3)) .build(); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private final UserUuidDto userUuidDto; public UserVerifiedTransaction(UserUuidDto userUuidDto) { this.userUuidDto = userUuidDto; } @Override protected void commitImpl() { log.info("## USER VERIFIED TRANSACTION"); log.info("-----------------------------------------------------------"); log.info(this.userUuidDto.toString()); log.info("-----------------------------------------------------------"); // You could make a http call here and send the object. // When we throw an exception here, the user would not be verified when using .enlistPrepare //throw new RuntimeException("External call failed!"); try { HttpRequest request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(OBJECT_MAPPER.writeValueAsString(this.userUuidDto))) .uri(URI.create("https://httpbin.org/post")) .header(CONTENT_TYPE, MediaType.APPLICATION_JSON) .build(); HttpResponse response = HTTP_CLIENT.send(request, HttpResponse.BodyHandlers.ofString()); log.info("#### STATUS CODE"); log.info(response.statusCode()); if (response.statusCode() != 200) { throw new RuntimeException("##### WRONG RESPONSE STATUS CODE !!! : " + response.statusCode()); } log.info("### USER VERIFIED TRANSACTION SUCCESS"); log.info("#### HEADERS"); HttpHeaders headers = response.headers(); headers.map().forEach((k, v) -> log.info("##### " + k + ":" + v)); log.info("#### RESPONSE BODY"); log.info(response.body()); } catch (Exception e) { throw new RuntimeException("##### USER VERIFIED TRANSACTION FAILED !", e); } } @Override protected void rollbackImpl() { // } } ================================================ FILE: spi-event-listener/src/main/resources/META-INF/jboss-deployment-structure.xml ================================================ ================================================ FILE: spi-event-listener/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory ================================================ com.zonaut.keycloak.extensions.events.logging.PlaceholderEventListenerProviderFactory ================================================ FILE: spi-mail-template-override/README.md ================================================ # SPI mail template override An example on how to change the default behaviour of the email templates and add extra variables to it. **INFO** Keycloak sends multipart MIME messages so an email always contains both text and html. ## Keycloak config Disable the default email template provider in `standalone-ha.xml` ```xml auth ... ... ``` Copy the jar in the target folder to the `/opt/jboss/keycloak/standalone/deployments/` folder. Or when using Docker mount the file `./jar-name.jar:/opt/jboss/keycloak/standalone/deployments/jar-name.jar` ## Keycloak admin console configuration Nothing is required as the provider will be picked up immediately when the default one is disabled. You can check if it's configured in the Keycloak admin console. User dropdown in right top corner -> server info -> providers [tab] -> search for `emailTemplate`, you should see the factory id `pl-freemarker` ## Example usage When using docker-compose Mailhog is started, you can check email send by Keycloak in there. Add a new variable `${testNewVariable}` in the `/email//email-test.ftl` template file. When send a test email from realm -> realm settings -> email [tab] you should receive the test email with the new variable filled in. ================================================ FILE: spi-mail-template-override/pom.xml ================================================ 4.0.0 com.zonaut.keycloak spi-mail-template-override 0.0.1-SNAPSHOT jar KEYCLOAK EXTENSIONS :: SPI mail template override Example of overriding the default mail templates UTF-8 UTF-8 11 11 11.0.3 2.3.29 3.8.1 2.0.2.Final org.keycloak keycloak-server-spi ${keycloak.version} provided org.keycloak keycloak-server-spi-private ${keycloak.version} provided org.keycloak keycloak-services ${keycloak.version} provided org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} org.wildfly.plugins wildfly-maven-plugin ${maven-wildfly-plugin.version} false ================================================ FILE: spi-mail-template-override/src/main/java/com/zonaut/keycloak/extensions/mail/PlaceholderFreeMarkerEmailTemplateProvider.java ================================================ package com.zonaut.keycloak.extensions.mail; import org.keycloak.broker.provider.BrokeredIdentityContext; import org.keycloak.common.util.ObjectUtil; import org.keycloak.email.EmailException; import org.keycloak.email.EmailSenderProvider; import org.keycloak.email.EmailTemplateProvider; import org.keycloak.email.freemarker.beans.EventBean; import org.keycloak.email.freemarker.beans.ProfileBean; import org.keycloak.events.Event; import org.keycloak.events.EventType; import org.keycloak.forms.login.freemarker.model.UrlBean; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakUriInfo; import org.keycloak.models.RealmModel; import org.keycloak.models.UserModel; import org.keycloak.sessions.AuthenticationSessionModel; import org.keycloak.theme.FreeMarkerException; import org.keycloak.theme.FreeMarkerUtil; import org.keycloak.theme.Theme; import org.keycloak.theme.beans.LinkExpirationFormatterMethod; import org.keycloak.theme.beans.MessageFormatterMethod; import java.io.IOException; import java.net.URI; import java.text.MessageFormat; import java.util.*; /** * Based on org.keycloak.email.freemarker.FreeMarkerEmailTemplateProvider */ public class PlaceholderFreeMarkerEmailTemplateProvider implements EmailTemplateProvider { protected KeycloakSession session; /** * authenticationSession can be null for some email sendings, it is filled only for email sendings performed as part of the authentication session (email verification, password reset, broker link * etc.)! */ protected AuthenticationSessionModel authenticationSession; protected FreeMarkerUtil freeMarker; protected RealmModel realm; protected UserModel user; protected final Map attributes = new HashMap<>(); public PlaceholderFreeMarkerEmailTemplateProvider(KeycloakSession session, FreeMarkerUtil freeMarker) { this.session = session; this.freeMarker = freeMarker; } @Override public EmailTemplateProvider setRealm(RealmModel realm) { this.realm = realm; return this; } @Override public EmailTemplateProvider setUser(UserModel user) { this.user = user; return this; } @Override public EmailTemplateProvider setAttribute(String name, Object value) { attributes.put(name, value); return this; } @Override public EmailTemplateProvider setAuthenticationSession(AuthenticationSessionModel authenticationSession) { this.authenticationSession = authenticationSession; return this; } protected String getRealmName() { if (realm.getDisplayName() != null) { return realm.getDisplayName(); } else { return ObjectUtil.capitalize(realm.getName()); } } @Override public void sendEvent(Event event) throws EmailException { Map attributes = new HashMap<>(); attributes.put("user", new ProfileBean(user)); attributes.put("event", new EventBean(event)); send(toCamelCase(event.getType()) + "Subject", "event-" + event.getType().toString().toLowerCase() + ".ftl", attributes); } @Override public void sendPasswordReset(String link, long expirationInMinutes) throws EmailException { Map attributes = new HashMap<>(this.attributes); attributes.put("user", new ProfileBean(user)); addLinkInfoIntoAttributes(link, expirationInMinutes, attributes); attributes.put("realmName", getRealmName()); send("passwordResetSubject", "password-reset.ftl", attributes); } @Override public void sendSmtpTestEmail(Map config, UserModel user) throws EmailException { setRealm(session.getContext().getRealm()); setUser(user); Map attributes = new HashMap<>(this.attributes); attributes.put("user", new ProfileBean(user)); attributes.put("realmName", realm.getName()); // Example of new variable attributes.put("testNewVariable", "Say hello to my little friend"); PlaceholderFreeMarkerEmailTemplateProvider.EmailTemplate email = processTemplate("emailTestSubject", Collections.emptyList(), "email-test.ftl", attributes); send(config, email.getSubject(), email.getTextBody(), email.getHtmlBody()); } @Override public void sendConfirmIdentityBrokerLink(String link, long expirationInMinutes) throws EmailException { Map attributes = new HashMap<>(this.attributes); attributes.put("user", new ProfileBean(user)); addLinkInfoIntoAttributes(link, expirationInMinutes, attributes); attributes.put("realmName", getRealmName()); BrokeredIdentityContext brokerContext = (BrokeredIdentityContext) this.attributes.get(IDENTITY_PROVIDER_BROKER_CONTEXT); String idpAlias = brokerContext.getIdpConfig().getAlias(); idpAlias = ObjectUtil.capitalize(idpAlias); attributes.put("identityProviderContext", brokerContext); attributes.put("identityProviderAlias", idpAlias); List subjectAttrs = Arrays.asList(idpAlias); send("identityProviderLinkSubject", subjectAttrs, "identity-provider-link.ftl", attributes); } @Override public void sendExecuteActions(String link, long expirationInMinutes) throws EmailException { Map attributes = new HashMap<>(this.attributes); attributes.put("user", new ProfileBean(user)); addLinkInfoIntoAttributes(link, expirationInMinutes, attributes); attributes.put("realmName", getRealmName()); send("executeActionsSubject", "executeActions.ftl", attributes); } @Override public void sendVerifyEmail(String link, long expirationInMinutes) throws EmailException { Map attributes = new HashMap<>(this.attributes); attributes.put("user", new ProfileBean(user)); addLinkInfoIntoAttributes(link, expirationInMinutes, attributes); attributes.put("realmName", getRealmName()); send("emailVerificationSubject", "email-verification.ftl", attributes); } /** * Add link info into template attributes. * * @param link to add * @param expirationInMinutes to add * @param attributes to add link info into */ protected void addLinkInfoIntoAttributes(String link, long expirationInMinutes, Map attributes) throws EmailException { attributes.put("link", link); attributes.put("linkExpiration", expirationInMinutes); KeycloakUriInfo uriInfo = session.getContext().getUri(); URI baseUri = uriInfo.getBaseUri(); try { Locale locale = session.getContext().resolveLocale(user); attributes.put("linkExpirationFormatter", new LinkExpirationFormatterMethod(getTheme().getMessages(locale), locale)); attributes.put("url", new UrlBean(realm, getTheme(), baseUri, null)); } catch (IOException e) { throw new EmailException("Failed to template email", e); } } @Override public void send(String subjectFormatKey, String bodyTemplate, Map bodyAttributes) throws EmailException { send(subjectFormatKey, Collections.emptyList(), bodyTemplate, bodyAttributes); } protected PlaceholderFreeMarkerEmailTemplateProvider.EmailTemplate processTemplate(String subjectKey, List subjectAttributes, String template, Map attributes) throws EmailException { try { Theme theme = getTheme(); Locale locale = session.getContext().resolveLocale(user); attributes.put("locale", locale); Properties rb = theme.getMessages(locale); attributes.put("msg", new MessageFormatterMethod(locale, rb)); attributes.put("properties", theme.getProperties()); String subject = new MessageFormat(rb.getProperty(subjectKey, subjectKey), locale).format(subjectAttributes.toArray()); String textTemplate = String.format("text/%s", template); String textBody; try { textBody = freeMarker.processTemplate(attributes, textTemplate, theme); } catch (final FreeMarkerException e) { throw new EmailException("Failed to template plain text email.", e); } String htmlTemplate = String.format("html/%s", template); String htmlBody; try { htmlBody = freeMarker.processTemplate(attributes, htmlTemplate, theme); } catch (final FreeMarkerException e) { throw new EmailException("Failed to template html email.", e); } return new PlaceholderFreeMarkerEmailTemplateProvider.EmailTemplate(subject, textBody, htmlBody); } catch (Exception e) { throw new EmailException("Failed to template email", e); } } protected Theme getTheme() throws IOException { return session.theme().getTheme(Theme.Type.EMAIL); } @Override public void send(String subjectFormatKey, List subjectAttributes, String bodyTemplate, Map bodyAttributes) throws EmailException { try { PlaceholderFreeMarkerEmailTemplateProvider.EmailTemplate email = processTemplate(subjectFormatKey, subjectAttributes, bodyTemplate, bodyAttributes); send(email.getSubject(), email.getTextBody(), email.getHtmlBody()); } catch (EmailException e) { throw e; } catch (Exception e) { throw new EmailException("Failed to template email", e); } } protected void send(String subject, String textBody, String htmlBody) throws EmailException { send(realm.getSmtpConfig(), subject, textBody, htmlBody); } protected void send(Map config, String subject, String textBody, String htmlBody) throws EmailException { EmailSenderProvider emailSender = session.getProvider(EmailSenderProvider.class); emailSender.send(config, user, subject, textBody, htmlBody); } @Override public void close() { } protected String toCamelCase(EventType event) { StringBuilder sb = new StringBuilder("event"); for (String s : event.name().toLowerCase().split("_")) { sb.append(ObjectUtil.capitalize(s)); } return sb.toString(); } protected class EmailTemplate { private String subject; private String textBody; private String htmlBody; public EmailTemplate(String subject, String textBody, String htmlBody) { this.subject = subject; this.textBody = textBody; this.htmlBody = htmlBody; } public String getSubject() { return subject; } public String getTextBody() { return textBody; } public String getHtmlBody() { return htmlBody; } } } ================================================ FILE: spi-mail-template-override/src/main/java/com/zonaut/keycloak/extensions/mail/PlaceholderFreeMarkerEmailTemplateProviderFactory.java ================================================ package com.zonaut.keycloak.extensions.mail; import org.keycloak.Config; import org.keycloak.email.EmailTemplateProvider; import org.keycloak.email.EmailTemplateProviderFactory; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; import org.keycloak.theme.FreeMarkerUtil; public class PlaceholderFreeMarkerEmailTemplateProviderFactory implements EmailTemplateProviderFactory { private FreeMarkerUtil freeMarker; @Override public EmailTemplateProvider create(KeycloakSession session) { return new PlaceholderFreeMarkerEmailTemplateProvider(session, freeMarker); } @Override public void init(Config.Scope config) { freeMarker = new FreeMarkerUtil(); } @Override public void postInit(KeycloakSessionFactory factory) { } @Override public void close() { freeMarker = null; } @Override public String getId() { return "pl-freemarker"; } } ================================================ FILE: spi-mail-template-override/src/main/resources/META-INF/jboss-deployment-structure.xml ================================================ ================================================ FILE: spi-mail-template-override/src/main/resources/META-INF/services/org.keycloak.email.EmailTemplateProviderFactory ================================================ com.zonaut.keycloak.extensions.mail.PlaceholderFreeMarkerEmailTemplateProviderFactory ================================================ FILE: spi-registration-profile/README.md ================================================ # SPI registration profile An example of a custom registration profile action which does not validate first and last name. ## Keycloak config Copy the jar in the target folder to the `/opt/jboss/keycloak/standalone/deployments/` folder. Or when using Docker mount the file `./jar-name.jar:/opt/jboss/keycloak/standalone/deployments/jar-name.jar` ## Keycloak admin console configuration * Open Keycloak administration and select your realm * Open up Authentication -> Flows [tab] * Select registration flow and click copy, give it a name and press Ok * Click the Actions dropdown menu to the far right of `Copy Of Registration Registration Form` and select 'Add execution' ![spi-registration-profile-actions](../_resources/images/spi-registration-profile-actions.png) * Select our custom profile validation from the the list of providers and press save * Move our custom profile validation step under the default `Profile validation` step with the up and down buttons * Set the the default `Profile validation` to DISABLED and our custom one to REQUIRED * Click the Bindings tab and select our custom registration flow from the Registration flow dropdown and click save ## Theme * Remove or set a style of display:none on the first and lastname div elements in `/login/register.ftl` ================================================ FILE: spi-registration-profile/pom.xml ================================================ 4.0.0 com.zonaut.keycloak spi-registration-profile 0.0.1-SNAPSHOT jar KEYCLOAK EXTENSIONS :: SPI registration profile Example of a custom registration profile UTF-8 UTF-8 11 11 11.0.3 3.8.1 2.0.2.Final org.keycloak keycloak-server-spi ${keycloak.version} provided org.keycloak keycloak-server-spi-private ${keycloak.version} provided org.keycloak keycloak-services ${keycloak.version} provided org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} org.wildfly.plugins wildfly-maven-plugin ${maven-wildfly-plugin.version} false ================================================ FILE: spi-registration-profile/src/main/java/com/zonaut/keycloak/extensions/actions/forms/PlaceholderRegistrationProfile.java ================================================ package com.zonaut.keycloak.extensions.actions.forms; import org.keycloak.Config; import org.keycloak.authentication.FormAction; import org.keycloak.authentication.FormActionFactory; import org.keycloak.authentication.FormContext; import org.keycloak.authentication.ValidationContext; import org.keycloak.authentication.forms.RegistrationPage; import org.keycloak.events.Details; import org.keycloak.events.Errors; import org.keycloak.forms.login.LoginFormsProvider; import org.keycloak.models.*; import org.keycloak.models.utils.FormMessage; import org.keycloak.provider.ProviderConfigProperty; import org.keycloak.services.messages.Messages; import org.keycloak.services.validation.Validation; import javax.ws.rs.core.MultivaluedMap; import java.util.ArrayList; import java.util.List; /** * Based on org.keycloak.authentication.forms.RegistrationProfile */ public class PlaceholderRegistrationProfile implements FormAction, FormActionFactory { public static final String PROVIDER_ID = "pl-spi-registration-profile"; // MAX 36 chars !!!! @Override public String getHelpText() { return "Validates email and stores it in user data."; } @Override public List getConfigProperties() { return null; } @Override public void validate(ValidationContext context) { MultivaluedMap formData = context.getHttpRequest().getDecodedFormParameters(); List errors = new ArrayList<>(); context.getEvent().detail(Details.REGISTER_METHOD, "form"); String eventError = Errors.INVALID_REGISTRATION; // if (Validation.isBlank(formData.getFirst((RegistrationPage.FIELD_FIRST_NAME)))) { // errors.add(new FormMessage(RegistrationPage.FIELD_FIRST_NAME, Messages.MISSING_FIRST_NAME)); // } // // if (Validation.isBlank(formData.getFirst((RegistrationPage.FIELD_LAST_NAME)))) { // errors.add(new FormMessage(RegistrationPage.FIELD_LAST_NAME, Messages.MISSING_LAST_NAME)); // } String email = formData.getFirst(Validation.FIELD_EMAIL); boolean emailValid = true; if (Validation.isBlank(email)) { errors.add(new FormMessage(RegistrationPage.FIELD_EMAIL, Messages.MISSING_EMAIL)); emailValid = false; } else if (!Validation.isEmailValid(email)) { context.getEvent().detail(Details.EMAIL, email); errors.add(new FormMessage(RegistrationPage.FIELD_EMAIL, Messages.INVALID_EMAIL)); emailValid = false; } if (emailValid && !context.getRealm().isDuplicateEmailsAllowed() && context.getSession().users().getUserByEmail(email, context.getRealm()) != null) { eventError = Errors.EMAIL_IN_USE; formData.remove(Validation.FIELD_EMAIL); context.getEvent().detail(Details.EMAIL, email); errors.add(new FormMessage(RegistrationPage.FIELD_EMAIL, Messages.EMAIL_EXISTS)); } if (errors.size() > 0) { context.error(eventError); context.validationError(formData, errors); return; } else { context.success(); } } @Override public void success(FormContext context) { UserModel user = context.getUser(); MultivaluedMap formData = context.getHttpRequest().getDecodedFormParameters(); user.setFirstName(formData.getFirst(RegistrationPage.FIELD_FIRST_NAME)); user.setLastName(formData.getFirst(RegistrationPage.FIELD_LAST_NAME)); user.setEmail(formData.getFirst(RegistrationPage.FIELD_EMAIL)); } @Override public void buildPage(FormContext context, LoginFormsProvider form) { // complete } @Override public boolean requiresUser() { return false; } @Override public boolean configuredFor(KeycloakSession session, RealmModel realm, UserModel user) { return true; } @Override public void setRequiredActions(KeycloakSession session, RealmModel realm, UserModel user) { } @Override public boolean isUserSetupAllowed() { return false; } @Override public void close() { } @Override public String getDisplayType() { return "Placeholder Profile Validation"; } @Override public String getReferenceCategory() { return null; } @Override public boolean isConfigurable() { return false; } private static AuthenticationExecutionModel.Requirement[] REQUIREMENT_CHOICES = { AuthenticationExecutionModel.Requirement.REQUIRED, AuthenticationExecutionModel.Requirement.DISABLED }; @Override public AuthenticationExecutionModel.Requirement[] getRequirementChoices() { return REQUIREMENT_CHOICES; } @Override public FormAction create(KeycloakSession session) { return this; } @Override public void init(Config.Scope config) { } @Override public void postInit(KeycloakSessionFactory factory) { } @Override public String getId() { return PROVIDER_ID; } } ================================================ FILE: spi-registration-profile/src/main/resources/META-INF/jboss-deployment-structure.xml ================================================ ================================================ FILE: spi-registration-profile/src/main/resources/META-INF/services/org.keycloak.authentication.FormActionFactory ================================================ com.zonaut.keycloak.extensions.actions.forms.PlaceholderRegistrationProfile ================================================ FILE: spi-resource/README.md ================================================ # SPI resource An example of a custom REST resource. this example will add a new base endpoint `auth/realms//custom` ## Keycloak config Copy the jar in the target folder to the `/opt/jboss/keycloak/standalone/deployments/` folder. Or when using Docker mount the file `./jar-name.jar:/opt/jboss/keycloak/standalone/deployments/jar-name.jar` ## Test Run one of the scripts in the root of this module to test the our example endpoint. // call auth/realms//custom/users/ with an anonymous user ./test-anonymous-user.sh // call auth/realms//custom/users/ with an authenticated user // you can switch variables in the script to test different use cases ./test-authenticated-user.sh ================================================ FILE: spi-resource/pom.xml ================================================ 4.0.0 com.zonaut.keycloak spi-resource 0.0.1-SNAPSHOT jar KEYCLOAK EXTENSIONS :: SPI resource Example of a custom resource UTF-8 UTF-8 11 11 11.0.3 3.8.1 2.0.2.Final org.keycloak keycloak-server-spi ${keycloak.version} provided org.keycloak keycloak-server-spi-private ${keycloak.version} provided org.keycloak keycloak-services ${keycloak.version} provided org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} org.wildfly.plugins wildfly-maven-plugin ${maven-wildfly-plugin.version} false ================================================ FILE: spi-resource/src/main/java/com/zonaut/keycloak/extensions/resource/AuthCheck.java ================================================ package com.zonaut.keycloak.extensions.resource; import org.jboss.logging.Logger; import org.keycloak.models.ClientModel; import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; import org.keycloak.models.RoleModel; import org.keycloak.services.managers.AppAuthManager; import org.keycloak.services.managers.AuthenticationManager; import org.keycloak.services.managers.RealmManager; import org.keycloak.sessions.AuthenticationSessionModel; import javax.ws.rs.ForbiddenException; import javax.ws.rs.NotAuthorizedException; import java.util.stream.Collectors; public class AuthCheck { private static final Logger log = Logger.getLogger(AuthCheck.class); public static void whoAmI(KeycloakSession session) { final AuthenticationManager.AuthResult authResult = new AppAuthManager().authenticateBearerToken(session); if (authResult == null) { log.infof("Anonymous user entering realm %s", session.getContext().getRealm().getName()); } else { ClientModel client = session.getContext().getRealm().getClientByClientId(authResult.getToken().getIssuedFor()); log.infof("%s, realm: %s, client: %s", authResult.getUser().getUsername(), session.getContext().getRealm().getName(), client.getClientId()); log.infof("Realm roles: %s", authResult.getUser().getRealmRoleMappings().stream().map(RoleModel::getName).collect(Collectors.toSet())); } } public static void hasRole(KeycloakSession session, String role) { final AuthenticationManager.AuthResult authResult = new AppAuthManager().authenticateBearerToken(session); isAuthenticated(authResult); if (authResult.getToken().getRealmAccess() == null || !authResult.getToken().getRealmAccess().isUserInRole(role)) { throw new ForbiddenException("You do not have the required credentials for this action"); } } public static void isClient(KeycloakSession session, String clientName) { final AuthenticationManager.AuthResult authResult = new AppAuthManager().authenticateBearerToken(session); isAuthenticated(authResult); ClientModel client = session.getContext().getRealm().getClientByClientId(authResult.getToken().getIssuedFor()); if (!client.getClientId().equals(clientName)) { throw new ForbiddenException("You do not have the required credentials for this action"); } } public static void isAuthenticated(KeycloakSession session) { final AuthenticationManager.AuthResult authResult = new AppAuthManager().authenticateBearerToken(session); isAuthenticated(authResult); } public static void isAuthenticated(AuthenticationManager.AuthResult authResult) { if (authResult == null) { throw new NotAuthorizedException("Bearer token required"); } } } ================================================ FILE: spi-resource/src/main/java/com/zonaut/keycloak/extensions/resource/AuthCheckType.java ================================================ package com.zonaut.keycloak.extensions.resource; public enum AuthCheckType { ANONYMOUS, AUTHENTICATED, AUTHENTICATED_WITH_ROLE, AUTHENTICATED_WITH_CLIENT, } ================================================ FILE: spi-resource/src/main/java/com/zonaut/keycloak/extensions/resource/CustomResourceProvider.java ================================================ package com.zonaut.keycloak.extensions.resource; import org.jboss.logging.Logger; import org.keycloak.models.KeycloakSession; import org.keycloak.models.UserModel; import org.keycloak.models.utils.ModelToRepresentation; import org.keycloak.representations.idm.UserRepresentation; import org.keycloak.services.resource.RealmResourceProvider; import javax.ws.rs.BadRequestException; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.util.ArrayList; import java.util.List; public class CustomResourceProvider implements RealmResourceProvider { private static final Logger log = Logger.getLogger(CustomResourceProvider.class); private final KeycloakSession session; public CustomResourceProvider(KeycloakSession session) { this.session = session; } @GET @Path("users/{name}") @Produces({MediaType.APPLICATION_JSON}) public Response getUsersByName( @QueryParam("auth_check_type") AuthCheckType authCheckType, @PathParam("name") String name) { AuthCheck.whoAmI(session); // An example of different ways to check authorization for a user/client log.infof("Checking authorization for %s", authCheckType); switch (authCheckType) { case ANONYMOUS: // Nothing to do :p break; case AUTHENTICATED: AuthCheck.isAuthenticated(session); break; case AUTHENTICATED_WITH_ROLE: AuthCheck.hasRole(session, "product_view"); break; case AUTHENTICATED_WITH_CLIENT: AuthCheck.isClient(session, "client-two"); break; default: throw new BadRequestException("Auth type is unknown"); } // // Get users based on an attribute // final List users = session // .userStorageManager() // .searchForUserByUserAttribute("some-attribute", name, session.getContext().getRealm()); final List users = session .userStorageManager() .searchForUser(name, session.getContext().getRealm()); // Transform our model to representations that can be serialized. List representations = new ArrayList<>(users.size()); for (UserModel user : users) { representations.add(ModelToRepresentation.toRepresentation(session, session.getContext().getRealm(), user)); } return Response.status(Response.Status.OK).entity(representations).build(); } @Override public Object getResource() { return this; } @Override public void close() { } } ================================================ FILE: spi-resource/src/main/java/com/zonaut/keycloak/extensions/resource/CustomResourceProviderFactory.java ================================================ package com.zonaut.keycloak.extensions.resource; import org.keycloak.Config; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; import org.keycloak.services.resource.RealmResourceProvider; import org.keycloak.services.resource.RealmResourceProviderFactory; public class CustomResourceProviderFactory implements RealmResourceProviderFactory { // This will result in a new sub path under an existing realm // eg. http://localhost:8088/auth/realms/realm-name/custom public static final String ID = "custom"; @Override public RealmResourceProvider create(KeycloakSession keycloakSession) { return new CustomResourceProvider(keycloakSession); } @Override public void init(Config.Scope scope) { } @Override public void postInit(KeycloakSessionFactory keycloakSessionFactory) { } @Override public void close() { } @Override public String getId() { return ID; } } ================================================ FILE: spi-resource/src/main/resources/META-INF/jboss-deployment-structure.xml ================================================ ================================================ FILE: spi-resource/src/main/resources/META-INF/services/org.keycloak.services.resource.RealmResourceProviderFactory ================================================ com.zonaut.keycloak.extensions.resource.CustomResourceProviderFactory ================================================ FILE: spi-resource/test-anonymous-user.sh ================================================ #!/usr/bin/env bash # ==================================================================================================================== # Vars # ==================================================================================================================== PORT=8088; REALM=placeholder; # ==================================================================================================================== # Get a specific user from our custom resource # ==================================================================================================================== USER="james" #USER="jennifer" #USER="john" #USER="mary" #USER="patricia" #USER="robert" curl "http://localhost:$PORT/auth/realms/$REALM/custom/users/$USER?auth_check_type=ANONYMOUS" | python -m json.tool; ================================================ FILE: spi-resource/test-authenticated-user.sh ================================================ #!/usr/bin/env bash # ==================================================================================================================== # Vars # ==================================================================================================================== PORT=8088; REALM=placeholder; #USERNAME="james@placeholder.com"; #USERNAME="jennifer@placeholder.com"; #USERNAME="john@placeholder.com"; #USERNAME="mary@placeholder.com"; #USERNAME="patricia@placeholder.com"; USERNAME="robert@placeholder.com"; PASSWORD="password"; #CLIENT="client-one" CLIENT="client-two" AUTH_CHECK_TYPE="AUTHENTICATED" # We only need a valid user here #AUTH_CHECK_TYPE="AUTHENTICATED_WITH_ROLE" # Only robert has the required role for this #AUTH_CHECK_TYPE="AUTHENTICATED_WITH_CLIENT" # Only client-two is allowed # ==================================================================================================================== # Get user token # ==================================================================================================================== ACCESS_TOKEN=$(curl \ -d "client_id=$CLIENT" \ -d "username=$USERNAME" \ -d "password=$PASSWORD" \ -d "grant_type=password" \ -X POST "http://localhost:$PORT/auth/realms/$REALM/protocol/openid-connect/token" | jq -r .access_token); echo "$ACCESS_TOKEN"; # ==================================================================================================================== # Get a specific user from our custom resource # ==================================================================================================================== USER="james" #USER="jennifer" #USER="john" #USER="mary" #USER="patricia" #USER="robert" curl "http://localhost:$PORT/auth/realms/$REALM/custom/users/$USER?auth_check_type=$AUTH_CHECK_TYPE" \ --header "Accept: application/json" \ --header "Authorization: Bearer $ACCESS_TOKEN" | python -m json.tool; ================================================ FILE: theme-minimal/README.md ================================================ # Theme minimal An example of a custom theme with only minimal changes. More info on https://www.keycloak.org/docs/latest/server_development/#_themes Changes in this theme * The h1 tag in the `theme-minimal/welcome/index.ftl` file has been changed, a variable `testExternalVar` defined in `theme.properties` has been added to it. * You can check this on `http://localhost:8088/auth/` * The default email templates are copied from the Keycloak theme base dir into this theme * An extra variable `testNewVariable` has been added to `theme-minimal/email//email-test.ftl` * Delete this variable if you don't use the `spi-mail-template-override` otherwise it will fail * The parent has been removed from the `theme-minimal/email/theme.properties` file and locales have been added * the default login folder has been copied from the Keycloak theme base dir into this theme * The parent has been removed from the `theme-minimal/login/theme.properties` file * an example on how to access an environment variable in the theme template files * a testExternalVar is declared in the theme.properties file to use the assigned environment variable set in the docker-compose file * the `theme-minimal/welcome/index.ftl` file uses it as an example ## Keycloak config Copy the jar in the target folder to the `/opt/jboss/keycloak/standalone/deployments/` folder. Or when using Docker mount the file `./jar-name.jar:/opt/jboss/keycloak/standalone/deployments/jar-name.jar` ## Keycloak admin console configuration The theme can be changed in realm -> realm settings -> themes [tab] or can be passed through environment variables, take a look at the docker-compose file. ## Live edit the theme Add or change the following in your `standalone-ha.xml` to disable caching ```xml ... -1 false false ${env.KEYCLOAK_WELCOME_THEME:keycloak} ${env.KEYCLOAK_DEFAULT_THEME:keycloak} ${jboss.home.dir}/themes ... ``` Uncomment the following line in the docker-compose file - ./theme-minimal/src/main/resources/theme/theme-minimal:/opt/jboss/keycloak/themes/theme-minimal Comment the following line in the docker-compose file - ./theme-minimal/target/theme-minimal-0.0.1-SNAPSHOT.jar:/opt/jboss/keycloak/standalone/deployments/theme-minimal-0.0.1-SNAPSHOT.jar Run docker-compose from the root dir of this repo You can now make changes to the theme and when you refresh the page the changes should be immediately visible. ================================================ FILE: theme-minimal/pom.xml ================================================ 4.0.0 com.zonaut.keycloak theme-minimal 0.0.1-SNAPSHOT jar KEYCLOAK EXTENSIONS :: THEME minimal Example of a custom theme small modifications UTF-8 UTF-8 11 11 3.8.1 org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} ================================================ FILE: theme-minimal/src/main/resources/META-INF/keycloak-themes.json ================================================ { "themes":[ { "name":"theme-minimal", "types":[ "account", "admin", "email", "login", "welcome" ] } ] } ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/account/resources/css/account.css ================================================ html { height: 100%; } body { background-color: #F9F9F9; margin: 0; padding: 0; height: 100%; } header .navbar { margin-bottom: 0; min-height: inherit; } .header .container { position: relative; } .navbar-title { background-image: url('../img/logo.png'); height: 25px; background-repeat: no-repeat; width: 123px; margin: 3px 10px 5px; text-indent: -99999px; } .navbar-pf .navbar-utility { right: 20px; top: -34px; font-size: 12px; } .navbar-pf .navbar-utility > li > a { color: #fff !important; padding-bottom: 12px; padding-top: 11px; border-left: medium none; } .container { height: 100%; } .content-area { background-color: #fff; border-color: #CECECE; border-style: solid; border-width: 0 1px; height: 100%; padding: 0 30px; } .margin-bottom { margin-bottom: 10px; } /* Sidebar */ .bs-sidebar { background-color: #f9f9f9; padding-top: 44px; padding-right: 0; padding-left: 0; z-index: 20; } .bs-sidebar ul { list-style: none; padding-left: 12px; } .bs-sidebar ul li { margin-bottom: 0.5em; margin-left: -1em; } .bs-sidebar ul li a { font-size: 14px; padding-left: 25px; color: #4d5258; line-height: 28px; display: block; border-width: 1px 0 1px 1px; border-style: solid; border-color: #f9f9f9; } .bs-sidebar ul li a:hover, .bs-sidebar ul li a:focus { text-decoration: none; color: #777777; border-right: 2px solid #aaa; } .bs-sidebar ul li.active a { background-color: #c7e5f0; border-color: #56bae0; font-weight: bold; background-image: url(../img/icon-sidebar-active.png); background-repeat: no-repeat; background-position: right center; } .bs-sidebar ul li.active a:hover { border-right: none; } .content-area h2 { font-family: "Open Sans", sans-serif; font-weight: 100; font-size: 24px; margin-bottom: 25px; margin-top: 25px; } .subtitle { text-align: right; margin-top: 30px; color: #909090; } .required { color: #CB2915; } .alert { margin-top: 30px; margin-bottom: 0; } .feedback-aligner .alert { background-position: 1.27273em center; background-repeat: no-repeat; border-radius: 2px; border-width: 1px; color: #4D5258; display: inline-block; font-size: 1.1em; line-height: 1.4em; margin: 0; padding: 0.909091em 3.63636em; position: relative; text-align: left; } .alert.alert-success { background-color: #E4F1E1; border-color: #4B9E39; } .alert.alert-error { background-color: #F8E7E7; border-color: #B91415; } .alert.alert-warning { background-color: #FEF1E9; border-color: #F17528; } .alert.alert-info { background-color: #E4F3FA; border-color: #5994B2; } .form-horizontal { border-top: 1px solid #E9E8E8; padding-top: 23px; } .form-horizontal .control-label { color: #909090; line-height: 1.4em; padding-top: 5px; position: relative; text-align: right; width: 100%; } .form-group { position: relative; } .control-label + .required { position: absolute; right: -2px; top: 0; } #kc-form-buttons { text-align: right; margin-top: 10px; } #kc-form-buttons .btn-primary { float: right; margin-left: 8px; } /* Authenticator page */ ol { padding-left: 40px; } ol li { font-size: 13px; margin-bottom: 10px; position: relative; } ol li img { margin-top: 15px; margin-bottom: 5px; border: 1px solid #eee; } hr + .form-horizontal { border: none; padding-top: 0; } .kc-dropdown{ position: relative; } .kc-dropdown > a{ display:block; padding: 11px 10px 12px; line-height: 12px; font-size: 12px; color: #fff !important; text-decoration: none; } .kc-dropdown > a::after{ content: "\2c5"; margin-left: 4px; } .kc-dropdown:hover > a{ background-color: rgba(0,0,0,0.2); } .kc-dropdown ul li a{ padding: 1px 11px; font-size: 12px; color: #000 !important; border: 1px solid #fff; text-decoration: none; display:block; line-height: 20px; } .kc-dropdown ul li a:hover{ color: #4d5258; background-color: #d4edfa; border-color: #b3d3e7; } .kc-dropdown ul{ position: absolute; z-index: 2000; list-style:none; display:none; padding: 5px 0px; margin: 0px; background-color: #fff !important; border: 1px solid #b6b6b6; border-radius: 1px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; min-width: 100px; } .kc-dropdown:hover ul{ display:block; } #kc-totp-secret-key { border: 1px solid #eee; font-size: 16px; padding: 10px; margin: 50px 0; } ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/account/theme.properties ================================================ parent=base styles=css/account.css stylesCommon=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css ##### css classes for form buttons # main class used for all buttons kcButtonClass=btn # classes defining priority of the button - primary or default (there is typically only one priority button for the form) kcButtonPrimaryClass=btn-primary kcButtonDefaultClass=btn-default # classes defining size of the button kcButtonLargeClass=btn-lg ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/admin/resources/css/styles.css ================================================ 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; } /*********** html select ********/ .overflow-select { overflow: auto; } /*********** 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 .dropdown-toggle { padding: 23px !important; } .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; } /* Deactivation styles for user-group membership tree models */ div[tree-model] li .deactivate { color: #4a5053; opacity: 0.4; } div[tree-model] li .deactivate_selected { background-color: #dcdcdc; font-weight: bold; padding: 1px 5px; } /* search highlighting */ div[tree-model] li .highlight { background-color: #aaddff; } /* Manage credentials */ table.credentials-table { margin-top: 0; margin-bottom: 20px; } table.credentials-table td { vertical-align: middle !important; } table.credentials-table input[type='text'] { width: 100%; } td.credential-arrows-cell { width: 75px; } td.credential-label-cell { padding: 5px !important; } td.credential-action-cell { padding: 0px !important; } td.credential-action-cell div.kc-action-cell { width: 100%; height: 36px; line-height: 34px; } td.credential-action-cell.expanded div.kc-action-cell { border-bottom: 1px solid #d1d1d1; } table.credential-data-table td { word-break: break-all; } table.credential-data-table tr:first-child td { border-top: 0; } table.credential-data-table td:first-child { width: 150px; } table.credential-data-table td.key { text-align: right; font-weight: bold; } ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/admin/theme.properties ================================================ parent=base styles=css/styles.css stylesCommon=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css node_modules/select2/select2.css lib/angular/treeview/css/angular.treeview.css node_modules/text-security/text-security.css ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/email-test.ftl ================================================ ${kcSanitize(msg("emailTestBodyHtml",realmName))?no_esc}

${testNewVariable}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/email-verification-with-code.ftl ================================================ ${kcSanitize(msg("emailVerificationBodyCodeHtml",code))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/email-verification.ftl ================================================ ${kcSanitize(msg("emailVerificationBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/event-login_error.ftl ================================================ ${kcSanitize(msg("eventLoginErrorBodyHtml",event.date,event.ipAddress))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/event-remove_totp.ftl ================================================ ${kcSanitize(msg("eventRemoveTotpBodyHtml",event.date, event.ipAddress))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/event-update_password.ftl ================================================ ${kcSanitize(msg("eventUpdatePasswordBodyHtml",event.date, event.ipAddress))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/event-update_totp.ftl ================================================ ${kcSanitize(msg("eventUpdateTotpBodyHtml",event.date, event.ipAddress))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/executeActions.ftl ================================================ <#outputformat "plainText"> <#assign requiredActionsText><#if requiredActions??><#list requiredActions><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, ${kcSanitize(msg("executeActionsBodyHtml",link, linkExpiration, realmName, requiredActionsText, linkExpirationFormatter(linkExpiration)))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/identity-provider-link.ftl ================================================ ${kcSanitize(msg("identityProviderLinkBodyHtml", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration)))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/html/password-reset.ftl ================================================ ${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_ca.properties ================================================ emailVerificationSubject=Verificaci\u00F3 d''email emailVerificationBody=Alg\u00FA ha creat un compte de {2} amb aquesta adre\u00E7a de correu electr\u00F2nic. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per verificar la teva adre\u00E7a de correu electr\u00F2nic.\n\n{0}\n\nAquest enlla\u00E7 expirar\u00E0 en {1} minuts.\n\nSi tu no has creat aquest compte, simplement ignora aquest missatge. emailVerificationBodyHtml=

Alg\u00FA ha creat un compte de {2} amb aquesta adre\u00E7a de correu electr\u00F2nic. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per verificar la teva adre\u00E7a de correu electr\u00F2nic.

{0}

Aquest enlla\u00E7 expirar\u00E0 en {1} minuts.

Si tu no has creat aquest compte, simplement ignora aquest missatge.

passwordResetSubject=Reinicia contrasenya passwordResetBody=Alg\u00FA ha demanat de canviar les credencials del teu compte de {2}. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per a reiniciar-les.\n\n{0}\n\nAquest enlla\u00E7 expirar\u00E0 en {1} minuts.\n\nSi no vols reiniciar les teves credencials, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi. passwordResetBodyHtml=

Alg\u00FA ha demanat de canviar les credencials del teu compte de {2}. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per a reiniciar-les.

{0}

Aquest enlla\u00E7 expirar\u00E0 en {1} minuts.

Si no vols reiniciar les teves credencials, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi.

executeActionsSubject=Actualitza el teu compte executeActionsBody=L''administrador ha sol\u00B7licitat que actualitzis el teu compte de {2}. Fes clic a l''enlla\u00E7 inferior per iniciar aquest proc\u00E9s.\n\n{0}\n\nAquest enlla\u00E7 expirar\u00E0 en {1} minutes.\n\nSi no est\u00E0s al tant que l''administrador hagi sol\u00B7licitat aix\u00F2, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi. executeActionsBodyHtml=

L''administrador ha sol\u00B7licitat que actualitzis el teu compte de {2}. Fes clic a l''enlla\u00E7 inferior per iniciar aquest proc\u00E9s.

{0}

Aquest enlla\u00E7 expirar\u00E0 en {1} minutes.

Si no est\u00E0s al tant que l''administrador hagi sol\u00B7licitat aix\u00F2, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi.

eventLoginErrorSubject=Fallada en l''inici de sessi\u00F3 eventLoginErrorBody=S''ha detectat un intent d''acc\u00E9s fallit al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador. eventLoginErrorBodyHtml=

S''ha detectat un intent d''acc\u00E9s fallit al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.

eventRemoveTotpSubject=Esborrat OTP eventRemoveTotpBody=OTP s''ha eliminat del teu compte el {0} des de {1}. Si no has estat tu, per favor contacta amb l''administrador. eventRemoveTotpBodyHtml=

OTP s''ha eliminat del teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador. eventUpdatePasswordSubject=Actualitzaci\u00F3 de contrasenya eventUpdatePasswordBody=La teva contrasenya s''ha actualitzat el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador. eventUpdatePasswordBodyHtml=

La teva contrasenya s''ha actualitzat el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.

eventUpdateTotpSubject=Actualitzaci\u00F3 de OTP eventUpdateTotpBody=OTP s''ha actualitzat al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador. eventUpdateTotpBodyHtml=

OTP s''ha actualitzat al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_cs.properties ================================================ # encoding: utf-8 emailVerificationSubject=Ověření e-mailu emailVerificationBody=Někdo vytvořil účet {2} s touto e-mailovou adresou. Pokud jste to vy, klikněte na níže uvedený odkaz a ověřte svou e-mailovou adresu \n\n{0}\n\nTento odkaz vyprší za {1} minuty.\n\nPokud jste tento účet nevytvořili, tuto zprávu ignorujte. emailVerificationBodyHtml=

Někdo vytvořil účet {2} s touto e-mailovou adresou. Pokud jste to vy, klikněte na níže uvedený odkaz a ověřte svou e-mailovou adresu.

Odkaz na ověření e-mailové adresy

Platnost odkazu vyprší za {1} minut.

Pokud jste tento účet nevytvořili, tuto zprávu ignorujte.

emailTestSubject=[KEYCLOAK] - testovací zpráva emailTestBody=Toto je testovací zpráva emailTestBodyHtml=

Toto je testovací zpráva

identityProviderLinkSubject=Odkaz {0} identityProviderLinkBody=Někdo chce propojit váš účet "{1}" s účtem "{0}" uživatele {2}. Pokud jste to vy, klikněte na níže uvedený odkaz a propojte účty. \n\n{3}\n\nPlatnost tohoto odkazu je {5}.\n\nPokud nechcete propojit účet, tuto zprávu ignorujte. Pokud propojíte účty, budete se moci přihlásit jako {1} pomocí {0}. identityProviderLinkBodyHtml=

Někdo právě požádal o změnu hesla u vašeho účtu {2}. Pokud jste to vy, pro jeho změnu klikněte na odkaz níže.

Odkaz na změnu hesla.

Platnost tohoto odkazu je {3}.

Pokud heslo změnit nechcete, tuto zprávu ignorujte a nic se nezmění.

passwordResetSubject=Zapomenuté heslo passwordResetBody=Někdo právě požádal o změnu hesla u vašeho účtu {2}. Pokud jste to vy, pro jeho změnu klikněte na odkaz níže.\n\n{0}\n\nPlatnost tohoto odkazu je {3}.\n\nPokud heslo změnit nechcete, tuto zprávu ignorujte a nic se nezmění. passwordResetBodyHtml=

Někdo právě požádal o změnu pověření vašeho účtu {2}. Pokud jste to vy, klikněte na odkaz níže, abyste je resetovali.

Odkaz na obnovení pověření

Platnost tohoto odkazu vyprší během {1} minut.

Pokud nechcete obnovit vaše pověření, ignorujte tuto zprávu a nic se nezmění.

executeActionsSubject=Aktualizujte svůj účet executeActionsBody=Váš administrátor vás požádal o provedení následujících akcí u účtu {2}: {3}. Začněte kliknutím na níže uvedený odkaz.\n\n{0}\n\nPlatnost tohoto odkazu je {4}.\n\nPokud si nejste jisti, zda je tento požadavek v pořádku, ignorujte tuto zprávu. executeActionsBodyHtml=

Váš administrátor vás požádal o provedení následujících akcí u účtu {2}: {3}. Začněte kliknutím na níže uvedený odkaz.

Odkaz na aktualizaci účtu.

Platnost tohoto odkazu je {4}.

Pokud si nejste jisti, zda je tento požadavek v pořádku, ignorujte tuto zprávu.

eventLoginErrorSubject=Chyba přihlášení eventLoginErrorBody=Někdo se neúspěšně pokusil přihlásit k účtu {0} z {1}. Pokud jste to nebyli vy, kontaktujte administrátora. eventLoginErrorBodyHtml=

Někdo se neúspěšně pokusil přihlásit k účtu {0} z {1}. Pokud jste to nebyli vy, kontaktujte administrátora.

eventRemoveTotpSubject=Odebrat TOTP eventRemoveTotpBody=V účtu {0} bylo odebráno nastavení OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrátora. eventRemoveTotpBodyHtml=

V účtu {0} bylo odebráno nastavení OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrátora.

eventUpdatePasswordSubject=Aktualizace hesla eventUpdatePasswordBody=V účtu {0} bylo změněno heslo z {1}. Pokud jste to nebyli vy, kontaktujte administrátora. eventUpdatePasswordBodyHtml=

V účtu {0} bylo změněno heslo z {1}. Pokud jste to nebyli vy, kontaktujte administrátora.

eventUpdateTotpSubject=Aktualizace OTP eventUpdateTotpBody=V účtu {0} bylo změněno nastavení OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrátora. eventUpdateTotpBodyHtml=

V účtu {0} bylo změněno nastavení OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrátora.

requiredAction.CONFIGURE_TOTP=Konfigurace OTP requiredAction.terms_and_conditions=Smluvní podmínky requiredAction.UPDATE_PASSWORD=Aktualizace hesla requiredAction.UPDATE_PROFILE=Aktualizace profilu requiredAction.VERIFY_EMAIL=Ověření e-mailu # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=sekund linkExpirationFormatter.timePeriodUnit.seconds.1=sekunda linkExpirationFormatter.timePeriodUnit.seconds.2=sekundy linkExpirationFormatter.timePeriodUnit.seconds.3=sekundy linkExpirationFormatter.timePeriodUnit.seconds.4=sekundy linkExpirationFormatter.timePeriodUnit.minutes=minut linkExpirationFormatter.timePeriodUnit.minutes.1=minuta linkExpirationFormatter.timePeriodUnit.minutes.2=minuty linkExpirationFormatter.timePeriodUnit.minutes.3=minuty linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=hodin linkExpirationFormatter.timePeriodUnit.hours.1=hodina linkExpirationFormatter.timePeriodUnit.hours.2=hodiny linkExpirationFormatter.timePeriodUnit.hours.3=hodiny linkExpirationFormatter.timePeriodUnit.hours.4=hodiny linkExpirationFormatter.timePeriodUnit.days=dní linkExpirationFormatter.timePeriodUnit.days.1=den linkExpirationFormatter.timePeriodUnit.days.2=dny linkExpirationFormatter.timePeriodUnit.days.3=dny linkExpirationFormatter.timePeriodUnit.days.4=dny ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_de.properties ================================================ emailVerificationSubject=E-Mail verifizieren emailVerificationBody=Jemand hat ein {2} Konto mit dieser E-Mail-Adresse erstellt. Falls Sie das waren, dann klicken Sie auf den Link, um die E-Mail-Adresse zu verifizieren.\n\n{0}\n\nDieser Link wird in {1} Minuten ablaufen.\n\nFalls Sie dieses Konto nicht erstellt haben, dann k\u00F6nnen sie diese Nachricht ignorieren. emailVerificationBodyHtml=

Jemand hat ein {2} Konto mit dieser E-Mail-Adresse erstellt. Falls das Sie waren, klicken Sie auf den Link, um die E-Mail-Adresse zu verifizieren.

Link zur Best\u00E4tigung der E-Mail-Adresse

Dieser Link wird in {1} Minuten ablaufen.

Falls Sie dieses Konto nicht erstellt haben, dann k\u00F6nnen sie diese Nachricht ignorieren.

identityProviderLinkSubject=Link {0} identityProviderLinkBody=Es wurde beantragt Ihren Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Sollten Sie dies beantragt haben, klicken Sie auf den unten stehenden Link.\n\n{3}\n\n Die G\u00FCltigkeit des Links wird in {4} Minuten verfallen.\n\nSollten Sie Ihren Account nicht verlinken wollen, ignorieren Sie diese Nachricht. Wenn Sie die Accounts verlinken wird ein Login auf {1} \u00FCber {0} erm\u00F6glicht. identityProviderLinkBodyHtml=

Es wurde beantragt Ihren Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Sollten Sie dies beantragt haben, klicken Sie auf den unten stehenden Link.

Link zur Best\u00E4tigung der Kontoverkn\u00FCpfung

Die G\u00FCltigkeit des Links wird in {4} Minuten verfallen.

Sollten Sie Ihren Account nicht verlinken wollen, ignorieren Sie diese Nachricht. Wenn Sie die Accounts verlinken wird ein Login auf {1} \u00FCber {0} erm\u00F6glicht.

passwordResetSubject=Passwort zur\u00FCcksetzen passwordResetBody=Es wurde eine \u00C4nderung der Anmeldeinformationen f\u00FCr Ihren Account {2} angefordert. Wenn Sie diese \u00C4nderung beantragt haben, klicken Sie auf den unten stehenden Link.\n\n{0}\n\nDie G\u00FCltigkeit des Links wird in {1} Minuten verfallen.\n\nSollten Sie keine \u00C4nderung vollziehen wollen k\u00F6nnen Sie diese Nachricht ignorieren und an Ihrem Account wird nichts ge\u00E4ndert. passwordResetBodyHtml=

Es wurde eine \u00C4nderung der Anmeldeinformationen f\u00FCr Ihren Account {2} angefordert. Wenn Sie diese \u00C4nderung beantragt haben, klicken Sie auf den unten stehenden Link.

Link zum Zur\u00FCcksetzen von Anmeldeinformationen

Die G\u00FCltigkeit des Links wird in {1} Minuten verfallen.

Sollten Sie keine \u00C4nderung vollziehen wollen k\u00F6nnen Sie diese Nachricht ignorieren und an Ihrem Account wird nichts ge\u00E4ndert.

executeActionsSubject=Aktualisieren Sie Ihr Konto executeActionsBody=Ihr Administrator hat Sie aufgefordert Ihren Account {2} zu aktualisieren. Klicken Sie auf den unten stehenden Link um den Prozess zu starten.\n\n{0}\n\nDie G\u00FCltigkeit des Links wird in {1} Minuten verfallen.\n\nSollten Sie sich dieser Aufforderung nicht bewusst sein, ignorieren Sie diese Nachricht und Ihr Account bleibt unver\u00E4ndert. executeActionsBodyHtml=

Ihr Administrator hat Sie aufgefordert Ihren Account {2} zu aktualisieren. Klicken Sie auf den unten stehenden Link um den Prozess zu starten.

Link zum Account-Update

Die G\u00FCltigkeit des Links wird in {1} Minuten verfallen.

Sollten Sie sich dieser Aufforderung nicht bewusst sein, ignorieren Sie diese Nachricht und Ihr Account bleibt unver\u00E4ndert.

eventLoginErrorSubject=Fehlgeschlagene Anmeldung eventLoginErrorBody=Jemand hat um {0} von {1} versucht, sich mit Ihrem Konto anzumelden. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin. eventLoginErrorBodyHtml=

Jemand hat um {0} von {1} versucht, sich mit Ihrem Konto anzumelden. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.

eventRemoveTotpSubject=OTP Entfernt eventRemoveTotpBody=OTP wurde von Ihrem Konto am {0} von {1} entfernt. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin. eventRemoveTotpBodyHtml=

OTP wurde von Ihrem Konto am {0} von {1} entfernt. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.

eventUpdatePasswordSubject=Passwort Aktualisiert eventUpdatePasswordBody=Ihr Passwort wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin. eventUpdatePasswordBodyHtml=

Ihr Passwort wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.

eventUpdateTotpSubject=OTP Aktualisiert eventUpdateTotpBody=OTP wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin. eventUpdateTotpBodyHtml=

OTP wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_en.properties ================================================ emailVerificationSubject=Verify email emailVerificationBody=Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {3}.\n\nIf you didn''t create this account, just ignore this message. emailVerificationBodyHtml=

Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address

Link to e-mail address verification

This link will expire within {3}.

If you didn''t create this account, just ignore this message.

emailTestSubject=[KEYCLOAK] - SMTP test message emailTestBody=This is a test message emailTestBodyHtml=

This is a test message

identityProviderLinkSubject=Link {0} identityProviderLinkBody=Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {5}.\n\nIf you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}. identityProviderLinkBodyHtml=

Someone wants to link your {1} account with {0} account of user {2} . If this was you, click the link below to link accounts

Link to confirm account linking

This link will expire within {5}.

If you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.

passwordResetSubject=Reset password passwordResetBody=Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {3}.\n\nIf you don''t want to reset your credentials, just ignore this message and nothing will be changed. passwordResetBodyHtml=

Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.

Link to reset credentials

This link will expire within {3}.

If you don''t want to reset your credentials, just ignore this message and nothing will be changed.

executeActionsSubject=Update Your Account executeActionsBody=Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you are unaware that your administrator has requested this, just ignore this message and nothing will be changed. executeActionsBodyHtml=

Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.

Link to account update

This link will expire within {4}.

If you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.

eventLoginErrorSubject=Login error eventLoginErrorBody=A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator. eventLoginErrorBodyHtml=

A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.

eventRemoveTotpSubject=Remove OTP eventRemoveTotpBody=OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator. eventRemoveTotpBodyHtml=

OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.

eventUpdatePasswordSubject=Update password eventUpdatePasswordBody=Your password was changed on {0} from {1}. If this was not you, please contact an administrator. eventUpdatePasswordBodyHtml=

Your password was changed on {0} from {1}. If this was not you, please contact an administrator.

eventUpdateTotpSubject=Update OTP eventUpdateTotpBody=OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator. eventUpdateTotpBodyHtml=

OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.

requiredAction.CONFIGURE_TOTP=Configure OTP requiredAction.terms_and_conditions=Terms and Conditions requiredAction.UPDATE_PASSWORD=Update Password requiredAction.UPDATE_PROFILE=Update Profile requiredAction.VERIFY_EMAIL=Verify Email # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=seconds linkExpirationFormatter.timePeriodUnit.seconds.1=second linkExpirationFormatter.timePeriodUnit.minutes=minutes linkExpirationFormatter.timePeriodUnit.minutes.1=minute #for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: #linkExpirationFormatter.timePeriodUnit.minutes.2=minuty #linkExpirationFormatter.timePeriodUnit.minutes.3=minuty #linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=hours linkExpirationFormatter.timePeriodUnit.hours.1=hour linkExpirationFormatter.timePeriodUnit.days=days linkExpirationFormatter.timePeriodUnit.days.1=day emailVerificationBodyCode=Please verify your email address by entering in the following code.\n\n{0}\n\n. emailVerificationBodyCodeHtml=

Please verify your email address by entering in the following code.

{0}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_es.properties ================================================ emailVerificationSubject=Verificaci\u00F3n de email emailVerificationBody=Alguien ha creado una cuenta de {2} con esta direcci\u00F3n de email. Si has sido t\u00FA, haz click en el enlace siguiente para verificar tu direcci\u00F3n de email.\n\n{0}\n\nEste enlace expirar\u00E1 en {1} minutos.\n\nSi t\u00FA no has creado esta cuenta, simplemente ignora este mensaje. emailVerificationBodyHtml=

Alguien ha creado una cuenta de {2} con esta direcci\u00F3n de email. Si has sido t\u00FA, haz click en el enlace siguiente para verificar tu direcci\u00F3n de email.

{0}

Este enlace expirar\u00E1 en {1} minutos.

Si t\u00FA no has creado esta cuenta, simplemente ignora este mensaje.

passwordResetSubject=Reiniciar contrase\u00F1a passwordResetBody=Alguien ha solicitado cambiar las credenciales de tu cuenta de {2}. Si has sido t\u00FA, haz clic en el enlace siguiente para reiniciarlas.\n\n{0}\n\nEste enlace expirar\u00E1 en {1} minutos.\n\nSi no quieres reiniciar tus credenciales, simplemente ignora este mensaje y no se realizar\u00E1 ning\u00FAn cambio. passwordResetBodyHtml=

Alguien ha solicitado cambiar las credenciales de tu cuenta de {2}. Si has sido t\u00FA, haz clic en el enlace siguiente para reiniciarlas.

{0}

Este enlace expirar\u00E1 en {1} minutos.

Si no quieres reiniciar tus credenciales, simplemente ignora este mensaje y no se realizar\u00E1 ning\u00FAn cambio.

executeActionsSubject=Actualiza tu cuenta executeActionsBody=El administrador ha solicitado que actualices tu cuenta de {2}. Haz clic en el enlace inferior para iniciar este proceso.\n\n{0}\n\nEste enlace expirar\u00E1 en {1} minutos.\n\nSi no est\u00E1s al tanto de que el administrador haya solicitado esto, simplemente ignora este mensaje y no se realizar\u00E1 ning\u00FAn cambio. executeActionsBodyHtml=

El administrador ha solicitado que actualices tu cuenta de {2}. Haz clic en el enlace inferior para iniciar este proceso.

{0}

Este enlace expirar\u00E1 en {1} minutos.

Si no est\u00E1s al tanto de que el administrador haya solicitado esto, simplemente ignora este mensaje y no se realizar\u00E1 ning\u00FAn cambio.

eventLoginErrorSubject=Fallo en el inicio de sesi\u00F3n eventLoginErrorBody=Se ha detectado un intento de acceso fallido a tu cuenta el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador. eventLoginErrorBodyHtml=

Se ha detectado un intento de acceso fallido a tu cuenta el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador.

eventRemoveTotpSubject=Borrado OTP eventRemoveTotpBody=OTP fue eliminado de tu cuenta el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador. eventRemoveTotpBodyHtml=

OTP fue eliminado de tu cuenta el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador.

eventUpdatePasswordSubject=Actualizaci\u00F3n de contrase\u00F1a eventUpdatePasswordBody=Tu contrase\u00F1a se ha actualizado el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador. eventUpdatePasswordBodyHtml=

Tu contrase\u00F1a se ha actualizado el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador.

eventUpdateTotpSubject=Actualizaci\u00F3n de OTP eventUpdateTotpBody=OTP se ha actualizado en tu cuenta el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador. eventUpdateTotpBodyHtml=

OTP se ha actualizado en tu cuenta el {0} desde {1}. Si no has sido t\u00FA, por favor contacta con el administrador.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_fr.properties ================================================ emailVerificationSubject=V\u00e9rification du courriel emailVerificationBody=Quelqu''un vient de cr\u00e9er un compte "{2}" avec votre courriel. Si vous \u00eates \u00e0 l''origine de cette requ\u00eate, veuillez cliquer sur le lien ci-dessous afin de v\u00e9rifier votre adresse de courriel\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon, veuillez ignorer ce message. emailVerificationBodyHtml=

Quelqu''un vient de cr\u00e9er un compte "{2}" avec votre courriel. Si vous \u00eates \u00e0 l''origine de cette requ\u00eate, veuillez cliquer sur le lien ci-dessous afin de v\u00e9rifier votre adresse de courriel

{0}

Ce lien expire dans {1} minute(s).

Sinon, veuillez ignorer ce message.

passwordResetSubject=R\u00e9initialiser le mot de passe passwordResetBody=Quelqu''un vient de demander une r\u00e9initialisation de mot de passe pour votre compte {2}. Si vous \u00eates \u00e0 l''origine de cette requ\u00eate, veuillez cliquer sur le lien ci-dessous pour le mettre \u00e0 jour.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon, veuillez ignorer ce message ; aucun changement ne sera effectu\u00e9 sur votre compte. passwordResetBodyHtml=

Quelqu''un vient de demander une r\u00e9initialisation de mot de passe pour votre compte {2}. Si vous \u00eates \u00e0 l''origine de cette requ\u00eate, veuillez cliquer sur le lien ci-dessous pour le mettre \u00e0 jour.

Lien pour r\u00e9initialiser votre mot de passe

Ce lien expire dans {1} minute(s).

Sinon, veuillez ignorer ce message ; aucun changement ne sera effectu\u00e9 sur votre compte.

executeActionsSubject=Mettre \u00e0 jour votre compte executeActionsBody=Votre administrateur vient de demander une mise \u00e0 jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin de commencer le processus.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSi vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez ignorer ce message ; aucun changement ne sera effectu\u00e9 sur votre compte. executeActionsBodyHtml=

Votre administrateur vient de demander une mise \u00e0 jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin de commencer le processus.

{0}

Ce lien expire dans {1} minute(s).

Si vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez ignorer ce message ; aucun changement ne sera effectu\u00e9 sur votre compte.

eventLoginErrorSubject=Erreur de connexion eventLoginErrorBody=Une tentative de connexion a \u00e9t\u00e9 d\u00e9tect\u00e9e sur votre compte {0} depuis {1}. Si vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. eventLoginErrorBodyHtml=

Une tentative de connexion a \u00e9t\u00e9 d\u00e9tect\u00e9e sur votre compte {0} depuis {1}. Si vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

eventRemoveTotpSubject=Suppression du OTP eventRemoveTotpBody=Le OTP a \u00e9t\u00e9 supprim\u00e9 de votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. eventRemoveTotpBodyHtml=

Le OTP a \u00e9t\u00e9 supprim\u00e9 de votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

eventUpdatePasswordSubject=Mise \u00e0 jour du mot de passe eventUpdatePasswordBody=Votre mot de passe pour votre compte {0} a \u00e9t\u00e9 modifi\u00e9 depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. eventUpdatePasswordBodyHtml=

Votre mot de passe pour votre compte {0} a \u00e9t\u00e9 modifi\u00e9 depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

eventUpdateTotpSubject=Mise \u00e0 jour du OTP eventUpdateTotpBody=Le OTP a \u00e9t\u00e9 mis \u00e0 jour pour votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. eventUpdateTotpBodyHtml=

Le OTP a \u00e9t\u00e9 mis \u00e0 jour pour votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_it.properties ================================================ emailVerificationSubject=Verifica l''email emailVerificationBody=Qualcuno ha creato un account {2} con questo indirizzo email. Se sei stato tu, fai clic sul link seguente per verificare il tuo indirizzo email\n\n{0}\n\nQuesto link scadr\u00e0 in {3}.\n\nSe non sei stato tu a creare questo account, ignora questo messaggio. emailVerificationBodyHtml=

Qualcuno ha creato un account {2} con questo indirizzo email. Se sei stato tu, fai clic sul link seguente per verificare il tuo indirizzo email

{0}

Questo link scadr\u00e0 in {3}.

Se non sei stato tu a creare questo account, ignora questo messaggio.

emailTestSubject=[KEYCLOAK] - messaggio di test SMTP emailTestBody=Questo \u00e8 un messaggio di test emailTestBodyHtml=

Questo \u00e8 un messaggio di test

identityProviderLinkSubject=Link {0} identityProviderLinkBody=Qualcuno vuole associare il tuo account "{1}" con l''account "{0}" dell''utente {2}. Se sei stato tu, fai clic sul link seguente per associare gli account\n\n{3}\n\nQuesto link scadr\u00e0 in {5}.\n\nSe non vuoi associare l''account, ignora questo messaggio. Se associ gli account, potrai accedere a {1} attraverso {0}. identityProviderLinkBodyHtml=

Qualcuno vuole associare il tuo account {1} con l''account {0} dell''utente {2}. Se sei stato tu, fai clic sul link seguente per associare gli account

{3}

Questo link scadr\u00e0 in {5}.

Se non vuoi associare l''account, ignora questo messaggio. Se associ gli account, potrai accedere a {1} attraverso {0}.

passwordResetSubject=Reimposta la password passwordResetBody=Qualcuno ha appena richiesto di cambiare le credenziali di accesso al tuo account {2}. Se sei stato tu, fai clic sul link seguente per reimpostarle.\n\n{0}\n\nQuesto link e codice scadranno in {3}.\n\nSe non vuoi reimpostare le tue credenziali di accesso, ignora questo messaggio e non verr\u00e0 effettuato nessun cambio. passwordResetBodyHtml=

Qualcuno ha appena richiesto di cambiare le credenziali di accesso al tuo account {2}. Se sei stato tu, fai clic sul link seguente per reimpostarle.

{0}

Questo link scadr\u00e0 in {3}.

Se non vuoi reimpostare le tue credenziali di accesso, ignora questo messaggio e non verr\u00e0 effettuato nessun cambio.

executeActionsSubject=Aggiorna il tuo account executeActionsBody=Il tuo amministratore ha appena richiesto un aggiornamento del tuo account {2} ed \u00e8 necessario che tu esegua la/le seguente/i azione/i: {3}. Fai clic sul link seguente per iniziare questo processo.\n\n{0}\n\nQuesto link scadr\u00e0 in {4}.\n\nSe non sei a conoscenza della richiesta del tuo amministratore, ignora questo messaggio e non verr\u00e0 effettuato nessun cambio. executeActionsBodyHtml=

Il tuo amministratore ha appena richiesto un aggiornamento del tuo account {2} ed \u00e8 necessario che tu esegua la/le seguente/i azione/i: {3}. Fai clic sul link seguente per iniziare questo processo.

Link to account update

Questo link scadr\u00e0 in {4}.

Se non sei a conoscenza della richiesta del tuo amministratore, ignora questo messaggio e non verr\u00e0 effettuato nessun cambio.

eventLoginErrorSubject=Errore di accesso eventLoginErrorBody=\u00c8 stato rilevato un tentativo fallito di accesso al tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore. eventLoginErrorBodyHtml=

\u00c8 stato rilevato un tentativo fallito di accesso al tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore.

eventRemoveTotpSubject=Rimozione OTP (password temporanea valida una volta sola) eventRemoveTotpBody=La OTP (password temporanea valida una volta sola) \u00e8 stata rimossa dal tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore. eventRemoveTotpBodyHtml=

La OTP (password temporanea valida una volta sola) \u00e8 stata rimossa dal tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore.

eventUpdatePasswordSubject=Aggiornamento password eventUpdatePasswordBody=La tua password \u00e8 stata cambiata il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore. eventUpdatePasswordBodyHtml=

La tua password \u00e8 stata cambiata il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore.

eventUpdateTotpSubject=Aggiornamento OTP (password temporanea valida una volta sola) eventUpdateTotpBody=La OTP (password temporanea valida una volta sola) \u00e8 stata aggiornata per il tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore. eventUpdateTotpBodyHtml=

La OTP (password temporanea valida una volta sola) \u00e8 stata aggiornata per il tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l''amministratore.

requiredAction.CONFIGURE_TOTP=Configurazione OTP requiredAction.terms_and_conditions=Termini e condizioni requiredAction.UPDATE_PASSWORD=Aggiornamento password requiredAction.UPDATE_PROFILE=Aggiornamento profilo requiredAction.VERIFY_EMAIL=Verifica dell''indirizzo email # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=secondi linkExpirationFormatter.timePeriodUnit.seconds.1=secondo linkExpirationFormatter.timePeriodUnit.minutes=minuti linkExpirationFormatter.timePeriodUnit.minutes.1=minuto #for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: #linkExpirationFormatter.timePeriodUnit.minutes.2=minuty #linkExpirationFormatter.timePeriodUnit.minutes.3=minuty #linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=ore linkExpirationFormatter.timePeriodUnit.hours.1=ora linkExpirationFormatter.timePeriodUnit.days=giorni linkExpirationFormatter.timePeriodUnit.days.1=giorno emailVerificationBodyCode=Per favore verifica il tuo indirizzo email inserendo il codice seguente.\n\n{0}\n\n. emailVerificationBodyCodeHtml=

Per favore verifica il tuo indirizzo email inserendo il codice seguente.

{0}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_ja.properties ================================================ # encoding: utf-8 emailVerificationSubject=Eメールの確認 emailVerificationBody=このメールアドレスで{2}アカウントが作成されました。以下のリンクをクリックしてメールアドレスの確認を完了してください。\n\n{0}\n\nこのリンクは{3}だけ有効です。\n\nもしこのアカウントの作成に心当たりがない場合は、このメールを無視してください。 emailVerificationBodyHtml=

このメールアドレスで{2}アカウントが作成されました。以下のリンクをクリックしてメールアドレスの確認を完了してください。

メールアドレスの確認

このリンクは{3}だけ有効です。

もしこのアカウントの作成に心当たりがない場合は、このメールを無視してください。

emailTestSubject=[KEYCLOAK] - SMTPテストメッセージ emailTestBody=これはテストメッセージです emailTestBodyHtml=

これはテストメッセージです

identityProviderLinkSubject=リンク {0} identityProviderLinkBody=あなたの"{1}"アカウントと{2}ユーザーの"{0}"アカウントのリンクが要求されました。以下のリンクをクリックしてアカウントのリンクを行ってください。\n\n{3}\n\nこのリンクは{5}だけ有効です。\n\nもしアカウントのリンクを行わない場合は、このメッセージを無視してください。アカウントのリンクを行うことで、{0}経由で{1}にログインすることができるようになります。 identityProviderLinkBodyHtml=

あなたの{1}アカウントと{2}ユーザーの{0}アカウントのリンクが要求されました。以下のリンクをクリックしてアカウントのリンクを行ってください。

アカウントリンクの確認

このリンクは{5}だけ有効です。

もしアカウントのリンクを行わない場合は、このメッセージを無視してください。アカウントのリンクを行うことで、{0}経由で{1}にログインすることができるようになります。

passwordResetSubject=パスワードのリセット passwordResetBody=あなたの{2}アカウントのパスワードの変更が要求されています。以下のリンクをクリックしてパスワードのリセットを行ってください。\n\n{0}\n\nこのリンクは{3}だけ有効です。\n\nもしパスワードのリセットを行わない場合は、このメッセージを無視してください。何も変更されません。 passwordResetBodyHtml=

あなたの{2}アカウントのパスワードの変更が要求されています。以下のリンクをクリックしてパスワードのリセットを行ってください。

パスワードのリセット

このリンクは{3}だけ有効です。

もしパスワードのリセットを行わない場合は、このメッセージを無視してください。何も変更されません。

executeActionsSubject=アカウントの更新 executeActionsBody=次のアクションを実行することにより、管理者よりあなたの{2}アカウントの更新が要求されています: {3}。以下のリンクをクリックしてこのプロセスを開始してください。\n\n{0}\n\nこのリンクは{4}だけ有効です。\n\n管理者からのこの変更要求についてご存知ない場合は、このメッセージを無視してください。何も変更されません。 executeActionsBodyHtml=

次のアクションを実行することにより、管理者よりあなたの{2}アカウントの更新が要求されています: {3}。以下のリンクをクリックしてこのプロセスを開始してください。

アカウントの更新

このリンクは{4}だけ有効です。

管理者からのこの変更要求についてご存知ない場合は、このメッセージを無視してください。何も変更されません。

eventLoginErrorSubject=ログインエラー eventLoginErrorBody={0}に{1}からのログイン失敗があなたのアカウントで検出されました。心当たりがない場合は、管理者に連絡してください。 eventLoginErrorBodyHtml=

{0}に{1}からのログイン失敗があなたのアカウントで検出されました。心当たりがない場合は管理者に連絡してください。

eventRemoveTotpSubject=OTPの削除 eventRemoveTotpBody={0}に{1}からの操作でOTPが削除されました。心当たりがない場合は、管理者に連絡してください。 eventRemoveTotpBodyHtml=

{0}に{1}からの操作でOTPが削除されました。心当たりがない場合は、管理者に連絡してください。

eventUpdatePasswordSubject=パスワードの更新 eventUpdatePasswordBody={0}に{1}からの操作であなたのパスワードが変更されました。心当たりがない場合は、管理者に連絡してください。 eventUpdatePasswordBodyHtml=

{0}に{1}からの操作であなたのパスワードが変更されました。心当たりがない場合は、管理者に連絡してください。

eventUpdateTotpSubject=OTPの更新 eventUpdateTotpBody={0}に{1}からの操作でOTPが更新されました。心当たりがない場合は、管理者に連絡してください。 eventUpdateTotpBodyHtml=

{0}に{1}からの操作でOTPが更新されました。心当たりがない場合は、管理者に連絡してください。

requiredAction.CONFIGURE_TOTP=OTPの設定 requiredAction.terms_and_conditions=利用規約 requiredAction.UPDATE_PASSWORD=パスワードの更新 requiredAction.UPDATE_PROFILE=プロファイルの更新 requiredAction.VERIFY_EMAIL=Eメールの確認 # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=秒 linkExpirationFormatter.timePeriodUnit.seconds.1=秒 linkExpirationFormatter.timePeriodUnit.minutes=分 linkExpirationFormatter.timePeriodUnit.minutes.1=分 #for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: #linkExpirationFormatter.timePeriodUnit.minutes.2=minuty #linkExpirationFormatter.timePeriodUnit.minutes.3=minuty #linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=時間 linkExpirationFormatter.timePeriodUnit.hours.1=時間 linkExpirationFormatter.timePeriodUnit.days=日 linkExpirationFormatter.timePeriodUnit.days.1=日 emailVerificationBodyCode=次のコードを入力してメールアドレスを確認してください。\n\n{0}\n\n. emailVerificationBodyCodeHtml=

次のコードを入力してメールアドレスを確認してください。

{0}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_lt.properties ================================================ # encoding: utf-8 emailVerificationSubject=El. pašto patvirtinimas emailVerificationBody=Paskyra {2} sukurta naudojant šį el. pašto adresą. Jei tai buvote Jūs, tuomet paspauskite žemiau esančią nuorodą\n\n{0}\n\nŠi nuoroda galioja {1} min.\n\nJei paskyros nekūrėte, tuomet ignuoruokite šį laišką. emailVerificationBodyHtml=

Paskyra {2} sukurta naudojant šį el. pašto adresą. Jei tao buvote Jūs, tuomet paspauskite žemiau esančią nuorodą

{0}

Ši nuoroda galioja {1} min.

nJei paskyros nekūrėte, tuomet ignuoruokite šį laišką.

identityProviderLinkSubject=Sąsaja {0} identityProviderLinkBody=Kažas pageidauja susieti Jūsų "{1}" paskyrą su "{0}" {2} naudotojo paskyrą. Jei tai buvote Jūs, tuomet paspauskite žemiau esančią nuorodą norėdami susieti paskyras\n\n{3}\n\nŠi nuoroda galioja {4} min.\n\nJei paskyrų susieti nenorite, tuomet ignoruokite šį laišką. Jei paskyras susiesite, tuomet prie {1} galėsiste prisijungti per {0}. identityProviderLinkBodyHtml=

žas pageidauja susieti Jūsų {1} paskyrą su {0} {2} naudotojo paskyrą. Jei tai buvote Jūs, tuomet paspauskite žemiau esančią nuorodą norėdami susieti paskyras

{3}

Ši nuoroda galioja {4} min.

Jei paskyrų susieti nenorite, tuomet ignoruokite šį laišką. Jei paskyras susiesite, tuomet prie {1} galėsiste prisijungti per {0}.

passwordResetSubject=Slaptažodžio atkūrimas passwordResetBody=Kažkas pageidauja pakeisti Jūsų paskyros {2} slaptažodį. Jei tai buvote Jūs, tuomet paspauskite žemiau esančią nuorodą slaptažodžio pakeitimui.\n\n{0}\n\nŠi nuoroda ir kodas galioja {1} min.\n\nJei nepageidajate keisti slaptažodžio, tuomet ignoruokite šį laišką ir niekas nebus pakeista. passwordResetBodyHtml=

Kažkas pageidauja pakeisti Jūsų paskyros {2} slaptažodį. Jei tai buvote Jūs, tuomet paspauskite žemiau esančią nuorodą slaptažodžio pakeitimui.

{0}

Ši nuoroda ir kodas galioja {1} min.

Jei nepageidajate keisti slaptažodžio, tuomet ignoruokite šį laišką ir niekas nebus pakeista.

executeActionsSubject=Atnaujinkite savo paskyrą executeActionsBody=Sistemos administratorius pageidauja, kad Jūs atnaujintumėte savo {2} paskyrą. Paspauskite žemiau esančią nuorodą paskyros duomenų atnaujinimui.\n\n{0}\n\nŠi nuoroda galioja {1} min.\n\nJei Jūs neasate tikri, kad tai administratoriaus pageidavimas, tuomet ignoruokite šį laišką ir niekas nebus pakeista. executeActionsBodyHtml=

Sistemos administratorius pageidauja, kad Jūs atnaujintumėte savo {2} paskyrą. Paspauskite žemiau esančią nuorodą paskyros duomenų atnaujinimui.

{0}

Ši nuoroda galioja {1} min.

Jei Jūs neasate tikri, kad tai administratoriaus pageidavimas, tuomet ignoruokite šį laišką ir niekas nebus pakeista.

eventLoginErrorSubject=Nesėkmingas bandymas prisijungti prie jūsų paskyros eventLoginErrorBody=Bandymas prisijungti prie jūsų paskyros {0} iš {1} nesėkmingas. Jei tai nebuvote jūs, tuomet susisiekite su administratoriumi eventLoginErrorBodyHtml=

Bandymas prisijungti prie jūsų paskyros {0} iš {1} nesėkmingas. Jei tai nebuvote jūs, tuomet susisiekite su administratoriumi

eventRemoveTotpSubject=OTP pašalinimas eventRemoveTotpBody=Kažkas pageidauja atsieti TOPT Jūsų {1} paskyroje su {0}. Jei tai nebuvote Jūs, tuomet susisiekite su administratoriumi eventRemoveTotpBodyHtml=

Kažkas pageidauja atsieti TOPT Jūsų {1} paskyroje su {0}. Jei tai nebuvote Jūs, tuomet susisiekite su administratoriumi

eventUpdatePasswordSubject=Slaptažodžio atnaujinimas eventUpdatePasswordBody={1} paskyroje {0} pakeisas jūsų slaptažodis. Jei Jūs nekeitėte, tuomet susisiekite su administratoriumi eventUpdatePasswordBodyHtml=

{1} paskyroje {0} pakeisas jūsų slaptažodis. Jei Jūs nekeitėte, tuomet susisiekite su administratoriumi

eventUpdateTotpSubject=OTP atnaujinimas eventUpdateTotpBody=OTP Jūsų {1} paskyroje su {0} buvo atnaujintas. Jei tai nebuvote Jūs, tuomet susisiekite su administratoriumi eventUpdateTotpBodyHtml=

OTP Jūsų {1} paskyroje su {0} buvo atnaujintas. Jei tai nebuvote Jūs, tuomet susisiekite su administratoriumi

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_nl.properties ================================================ emailVerificationSubject=Bevestig e-mailadres emailVerificationBody=Iemand heeft een {2} account aangemaakt met dit e-mailadres. Als u dit was, klikt u op de onderstaande koppeling om uw e-mailadres te bevestigen \n\n{0}\n\nDeze koppeling zal binnen {3} vervallen.\n\nU kunt dit bericht negeren indien u dit account niet heeft aangemaakt. emailVerificationBodyHtml=

Iemand heeft een {2} account aangemaakt met dit e-mailadres. Als u dit was, klikt u op de onderstaande koppeling om uw e-mailadres te bevestigen

Koppeling naar e-mailadres bevestiging

Deze koppeling zal binnen {3} vervallen.U kunt dit bericht negeren indien u dit account niet heeft aangemaakt.

emailTestSubject=[KEYCLOAK] - SMTP testbericht emailTestBody=Dit is een testbericht emailTestBodyHtml=

Dit is een testbericht

identityProviderLinkSubject=Koppel {0} identityProviderLinkBody=Iemand wil uw "{1}" account koppelen met "{0}" account van gebruiker {2}. Als u dit was, klik dan op de onderstaande link om de accounts te koppelen\n\n{3}\n\nDeze link zal over {5} vervallen.\n\nAls u de accounts niet wilt koppelen, negeer dan dit bericht. Als u accounts koppelt, dan kunt u bij {1} inloggen via {0}. identityProviderLinkBodyHtml=

Iemand wil uw "{1}" account koppelen met "{0}" account van gebruiker {2}. Als u dit was, klik dan op de onderstaande link om de accounts te koppelen

Link om accounts te koppelen

Deze link zal over {5} vervallen.

Als u de accounts niet wilt koppelen, negeer dan dit bericht. Als u accounts koppelt, dan kunt u bij {1} inloggen via {0}.

passwordResetSubject=Wijzig wachtwoord passwordResetBody=Iemand verzocht de aanmeldgegevens van uw {2} account te wijzigen. Als u dit was, klik dan op de onderstaande koppeling om ze te wijzigen.\n\n{0}\n\nDe link en de code zullen binnen {3} vervallen.\n\nAls u uw aanmeldgegevens niet wilt wijzigen, negeer dan dit bericht en er zal niets gewijzigd worden. passwordResetBodyHtml=

Iemand verzocht de aanmeldgegevens van uw {2} account te wijzigen. Als u dit was, klik dan op de onderstaande koppeling om ze te wijzigen.

Wijzig aanmeldgegevens

De link en de code zullen binnen {3} vervallen.

Als u uw aanmeldgegevens niet wilt wijzigen, negeer dan dit bericht en er zal niets gewijzigd worden.

executeActionsSubject=Wijzig uw account executeActionsBody=Uw beheerder heeft u verzocht uw {2} account te wijzigen. Klik op de onderstaande koppeling om dit proces te starten. \n\n{0}\n\nDeze link zal over {4} vervallen. \n\nAls u niet over dit verzoek op de hoogte was, negeer dan dit bericht om uw account ongewijzigd te laten. executeActionsBodyHtml=

Uw beheerder heeft u verzocht uw {2} account te wijzigen. Klik op de onderstaande koppeling om dit proces te starten.

Link naar account wijziging

Deze link zal over {4} vervallen.

Als u niet over dit verzoek op de hoogte was, negeer dan dit bericht om uw account ongewijzigd te laten.

eventLoginErrorSubject=Inlogfout eventLoginErrorBody=Er is een foutieve inlogpoging gedetecteerd op uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met de beheerder. eventLoginErrorBodyHtml=

Er is een foutieve inlogpoging gedetecteerd op uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met de beheerder.

eventRemoveTotpSubject=OTP verwijderd eventRemoveTotpBody=OTP is verwijderd van uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met uw beheerder. eventRemoveTotpBodyHtml=

OTP is verwijderd van uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met uw beheerder.

eventUpdatePasswordSubject=Wachtwoord gewijzigd eventUpdatePasswordBody=Uw wachtwoord is gewijzigd om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder. eventUpdatePasswordBodyHtml=

Uw wachtwoord is gewijzigd om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder.

eventUpdateTotpSubject=OTP gewijzigd eventUpdateTotpBody=OTP is gewijzigd voor uw account om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder. eventUpdateTotpBodyHtml=

OTP is gewijzigd voor uw account om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder.

# units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=seconden linkExpirationFormatter.timePeriodUnit.seconds.1=seconde linkExpirationFormatter.timePeriodUnit.minutes=minuten linkExpirationFormatter.timePeriodUnit.minutes.1=minuut linkExpirationFormatter.timePeriodUnit.hours=uur linkExpirationFormatter.timePeriodUnit.hours.1=uur linkExpirationFormatter.timePeriodUnit.days=dagen linkExpirationFormatter.timePeriodUnit.days.1=dag ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_no.properties ================================================ emailVerificationSubject=Bekreft e-postadresse emailVerificationBody=Noen har opprettet en {2} konto med denne e-postadressen. Hvis dette var deg, klikk p\u00E5 lenken nedenfor for \u00E5 bekrefte e-postadressen din\n\n{0}\n\nDenne lenken vil utl\u00F8pe om {1} minutter.\n\nHvis du ikke opprettet denne kontoen, vennligst ignorer denne meldingen. emailVerificationBodyHtml=

Noen har opprettet en {2} konto med denne e-postadressen. Hvis dette var deg, klikk p\u00E5 lenken nedenfor for \u00E5 bekrefte e-postadressen din

{0}

Denne lenken vil utl\u00F8pe om {1} minutter.

Hvis du ikke opprettet denne kontoen, vennligst ignorer denne meldingen.

identityProviderLinkSubject=Lenke {0} identityProviderLinkBody=Noen vil koble din {1} konto med {0} konto til bruker {2}. Hvis dette var deg, klikk p\u00E5 lenken nedenfor for \u00E5 koble kontoene\n\n{3}\n\nDenne lenken vil utl\u00F8pe om {4} minutter\n\nHvis du ikke vil koble kontoene, vennligst ignorer denne meldingen. Hvis du kobler kontoene sammen vil du kunne logge inn til {1} gjennom {0}. identityProviderLinkBodyHtml=

Noen vil koble din {1} konto med {0} konto til bruker {2}. Hvis dette var deg, klikk p\u00E5 lenken nedenfor for \u00E5 koble kontoene.

{3}

Denne lenken vil utl\u00F8pe om {4} minutter.

Hvis du ikke vil koble kontoene, vennligst ignorer denne meldingen. Hvis du kobler kontoene sammen vil du kunne logge inn til {1} gjennom {0}.

passwordResetSubject=Tilbakestill passord passwordResetBody=Noen har bedt om \u00E5 endre innloggingsdetaljene til din konto {2}. Hvis dette var deg, klikk p\u00E5 lenken nedenfor for \u00E5 tilbakestille dem.\n\n{0}\n\nDenne lenken vil utl\u00F8pe om {1} minutter.\n\nHvis du ikke vil tilbakestille din innloggingsdata, vennligst ignorer denne meldingen og ingenting vil bli endret. passwordResetBodyHtml=

Noen har bedt om \u00E5 endre innloggingsdetaljene til din konto {2}. Hvis dette var deg, klikk p\u00E5 lenken nedenfor for \u00E5 tilbakestille dem.

{0}

Denne lenken vil utl\u00F8pe om {1} minutter.

Hvis du ikke vil tilbakestille din innloggingsdata, vennligst ignorer denne meldingen og ingenting vil bli endret.

executeActionsSubject=Oppdater kontoen din executeActionsBody=Administrator har anmodet at du oppdaterer din {2} konto. Klikk p\u00E5 lenken nedenfor for \u00E5 starte denne prosessen\n\n{0}\n\nDenne lenken vil utl\u00F8pe om {1} minutter.\n\nHvis du ikke var klar over at administrator har bedt om dette, vennligst ignorer denne meldingen og ingenting vil bli endret. executeActionsBodyHtml=

Administrator har anmodet at du oppdaterer din {2} konto. Klikk p\u00E5 linken nedenfor for \u00E5 starte denne prosessen.

{0}

Denne lenken vil utl\u00F8pe om {1} minutter.

Hvis du ikke var klar over at administrator har bedt om dette, ignorer denne meldingen og ingenting vil bli endret.

eventLoginErrorSubject=Innlogging feilet eventLoginErrorBody=Et mislykket innloggingsfors\u00F8k ble oppdaget p\u00E5 din konto p\u00E5 {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator. eventLoginErrorBodyHtml=

Et mislykket innloggingsfors\u00F8k ble oppdaget p\u00E5 din konto p\u00E5 {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.

eventRemoveTotpSubject=Fjern engangskode eventRemoveTotpBody=Engangskode ble fjernet fra kontoen din p\u00E5 {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator. eventRemoveTotpBodyHtml=

Engangskode ble fjernet fra kontoen din p\u00E5 {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.

eventUpdatePasswordSubject=Oppdater passord eventUpdatePasswordBody=Ditt passord ble endret i {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator. eventUpdatePasswordBodyHtml=

Ditt passord ble endret i {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.

eventUpdateTotpSubject=Oppdater engangskode eventUpdateTotpBody=Engangskode ble oppdatert for kontoen din p\u00E5 {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator. eventUpdateTotpBodyHtml=

Engangskode ble oppdatert for kontoen din p\u00E5 {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_pl.properties ================================================ # encoding: UTF-8 emailVerificationSubject=Zweryfikuj email emailVerificationBody=Ktoś utworzył już konto {2} z tym adresem e-mail. Jeśli to Ty, kliknij poniższy link, aby zweryfikować swój adres e-mail \n\n{0}\n\nLink ten wygaśnie w ciągu {3}.\n\nJeśli nie utworzyłeś tego konta, po prostu zignoruj tę wiadomość. emailVerificationBodyHtml=

Ktoś utworzył już konto {2} z tym adresem e-mail. Jeśli to Ty, kliknij ten link aby zweryfikować swój adres e-mail

Link ten wygaśnie w ciągu {3}

Jeśli nie utworzyłeś tego konta, po prostu zignoruj tę wiadomość.

emailTestSubject=[KEYCLOAK] - wiadomość testowa SMTP emailTestBody=To jest wiadomość testowa emailTestBodyHtml=

To jest wiadomość testowa

identityProviderLinkSubject=Link {0} identityProviderLinkBody=Ktoś chce połączyć Twoje konto "{1}" z kontem "{0}" użytkownika {2}. Jeśli to Ty, kliknij poniższy link by połączyć konta\n\n{3}\n\nTen link wygaśnie w ciągu {5}.\n\nJeśli nie chcesz połączyć konta to zignoruj tę wiadomość. Jeśli połączysz konta, będziesz mógł się zalogować na {1} przez {0}. identityProviderLinkBodyHtml=

Ktoś chce połączyć Twoje konto {1} z kontem {0} użytkownika {2}. Jeśli to Ty, kliknij ten link by połączyć konta.

Ten link wygaśnie w ciągu {5}.

Jeśli nie chcesz połączyć konta to zignoruj tę wiadomość. Jeśli połączysz konta, będziesz mógł się zalogować na {1} przez {0}.

passwordResetSubject=Zresetuj hasło passwordResetBody=Ktoś właśnie poprosił o zmianę danych logowania Twojego konta {2}. Jeśli to Ty, kliknij poniższy link, aby je zresetować.\n\n{0}\n\nTen link i kod stracą ważność w ciągu {3}.\n\nJeśli nie chcesz zresetować swoich danych logowania, po prostu zignoruj tę wiadomość i nic się nie zmieni. passwordResetBodyHtml=

Ktoś właśnie poprosił o zmianę poświadczeń Twojego konta {2}. Jeśli to Ty, kliknij poniższy link, aby je zresetować.

Link do resetowania poświadczeń

Ten link wygaśnie w ciągu {3}.

Jeśli nie chcesz resetować swoich poświadczeń, po prostu zignoruj tę wiadomość i nic się nie zmieni.

executeActionsSubject=Zaktualizuj swoje konto executeActionsBody=Administrator właśnie zażądał aktualizacji konta {2} poprzez wykonanie następujących działań: {3}. Kliknij poniższy link, aby rozpocząć ten proces.\n\n{0}\n\nTen link wygaśnie w ciągu {4}.\n\nJeśli nie masz pewności, że administrator tego zażądał, po prostu zignoruj tę wiadomość i nic się nie zmieni. executeActionsBodyHtml=

Administrator właśnie zażądał aktualizacji konta {2} poprzez wykonanie następujących działań: {3}. Kliknij ten link, aby rozpocząć proces.

Link ten wygaśnie w ciągu {4}.

Jeśli nie masz pewności, że administrator tego zażądał, po prostu zignoruj tę wiadomość i nic się nie zmieni.

eventLoginErrorSubject=Błąd logowania eventLoginErrorBody=Nieudana próba logowania została wykryta na Twoim koncie {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem. eventLoginErrorBodyHtml=

Nieudana próba logowania została wykryta na Twoim koncie {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem.

eventRemoveTotpSubject=Usuń hasło jednorazowe (OTP) eventRemoveTotpBody=Hasło jednorazowe (OTP) zostało usunięte z Twojego konta w {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem. eventRemoveTotpBodyHtml=

Hasło jednorazowe (OTP) zostało usunięte z Twojego konta w {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem.

eventUpdatePasswordSubject=Aktualizuj hasło eventUpdatePasswordBody=Twoje hasło zostało zmienione {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem. eventUpdatePasswordBodyHtml=

Twoje hasło zostało zmienione {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem.

eventUpdateTotpSubject=Aktualizuj hasło jednorazowe (OTP) eventUpdateTotpBody=Hasło jednorazowe (OTP) zostało zaktualizowane na Twoim koncie {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem. eventUpdateTotpBodyHtml=

Hasło jednorazowe (OTP) zostało zaktualizowane na Twoim koncie {0} z {1}. Jeśli to nie Ty, skontaktuj się z administratorem.

requiredAction.CONFIGURE_TOTP=Konfiguracja hasła jednorazowego (OTP) requiredAction.terms_and_conditions=Regulamin requiredAction.UPDATE_PASSWORD=Aktualizacja hasła requiredAction.UPDATE_PROFILE=Aktualizacja profilu requiredAction.VERIFY_EMAIL=Weryfikacja adresu e-mail # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=sekund linkExpirationFormatter.timePeriodUnit.seconds.1=sekunda linkExpirationFormatter.timePeriodUnit.seconds.2=sekundy linkExpirationFormatter.timePeriodUnit.seconds.3=sekundy linkExpirationFormatter.timePeriodUnit.seconds.4=sekundy linkExpirationFormatter.timePeriodUnit.minutes=minut linkExpirationFormatter.timePeriodUnit.minutes.1=minuta linkExpirationFormatter.timePeriodUnit.minutes.2=minuty linkExpirationFormatter.timePeriodUnit.minutes.3=minuty linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=godzin linkExpirationFormatter.timePeriodUnit.hours.1=godzina linkExpirationFormatter.timePeriodUnit.hours.2=godziny linkExpirationFormatter.timePeriodUnit.hours.3=godziny linkExpirationFormatter.timePeriodUnit.hours.4=godziny linkExpirationFormatter.timePeriodUnit.days=dni linkExpirationFormatter.timePeriodUnit.days.1=dzień emailVerificationBodyCode=Potwierdź swój adres e-mail wprowadzając następujący kod.\n\n{0}\n\n. emailVerificationBodyCodeHtml=

Potwierdź swój adres e-mail, wprowadzając następujący kod.

{0}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_pt_BR.properties ================================================ emailVerificationSubject=Verifica\u00E7\u00E3o de e-mail emailVerificationBody=Algu\u00E9m criou uma conta {2} com este endere\u00E7o de e-mail. Se foi voc\u00EA, clique no link abaixo para verificar o seu endere\u00E7o de email\n\n{0}\n\nEste link ir\u00E1 expirar dentro de {3}.\n\nSe n\u00E3o foi voc\u00EA que criou esta conta, basta ignorar esta mensagem. emailVerificationBodyHtml=

Algu\u00E9m criou uma conta {2} com este endere\u00E7o de e-mail. Se foi voc\u00EA, clique no link abaixo para verificar o seu endere\u00E7o de email

{0}

Este link ir\u00E1 expirar dentro de {3}.

Se n\u00E3o foi voc\u00EA que criou esta conta, basta ignorar esta mensagem.

emailTestSubject=[KEYCLOAK] - SMTP mensagem de teste emailTestBody=Esta \u00E9 uma mensagem de teste emailTestBodyHtml=

Esta \u00E9 uma mensagem de teste

identityProviderLinkSubject=Vincular {0} identityProviderLinkBody=Algu\u00E9m quer vincular sua conta "{1}" com a conta "{0}" do usu\u00E1rio {2} . Se foi voc\u00EA, clique no link abaixo para vincular as contas.\n\n{3}\n\nEste link ir\u00E1 expirar em {5}.\n\nSe voc\u00EA n\u00E3o quer vincular a conta, apenas ignore esta mensagem. Se voc\u00EA vincular as contas, voc\u00EA ser\u00E1 capaz de logar em {1} atr\u00E1v\u00E9s de {0}. identityProviderLinkBodyHtml=

Algu\u00E9m quer vincular sua conta {1} com a conta {0} do usu\u00E1rio {2} . Se foi voc\u00EA, clique no link abaixo para vincular as contas.

{3}

Este link ir\u00E1 expirar em {5}.

Se voc\u00EA n\u00E3o quer vincular a conta, apenas ignore esta mensagem. Se voc\u00EA vincular as contas, voc\u00EA ser\u00E1 capaz de logar em {1} atr\u00E1v\u00E9s de {0}.

passwordResetSubject=Redefini\u00E7\u00E3o de senha passwordResetBody=Algu\u00E9m solicitou uma altera\u00E7\u00E3o de senha da sua conta {2}. Se foi voc\u00EA, clique no link abaixo para redefini-la.\n\n{0}\n\nEste link e c\u00F3digo expiram em {3}.\n\nSe voc\u00EA n\u00E3o deseja redefinir sua senha, apenas ignore esta mensagem e nada ser\u00E1 alterado. passwordResetBodyHtml=

Algu\u00E9m solicitou uma altera\u00E7\u00E3o de senha da sua conta {2}. Se foi voc\u00EA, clique no link abaixo para redefini-la.

Link para redefinir a senha

Este link ir\u00E1 expirar em {3}.

Se voc\u00EA n\u00E3o deseja redefinir sua senha, apenas ignore esta mensagem e nada ser\u00E1 alterado.

executeActionsSubject=Atualiza\u00E7\u00E3o de conta executeActionsBody=O administrador solicitou que voc\u00EA atualize sua conta {2} executando a(s) seguinte(s) a\u00E7\u00E3o(\u00F5es): {3}. Clique no link abaixo para iniciar o processo.\n\n{0}\n\nEste link ir\u00E1 expirar em {4}.\n\nSe voc\u00EA n\u00E3o tem conhecimento de que o administrador solicitou isso, basta ignorar esta mensagem e nada ser\u00E1 alterado. executeActionsBodyHtml=

O administrador solicitou que voc\u00EA atualize sua conta {2} executando a(s) seguinte(s) a\u00E7\u00E3o(\u00F5es): {3}. Clique no link abaixo para iniciar o processo.

Link to account update

Este link ir\u00E1 expirar em {4}.

Se voc\u00EA n\u00E3o tem conhecimento de que o administrador solicitou isso, basta ignorar esta mensagem e nada ser\u00E1 alterado.

eventLoginErrorSubject=Erro de login eventLoginErrorBody=Uma tentativa de login mal sucedida para a sua conta foi detectada em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador. eventLoginErrorBodyHtml=

Uma tentativa de login mal sucedida para a sua conta foi detectada em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador.

eventRemoveTotpSubject=Remover OTP eventRemoveTotpBody=OTP foi removido da sua conta em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador. eventRemoveTotpBodyHtml=

OTP foi removido da sua conta em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador.

eventUpdatePasswordSubject=Atualiza\u00E7\u00E3o de senha eventUpdatePasswordBody=Sua senha foi alterada em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador. eventUpdatePasswordBodyHtml=

Sua senha foi alterada em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador.

eventUpdateTotpSubject=Atualiza\u00E7\u00E3o OTP eventUpdateTotpBody=OTP foi atualizado para a sua conta em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador. eventUpdateTotpBodyHtml=

OTP foi atualizado para a sua conta em {0} de {1}. Se n\u00E3o foi voc\u00EA, por favor, entre em contato com um administrador.

requiredAction.CONFIGURE_TOTP=Configurar OTP requiredAction.terms_and_conditions=Termos e Condi\u00E7\u00F5es requiredAction.UPDATE_PASSWORD=Atualizar Senha requiredAction.UPDATE_PROFILE=Atualizar Perfil requiredAction.VERIFY_EMAIL=Verificar E-mail # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=segundos linkExpirationFormatter.timePeriodUnit.seconds.1=segundo linkExpirationFormatter.timePeriodUnit.minutes=minutos linkExpirationFormatter.timePeriodUnit.minutes.1=minuto #for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: #linkExpirationFormatter.timePeriodUnit.minutes.2=minuty #linkExpirationFormatter.timePeriodUnit.minutes.3=minuty #linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=horas linkExpirationFormatter.timePeriodUnit.hours.1=hora linkExpirationFormatter.timePeriodUnit.days=dias linkExpirationFormatter.timePeriodUnit.days.1=dia emailVerificationBodyCode=Verifique seu endere\u00E7o de e-mail digitando o seguinte c\u00F3digo.\n\n{0}\n\n. emailVerificationBodyCodeHtml=

Verifique seu endere\u00E7o de e-mail digitando o seguinte c\u00F3digo.

{0}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_ru.properties ================================================ # encoding: utf-8 emailVerificationSubject=Подтверждение E-mail emailVerificationBody=Кто-то создал учетную запись {2} с этим E-mail. Если это были Вы, нажмите на следующую ссылку для подтверждения вашего email\n\n{0}\n\nЭта ссылка устареет через {1} минут.\n\nЕсли Вы не создавали учетную запись, просто проигнорируйте это письмо. emailVerificationBodyHtml=

Кто-то создал учетную запись {2} с этим E-mail. Если это были Вы, нажмите по ссылке для подтверждения вашего E-mail

{0}

Эта ссылка устареет через {1} минут.

Если Вы не создавали учетную запись, просто проигнорируйте это письмо.

identityProviderLinkSubject=Ссылка {0} identityProviderLinkBody=Кто-то хочет связать вашу учетную запись "{1}" с "{0}" учетной записью пользователя {2} . Если это были Вы, нажмите по следующей ссылке, чтобы связать учетные записи\n\n{3}\n\nЭта ссылка устареет через {4} минут.\n\nЕсли это не хотите объединять учетные записи, просто проигнориуйте это письмо. После объединения учетных записей Вы можете войти в {1} через {0}. identityProviderLinkBodyHtml=

Кто-то хочет связать вашу учетную запись {1} с {0} учетной записью пользователя {2} . Если это были Вы, нажмите по следующей ссылке, чтобы связать учетные записи

{3}

Эта ссылка устареет через {4} минут.

Если это не хотите объединять учетные записи, просто проигнориуйте это письмо. После объединения учетных записей Вы можете войти в {1} через {0}.

passwordResetSubject=Сброс пароля passwordResetBody=Кто-то только что запросил изменение пароля от Вашей учетной записи {2}. Если это были Вы, нажмите на следующую ссылку, чтобы сбросить его.\n\n{0}\n\nЭта ссылка устареет через {1} минут.\n\nЕсли Вы не хотите сбрасывать пароль, просто проигнорируйте это письмо. passwordResetBodyHtml=

Кто-то только что запросил изменение пароля от Вашей учетной записи {2}. Если это были Вы, нажмите на следующую ссылку, чтобы сбросить его.

{0}

Эта ссылка устареет через {1} минут.

Если Вы не хотите сбрасывать пароль, просто проигнорируйте это письмо и ничего не изменится.

executeActionsSubject=Обновление Вашей учетной записи executeActionsBody=Администратор просит Вас обновить данные Вашей учетной записи {2}. Нажмите по следующей ссылке чтобы начать этот процесс.\n\n{0}\n\nЭта ссылка устареет через {1} минут.\n\nЕсли у вас есть подозрения, что администратор не мог сделать такой запрос, просто проигнорируйте это письмо. executeActionsBodyHtml=

Администратор просит Вас обновить данные Вашей учетной записи {2}. Нажмите по следующей ссылке чтобы начать этот процесс.

{0}

Эта ссылка устареет через {1} минут.

Если у вас есть подозрения, что администратор не мог сделать такой запрос, просто проигнорируйте это письмо.

eventLoginErrorSubject=Ошибка входа eventLoginErrorBody=Была зафиксирована неудачная попытка входа в Вашу учетную запись {0} с {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором. eventLoginErrorBodyHtml=

Была зафиксирована неудачная попытка входа в Вашу учетную запись {0} с {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором.

eventRemoveTotpSubject=Удалить OTP eventRemoveTotpBody=OTP был удален из вашей учетной записи {0} c {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором. eventRemoveTotpBodyHtml=

OTP был удален из вашей учетной записи {0} c {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором.

eventUpdatePasswordSubject=Обновление пароля eventUpdatePasswordBody=Ваш пароль был изменен в {0} с {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором. eventUpdatePasswordBodyHtml=

Ваш пароль был изменен в {0} с {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором.

eventUpdateTotpSubject=Обновление OTP eventUpdateTotpBody=OTP был обновлен в вашей учетной записи {0} с {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором. eventUpdateTotpBodyHtml=

OTP был обновлен в вашей учетной записи {0} с {1}. Если это были не Вы, пожалуйста, свяжитесь с администратором.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_sk.properties ================================================ # encoding: utf-8 emailVerificationSubject=Overenie e-mailu emailVerificationBody=Niekto vytvoril účet {2} s touto e-mailovou adresou. Ak ste to vy, kliknite na nižšie uvedený odkaz a overte svoju e-mailovú adresu \n\n{0}\n\nTento odkaz uplynie do {1} minút.\n\nAk ste tento účet nevytvorili, ignorujte túto správu. emailVerificationBodyHtml=

Niekto vytvoril účet {2} s touto e-mailovou adresou. Ak ste to vy, kliknite na nižšie uvedený odkaz na overenie svojej e-mailovej adresy.

Odkaz na overenie e-mailovej adresy

Platnosť odkazu vyprší za {1} minút.

Ak ste tento účet nevytvorili, ignorujte túto správu.

emailTestSubject=[KEYCLOAK] - Testovacia správa SMTP emailTestBody=Toto je skúšobná správa emailTestBodyHtml=

Toto je skúšobná správa

identityProviderLinkSubject=Odkaz {0} identityProviderLinkBody=Niekto chce prepojiť váš účet "{1}" s účtom {0}"používateľa {2}. Ak ste to vy, kliknutím na odkaz nižšie prepojte účty. \n\n{3}\n\nTento odkaz uplynie do {4} minút.\n\nAk nechcete prepojiť účet, jednoducho ignorujte túto správu , Ak prepájate účty, budete sa môcť prihlásiť do {1} až {0}. identityProviderLinkBodyHtml=

Niekto chce prepojiť váš účet {1} s účtom {0} používateľa {2}. Ak ste to vy, kliknutím na odkaz nižšie prepojte účty

Odkaz na potvrdenie prepojenia účtu

Platnosť tohto odkazu vyprší v rámci {4} minút.

Ak nechcete prepojiť účet, ignorujte túto správu. Ak prepojujete účty, budete sa môcť prihlásiť do {1} až {0}.

passwordResetSubject=Obnovenie hesla passwordResetBody=Niekto požiadal, aby ste zmenili svoje poverenia účtu {2}. Ak ste to vy, kliknite na odkaz uvedený nižšie, aby ste ich vynulovali.\n\n{0}\n\nTento odkaz a kód uplynie do {1} minút.\n\nAk nechcete obnoviť svoje poverenia , ignorujte túto správu a nič sa nezmení. passwordResetBodyHtml=

Niekto požiadal, aby ste zmenili svoje poverenia účtu {2}. Ak ste to vy, kliknutím na odkaz nižšie ich resetujte.

Odkaz na obnovenie poverení

Platnosť tohto odkazu vyprší v priebehu {1} minút.

Ak nechcete obnoviť svoje poverenia, ignorujte túto správu a nič sa nezmení.

executeActionsSubject=Aktualizujte svoj účet executeActionsBody=Váš administrátor práve požiadal o aktualizáciu vášho účtu {2} vykonaním nasledujúcich akcií: {3}. Kliknutím na odkaz uvedený nižšie spustíte tento proces.\n\n{0}\n\nTento odkaz vyprší za {1} minúty.\n\nAk si nie ste vedomý, že váš adminstrátor o toto požiadal, ignorujte túto správu a nič bude zmenené. executeActionsBodyHtml=

Váš správca práve požiadal o aktualizáciu vášho účtu {2} vykonaním nasledujúcich akcií: {3}. Kliknutím na odkaz uvedený nižšie spustíte tento proces.

Odkaz na aktualizáciu účtu

Platnosť tohto odkazu uplynie do {1} minúty.

Ak si nie ste vedomí, že váš adminstrátor o toto požiadal, ignorujte túto správu a nič sa nezmení.

eventLoginErrorSubject=Chyba prihlásenia eventLoginErrorBody=Bol zistený neúspešný pokus o prihlásenie do vášho účtu v {0} z {1}. Ak ste to neboli vy, obráťte sa na administrátora. eventLoginErrorBodyHtml=

Bol zistený neúspešný pokus o prihlásenie vášho účtu na {0} z {1}. Ak ste to neboli vy, kontaktujte administrátora.

eventRemoveTotpSubject=Odstrániť TOTP eventRemoveTotpBody=OTP bol odstránený z vášho účtu dňa {0} z {1}. Ak ste to neboli vy, obráťte sa na administrátora. eventRemoveTotpBodyHtml=

OTP bol odstránený z vášho účtu dňa {0} z {1}. Ak ste to neboli vy, kontaktujte administrátora.

eventUpdatePasswordSubject=Aktualizovať heslo eventUpdatePasswordBody=Vaše heslo bolo zmenené na {0} z {1}. Ak ste to neboli vy, obráťte sa na administrátora. eventUpdatePasswordBodyHtml=

Vaše heslo bolo zmenené na {0} z {1}. Ak ste to neboli vy, kontaktujte administrátora.

eventUpdateTotpSubject=Aktualizácia TOTP eventUpdateTotpBody=TOTP bol aktualizovaný pre váš účet na {0} z {1}. Ak ste to neboli vy, obráťte sa na administrátora. eventUpdateTotpBodyHtml=

TOTP bol aktualizovaný pre váš účet dňa {0} z {1}. Ak ste to neboli vy, kontaktujte administrátora.

requiredAction.CONFIGURE_TOTP=Konfigurácia OTP requiredAction.terms_and_conditions=Zmluvné podmienky requiredAction.UPDATE_PASSWORD=Aktualizovať heslo requiredAction.UPDATE_PROFILE=Aktualizovať profil requiredAction.VERIFY_EMAIL=Overiť e-mail # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=sekundy linkExpirationFormatter.timePeriodUnit.seconds.1=sekunda linkExpirationFormatter.timePeriodUnit.minutes=minuty linkExpirationFormatter.timePeriodUnit.minutes.1=minúta #for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: #linkExpirationFormatter.timePeriodUnit.minutes.2=minuty #linkExpirationFormatter.timePeriodUnit.minutes.3=minuty #linkExpirationFormatter.timePeriodUnit.minutes.4=minutu linkExpirationFormatter.timePeriodUnit.hours=hodiny linkExpirationFormatter.timePeriodUnit.hours.1=hodina linkExpirationFormatter.timePeriodUnit.days=dni linkExpirationFormatter.timePeriodUnit.days.1=deň ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_sv.properties ================================================ # encoding: utf-8 emailVerificationSubject=Verifiera e-post emailVerificationBody=Någon har skapat ett {2} konto med den här e-postadressen. Om det var du, klicka då på länken nedan för att verifiera din e-postadress\n\n{0}\n\nDen här länken kommer att upphöra inom {1} minuter.\n\nOm det inte var du som skapade det här kontot, ignorera i så fall det här meddelandet. emailVerificationBodyHtml=

Någon har skapat ett {2} konto med den här e-postadressen. Om det var du, klicka då på länken nedan för att verifiera din e-postadress

{0}

Den här länken kommer att upphöra inom {1} minuter.

Om det inte var du som skapade det här kontot, ignorera i så fall det här meddelandet.

identityProviderLinkSubject=Länk {0} identityProviderLinkBody=Någon vill länka ditt "{1}" konto med "{0}" kontot tillhörande användaren {2} . Om det var du, klicka då på länken nedan för att länka kontona\n\n{3}\n\nDen här länken kommer att upphöra inom {4} minuter.\n\nOm du inte vill länka kontot, ignorera i så fall det här meddelandet. Om du länkar kontona, så kan du logga in till {1} genom {0}. identityProviderLinkBodyHtml=

Någon vill länka ditt {1} konto med {0} kontot tillhörande användaren {2} . Om det var du, klicka då på länken nedan för att länka kontona

{3}

Den här länken kommer att upphöra inom {4} minuter.

Om du inte vill länka kontot, ignorera i så fall det här meddelandet. Om du länkar kontona, så kan du logga in till {1} genom {0}.

passwordResetSubject=Återställ lösenord passwordResetBody=Någon har precis bett om att ändra användaruppgifter för ditt konto {2}. Om det var du, klicka då på länken nedan för att återställa dem.\n\n{0}\n\nDen här länken och koden kommer att upphöra inom {1} minuter.\n\nOm du inte vill återställa dina kontouppgifter, ignorera i så fall det här meddelandet så kommer inget att ändras. passwordResetBodyHtml=

Någon har precis bett om att ändra användaruppgifter för ditt konto {2}. Om det var du, klicka då på länken nedan för att återställa dem.

{0}

Den här länken och koden kommer att upphöra inom {1} minuter.

Om du inte vill återställa dina kontouppgifter, ignorera i så fall det här meddelandet så kommer inget att ändras.

executeActionsSubject=Uppdatera ditt konto executeActionsBody=Din administratör har precis bett om att du skall uppdatera ditt {2} konto. Klicka på länken för att påbörja processen.\n\n{0}\n\nDen här länken kommer att upphöra inom {1} minuter.\n\nOm du är omedveten om att din administratör har bett om detta, ignorera i så fall det här meddelandet så kommer inget att ändras. executeActionsBodyHtml=

Din administratör har precis bett om att du skall uppdatera ditt {2} konto. Klicka på länken för att påbörja processen.

{0}

Den här länken kommer att upphöra inom {1} minuter.

Om du är omedveten om att din administratör har bett om detta, ignorera i så fall det här meddelandet så kommer inget att ändras.

eventLoginErrorSubject=Inloggningsfel eventLoginErrorBody=Ett misslyckat inloggningsförsök har upptäckts på ditt konto på {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör. eventLoginErrorBodyHtml=

Ett misslyckat inloggningsförsök har upptäckts på ditt konto den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör.

eventRemoveTotpSubject=Ta bort OTP eventRemoveTotpBody=OTP togs bort från ditt konto den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör. eventRemoveTotpBodyHtml=

OTP togs bort från ditt konto den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör.

eventUpdatePasswordSubject=Uppdatera lösenord eventUpdatePasswordBody=Ditt lösenord ändrades den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör. eventUpdatePasswordBodyHtml=

Ditt lösenord ändrades den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör.

eventUpdateTotpSubject=Uppdatera OTP eventUpdateTotpBody=OTP uppdaterades för ditt konto den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör. eventUpdateTotpBodyHtml=

OTP uppdaterades för ditt konto den {0} från {1}. Om det inte var du, vänligen kontakta i så fall en administratör.

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_tr.properties ================================================ emailVerificationSubject=E-postay\u0131 do\u011Frula emailVerificationBody=Birisi bu e-posta adresiyle bir {2} hesap olu\u015Fturdu. Bu sizseniz, e-posta adresinizi do\u011Frulamak i\u00E7in a\u015Fa\u011F\u0131daki ba\u011Flant\u0131ya t\u0131klay\u0131n\n\n{0}\n\nBu ba\u011Flant\u0131 {3} i\u00E7inde sona erecek.\n\nBu hesab\u0131 olu\u015Fturmad\u0131ysan\u0131z, sadece bu iletiyi yoksay\u0131n\u0131z. emailVerificationBodyHtml=

Birisi bu e-posta adresiyle bir {2} hesap olu\u015Fturdu. Bu sizseniz, e-posta adresinizi do\u011Frulamak i\u00E7in a\u015Fa\u011F\u0131daki ba\u011Flant\u0131y\u0131 t\u0131klay\u0131n.

E-posta adresi do\u011Frulama adresi

Bu ba\u011Flant\u0131n\u0131n s\u00FCresi {3} i\u00E7erisinde sona erecek.

Bu hesab\u0131 siz olu\u015Fturmad\u0131ysan\u0131z, bu mesaj\u0131 g\u00F6z ard\u0131 edin.

emailTestSubject=[KEYCLOAK] - SMTP test mesaj\u0131 emailTestBody=Bu bir test mesaj\u0131 emailTestBodyHtml=

Bu bir test mesaj\u0131

identityProviderLinkSubject=Link {0} identityProviderLinkBody=Birisi "{1}" hesab\u0131n\u0131z\u0131 "{0}" kullan\u0131c\u0131 hesab\u0131 {2} ile ba\u011Flamak istiyor. Bu sizseniz, hesaplar\u0131 ba\u011Flamak i\u00E7in a\u015Fa\u011F\u0131daki ba\u011Flant\u0131y\u0131 t\u0131klay\u0131n:\n\n{3}\n\nBu ba\u011Flant\u0131 {5} i\u00E7inde sona erecek.\n\nHesab\u0131n\u0131z\u0131 ba\u011Flamak istemiyorsan\u0131z bu mesaj\u0131 g\u00F6z ard\u0131 edin. Hesaplar\u0131 ba\u011Flarsan\u0131z, {1} ile {0} aras\u0131nda oturum a\u00E7abilirsiniz. identityProviderLinkBodyHtml=

Birisi {1} hesab\u0131n\u0131z\u0131 {2} kullan\u0131c\u0131s\u0131 {0} hesab\u0131na ba\u011Flamak istiyor. Bu sizseniz, ba\u011Flant\u0131 vermek i\u00E7in a\u015Fa\u011F\u0131daki ba\u011Flant\u0131y\u0131 t\u0131klay\u0131n

Hesap ba\u011Flant\u0131s\u0131n\u0131 onaylamak i\u00E7in ba\u011Flant\u0131

Bu ba\u011Flant\u0131n\u0131n s\u00FCresi {5} i\u00E7erisinde sona erecek.

Hesab\u0131 ba\u011Flamak istemiyorsan\u0131z, bu mesaj\u0131 g\u00F6z ard\u0131 edin. Hesaplar\u0131 ba\u011Flarsan\u0131z, {1} ile {0} aras\u0131nda oturum a\u00E7abilirsiniz.

passwordResetSubject=\u015Eifreyi s\u0131f\u0131rla passwordResetBody=Birisi, {2} hesab\u0131n\u0131z\u0131n kimlik bilgilerini de\u011Fi\u015Ftirmeyi istedi.Bu sizseniz, s\u0131f\u0131rlamak i\u00E7in a\u015Fa\u011F\u0131daki ba\u011Flant\u0131y\u0131 t\u0131klay\u0131n.\n\n{0}\n\nBu ba\u011Flant\u0131 ve kod {3} i\u00E7inde sona erecek.\n\nFakat bilgilerinizi s\u0131f\u0131rlamak istemiyorsan\u0131z, Sadece bu mesaj\u0131 g\u00F6rmezden gelin ve hi\u00E7bir \u015Fey de\u011Fi\u015Fmeyecek. passwordResetBodyHtml=

Birisi, {2} hesab\u0131n\u0131z\u0131n kimlik bilgilerini de\u011Fi\u015Ftirmeyi istedi. Sizseniz, s\u0131f\u0131rlamak i\u00E7in a\u015Fa\u011F\u0131daki linke t\u0131klay\u0131n\u0131z.

Kimlik bilgilerini s\u0131f\u0131rlamak i\u00E7in ba\u011Flant\u0131

Bu ba\u011Flant\u0131n\u0131n s\u00FCresi {3} i\u00E7erisinde sona erecek.

Kimlik bilgilerinizi s\u0131f\u0131rlamak istemiyorsan\u0131z, bu mesaj\u0131 g\u00F6z ard\u0131 edin.

executeActionsSubject=Hesab\u0131n\u0131z\u0131 G\u00FCncelleyin executeActionsBody=Y\u00F6neticiniz a\u015Fa\u011F\u0131daki i\u015Flemleri ger\u00E7ekle\u015Ftirerek {2} hesab\u0131n\u0131z\u0131 g\u00FCncelledi: {3}. Bu i\u015Flemi ba\u015Flatmak i\u00E7in a\u015Fa\u011F\u0131daki linke t\u0131klay\u0131n.\n\n{0}\n\nBu ba\u011Flant\u0131n\u0131n s\u00FCresi {4} i\u00E7erisinde sona erecek.\n\nY\u00F6neticinizin bunu istedi\u011Finden habersizseniz, bu mesaj\u0131 g\u00F6z ard\u0131 edin ve hi\u00E7bir \u015Fey de\u011Fi\u015Fmez. executeActionsBodyHtml=

Y\u00F6neticiniz a\u015Fa\u011F\u0131daki i\u015Flemleri ger\u00E7ekle\u015Ftirerek {2} hesab\u0131n\u0131z\u0131 g\u00FCncelledi: {3}. Bu i\u015Flemi ba\u015Flatmak i\u00E7in a\u015Fa\u011F\u0131daki linke t\u0131klay\u0131n.

Hesap g\u00FCncelleme ba\u011Flant\u0131s\u0131

Bu ba\u011Flant\u0131n\u0131n s\u00FCresi {4} i\u00E7erisinde sona erecek.

Y\u00F6neticinizin bunu istedi\u011Finden habersizseniz, bu mesaj\u0131 g\u00F6z ard\u0131 edin ve hi\u00E7bir \u015Fey de\u011Fi\u015Fmez.

eventLoginErrorSubject=Giri\u015F hatas\u0131 eventLoginErrorBody={1} ''den {0} tarihinde ba\u015Far\u0131s\u0131z bir giri\u015F denemesi yap\u0131ld\u0131. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in. eventLoginErrorBodyHtml=

{1} ''den {0} tarihinde ba\u015Far\u0131s\u0131z bir giri\u015F denemesi yap\u0131ld\u0131. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in.

eventRemoveTotpSubject=OTP''yi kald\u0131r eventRemoveTotpBody=OTP, {0} tarihinden {1} tarihinde hesab\u0131n\u0131zdan kald\u0131r\u0131ld\u0131. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in. eventRemoveTotpBodyHtml=

OTP, {0} tarihinden {1} tarihinde hesab\u0131n\u0131zdan kald\u0131r\u0131ld\u0131. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in.

eventUpdatePasswordSubject=\u015Eifreyi g\u00FCncelle eventUpdatePasswordBody=\u015Eifreniz {0} tarihinde {0} tarihinde de\u011Fi\u015Ftirildi. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in. eventUpdatePasswordBodyHtml=

\u015Eifreniz {0} tarihinde {0} tarihinde de\u011Fi\u015Ftirildi. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in.

eventUpdateTotpSubject=OTP''yi G\u00FCncelle eventUpdateTotpBody=OTP, {0} tarihinden {1} tarihinde hesab\u0131n\u0131z i\u00E7in g\u00FCncellendi. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in. eventUpdateTotpBodyHtml=

OTP, {0} tarihinden {1} tarihinde hesab\u0131n\u0131z i\u00E7in g\u00FCncellendi. Bu siz de\u011Filseniz, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in.

requiredAction.CONFIGURE_TOTP=OTP''yi yap\u0131land\u0131r requiredAction.terms_and_conditions=\u015Eartlar ve Ko\u015Fullar requiredAction.UPDATE_PASSWORD=\u015Eifre G\u00FCncelleme requiredAction.UPDATE_PROFILE=Profilleri g\u00FCncelle requiredAction.VERIFY_EMAIL=E-mail do\u011Frula # units for link expiration timeout formatting linkExpirationFormatter.timePeriodUnit.seconds=saniye linkExpirationFormatter.timePeriodUnit.seconds.1=saniye linkExpirationFormatter.timePeriodUnit.minutes=dakika linkExpirationFormatter.timePeriodUnit.minutes.1=dakika #for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: #linkExpirationFormatter.timePeriodUnit.minutes.2=minuty #linkExpirationFormatter.timePeriodUnit.minutes.3=minuty #linkExpirationFormatter.timePeriodUnit.minutes.4=minuty linkExpirationFormatter.timePeriodUnit.hours=saat linkExpirationFormatter.timePeriodUnit.hours.1=saat linkExpirationFormatter.timePeriodUnit.days=g\u00FCn linkExpirationFormatter.timePeriodUnit.days.1=g\u00FCn emailVerificationBodyCode=L\u00FCtfen a\u015Fa\u011F\u0131daki kodu girerek e-posta adresinizi do\u011Frulay\u0131n.\n\n{0}\n\n. emailVerificationBodyCodeHtml=

L\u00FCtfen a\u015Fa\u011F\u0131daki kodu girerek e-posta adresinizi do\u011Frulay\u0131n.

{0}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/messages/messages_zh_CN.properties ================================================ # encoding: utf-8 emailVerificationSubject=验证电子邮件 emailVerificationBody=用户使用当前电子邮件注册 {2} 账户。如是本人操作,请点击以下链接完成邮箱验证\n\n{0}\n\n这个链接会在 {1} 分钟后过期.\n\n如果您没有注册用户,请忽略这条消息。 emailVerificationBodyHtml=

用户使用当前电子邮件注册 {2} 账户。如是本人操作,请点击以下链接完成邮箱验证

{0}

这个链接会在 {1} 分钟后过期.

如果您没有注册用户,请忽略这条消息。

identityProviderLinkSubject=链接 {0} identityProviderLinkBody=有用户想要将账户 "{1}" 与用户{2}的账户"{0}" 做链接 . 如果是本人操作,请点击以下链接完成链接请求\n\n{3}\n\n这个链接会在 {4} 分钟后过期.\n\n如非本人操作,请忽略这条消息。如果您链接账户,您将可以通过{0}登录账户 {1}. identityProviderLinkBodyHtml=

有用户想要将账户 {1} 与用户{2} 的账户{0} 做链接 . 如果是本人操作,请点击以下链接完成链接请求

{3}

这个链接会在 {4} 分钟后过期。

如非本人操作,请忽略这条消息。如果您链接账户,您将可以通过{0}登录账户 {1}.

passwordResetSubject=重置密码 passwordResetBody=有用户要求修改账户 {2} 的密码.如是本人操作,请点击下面链接进行重置.\n\n{0}\n\n这个链接会在 {1} 分钟后过期.\n\n如果您不想重置您的密码,请忽略这条消息,密码不会改变。 passwordResetBodyHtml=

有用户要求修改账户 {2} 的密码如是本人操作,请点击下面链接进行重置.

{0}

这个链接会在 {1} 分钟后过期

如果您不想重置您的密码,请忽略这条消息,密码不会改变。

executeActionsSubject=更新您的账户 executeActionsBody=您的管理员要求您更新账户 {2}. 点击以下链接开始更新\n\n{0}\n\n这个链接会在 {1} 分钟后失效.\n\n如果您不知道管理员要求更新账户信息,请忽略这条消息。账户信息不会修改。 executeActionsBodyHtml=

您的管理员要求您更新账户{2}. 点击以下链接开始更新.

{0}

这个链接会在 {1} 分钟后失效.

如果您不知道管理员要求更新账户信息,请忽略这条消息。账户信息不会修改。

eventLoginErrorSubject=登录错误 eventLoginErrorBody=在{0} 由 {1}使用您的账户登录失败. 如果这不是您本人操作,请联系管理员. eventLoginErrorBodyHtml=

在{0} 由 {1}使用您的账户登录失败. 如果这不是您本人操作,请联系管理员.

eventRemoveTotpSubject=删除 OTP eventRemoveTotpBody=OTP在 {0} 由{1} 从您的账户中删除.如果这不是您本人操作,请联系管理员 eventRemoveTotpBodyHtml=

OTP在 {0} 由{1} 从您的账户中删除.如果这不是您本人操作,请联系管理员。

eventUpdatePasswordSubject=更新密码 eventUpdatePasswordBody=您的密码在{0} 由 {1}更改. 如非本人操作,请联系管理员 eventUpdatePasswordBodyHtml=

您的密码在{0} 由 {1}更改. 如非本人操作,请联系管理员

eventUpdateTotpSubject=更新 OTP eventUpdateTotpBody=您账户的OTP 配置在{0} 由 {1}更改. 如非本人操作,请联系管理员。 eventUpdateTotpBodyHtml=

您账户的OTP 配置在{0} 由 {1}更改. 如非本人操作,请联系管理员。

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/email-test.ftl ================================================ <#ftl output_format="plainText"> ${msg("emailTestBody", realmName)} ${testNewVariable} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/email-verification-with-code.ftl ================================================ <#ftl output_format="plainText"> ${msg("emailVerificationBodyCode",code)} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/email-verification.ftl ================================================ <#ftl output_format="plainText"> ${msg("emailVerificationBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/event-login_error.ftl ================================================ <#ftl output_format="plainText"> ${msg("eventLoginErrorBody",event.date,event.ipAddress)} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/event-remove_totp.ftl ================================================ <#ftl output_format="plainText"> ${msg("eventRemoveTotpBody",event.date, event.ipAddress)} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/event-update_password.ftl ================================================ <#ftl output_format="plainText"> ${msg("eventUpdatePasswordBody",event.date, event.ipAddress)} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/event-update_totp.ftl ================================================ <#ftl output_format="plainText"> ${msg("eventUpdateTotpBody",event.date, event.ipAddress)} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/executeActions.ftl ================================================ <#ftl output_format="plainText"> <#assign requiredActionsText><#if requiredActions??><#list requiredActions><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, <#else> ${msg("executeActionsBody",link, linkExpiration, realmName, requiredActionsText, linkExpirationFormatter(linkExpiration))} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/identity-provider-link.ftl ================================================ <#ftl output_format="plainText"> ${msg("identityProviderLinkBody", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration))} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/text/password-reset.ftl ================================================ <#ftl output_format="plainText"> ${msg("passwordResetBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/email/theme.properties ================================================ locales=ca,cs,de,en,es,fr,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/cli_splash.ftl ================================================ _ __ _ _ | |/ /___ _ _ ___| | ___ __ _| | __ | ' // _ \ | | |/ __| |/ _ \ / _` | |/ / | . \ __/ |_| | (__| | (_) | (_| | < |_|\_\___|\__, |\___|_|\___/ \__,_|_|\_\ |___/ ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/code.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> <#if code.success> ${msg("codeSuccessTitle")} <#else> ${msg("codeErrorTitle", code.error)} <#elseif section = "form">
<#if code.success>

${msg("copyCodeInstruction")}

<#else>

${code.error}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/error.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayMessage=false; section> <#if section = "header"> ${msg("errorTitle")} <#elseif section = "form">

${message.summary?no_esc}

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

${kcSanitize(msg("backToApplication"))?no_esc}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/info.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayMessage=false; section> <#if section = "header"> <#if messageHeader??> ${messageHeader} <#else> ${message.summary} <#elseif section = "form">

${message.summary}<#if requiredActions??><#list requiredActions>: <#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, <#else>

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

${kcSanitize(msg("backToApplication"))?no_esc}

<#elseif actionUri?has_content>

${kcSanitize(msg("proceedWithAction"))?no_esc}

<#elseif (client.baseUrl)?has_content>

${kcSanitize(msg("backToApplication"))?no_esc}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-config-totp-text.ftl ================================================ <#ftl output_format="plainText"> ${msg("loginTotpIntro")} ${msg("loginTotpStep1")} <#list totp.policy.supportedApplications as app> * ${app} ${msg("loginTotpManualStep2")} ${totp.totpSecretEncoded} ${msg("loginTotpManualStep3")} - ${msg("loginTotpType")}: ${msg("loginTotp." + totp.policy.type)} - ${msg("loginTotpAlgorithm")}: ${totp.policy.getAlgorithmKey()} - ${msg("loginTotpDigits")}: ${totp.policy.digits} <#if totp.policy.type = "totp"> - ${msg("loginTotpInterval")}: ${totp.policy.period} <#elseif totp.policy.type = "hotp"> - ${msg("loginTotpCounter")}: ${totp.policy.initialCounter} Enter in your one time password so we can verify you have installed it correctly. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-config-totp.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=true displayRequiredFields=true; section> <#if section = "header"> ${msg("loginTotpTitle")} <#elseif section = "form">
  1. ${msg("loginTotpStep1")}

      <#list totp.policy.supportedApplications as app>
    • ${app}
  2. <#if mode?? && mode = "manual">
  3. ${msg("loginTotpManualStep2")}

    ${totp.totpSecretEncoded}

    ${msg("loginTotpScanBarcode")}

  4. ${msg("loginTotpManualStep3")}

    • ${msg("loginTotpType")}: ${msg("loginTotp." + totp.policy.type)}
    • ${msg("loginTotpAlgorithm")}: ${totp.policy.getAlgorithmKey()}
    • ${msg("loginTotpDigits")}: ${totp.policy.digits}
    • <#if totp.policy.type = "totp">
    • ${msg("loginTotpInterval")}: ${totp.policy.period}
    • <#elseif totp.policy.type = "hotp">
    • ${msg("loginTotpCounter")}: ${totp.policy.initialCounter}

  5. <#else>
  6. ${msg("loginTotpStep2")}

    Figure: Barcode

    ${msg("loginTotpUnableToScan")}

  7. ${msg("loginTotpStep3")}

    ${msg("loginTotpStep3DeviceName")}

*
<#if mode??>
<#if totp.otpCredentials?size gte 1>*
<#if isAppInitiatedAction??> <#else>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-idp-link-confirm.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${msg("confirmLinkIdpTitle")} <#elseif section = "form">
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-idp-link-email.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if 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")}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-oauth-grant.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout bodyClass="oauth"; section> <#if section = "header"> <#if client.name?has_content> ${msg("oauthGrantTitle",advancedMsg(client.name))} <#else> ${msg("oauthGrantTitle",client.clientId)} <#elseif section = "form">

${msg("oauthGrantRequest")}

    <#if oauth.clientScopesRequested??> <#list oauth.clientScopesRequested as clientScope>
  • ${advancedMsg(clientScope.consentScreenText)}
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-otp.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section="header"> ${msg("doLogIn")} <#elseif section="form">
<#if otpLogin.userOtpCredentials?size gt 1>
<#list otpLogin.userOtpCredentials as otpCredential>

${otpCredential.userLabel}

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-page-expired.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${msg("pageExpiredTitle")} <#elseif section = "form">

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

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-password.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=false displayWide=false; section> <#if section = "header"> ${msg("doLogIn")} <#elseif section = "form">
<#if realm.resetPasswordAllowed> ${msg("doForgotPassword")}
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-reset-password.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=true; section> <#if section = "header"> ${msg("emailForgotTitle")} <#elseif section = "form">
<#if auth?has_content && auth.showUsername()> <#else>
<#elseif section = "info" > ${msg("emailInstruction")} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-update-password.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=true; section> <#if section = "header"> ${msg("updatePasswordTitle")} <#elseif section = "form">
<#if isAppInitiatedAction??> <#else>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-update-profile.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${msg("loginProfileTitle")} <#elseif section = "form">
<#if user.editUsernameAllowed>
<#if isAppInitiatedAction??> <#else>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-username.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=social.displayInfo displayWide=(realm.password && social.providers??); section> <#if section = "header"> ${msg("doLogIn")} <#elseif section = "form">
class="${properties.kcContentWrapperClass!}">
class="${properties.kcFormSocialAccountContentClass!} ${properties.kcFormSocialAccountClass!}"> <#if realm.password>
<#if usernameEditDisabled??> <#else>
<#if realm.rememberMe && !usernameEditDisabled??>
<#if realm.password && social.providers??>
<#elseif section = "info" > <#if realm.password && realm.registrationAllowed && !registrationDisabled??>
${msg("noAccount")} ${msg("doRegister")}
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-verify-email-code-text.ftl ================================================ <#ftl output_format="plainText"> ${msg("console-verify-email",email, code)} ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-verify-email.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${msg("emailVerifyTitle")} <#elseif section = "form">

${msg("emailVerifyInstruction1")}

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

================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login-x509-info.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${msg("doLogIn")} <#elseif section = "form">
<#if x509.formData.subjectDN??>
<#else>
<#if x509.formData.isUserEnabled??>
<#if x509.formData.isUserEnabled??>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/login.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=social.displayInfo displayWide=(realm.password && social.providers??); section> <#if section = "header"> ${msg("doLogIn")} <#elseif section = "form">
class="${properties.kcContentWrapperClass!}">
class="${properties.kcFormSocialAccountContentClass!} ${properties.kcFormSocialAccountClass!}"> <#if realm.password>
<#if usernameEditDisabled??> <#else>
<#if realm.rememberMe && !usernameEditDisabled??>
<#if realm.resetPasswordAllowed> ${msg("doForgotPassword")}
value="${auth.selectedCredential}"/>
<#if realm.password && social.providers??>
<#elseif section = "info" > <#if realm.password && realm.registrationAllowed && !registrationDisabled??>
${msg("noAccount")} ${msg("doRegister")}
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_ca.properties ================================================ doLogIn=Inicia sessi\u00F3 doRegister=Registra''t doCancel=Cancel\u00B7lar doSubmit=Envia doYes=S\u00ED doNo=No doContinue=Continua doAccept=Accepta doDecline=Rebutja doForgotPassword=Has oblidat la teva contrasenya? doClickHere=Fes clic aqu\u00ED doImpersonate=Personifica kerberosNotConfigured=Kerberos no configurat kerberosNotConfiguredTitle=Kerberos no configurat bypassKerberosDetail=O b\u00E9 no est\u00E0s identificat mitjan\u00E7ant Kerberos o el teu navegador no est\u00E0 configurat per identificar-se mitjan\u00E7ant Kerberos. Si us plau fes clic per identificar-te per un altre mitj\u00E0. kerberosNotSetUp=Kerberos no est\u00E0 configurat. No pots identificar-te. registerWithTitle=Registra''t amb {0} registerWithTitleHtml={0} loginTitle=Inicia sessi\u00F3 a {0} loginTitleHtml={0} impersonateTitle={0}\u00A0Personifica Usuari impersonateTitleHtml={0} Personifica Usuari realmChoice=Domini unknownUser=Usuari desconegut loginTotpTitle=Configura la teva aplicaci\u00F3 d''identificaci\u00F3 m\u00F2bil loginProfileTitle=Actualitza la informaci\u00F3 del teu compte loginTimeout=Has trigat massa a identificar-te. Inicia de nou la identificaci\u00F3. oauthGrantTitle=Concessi\u00F3 OAuth oauthGrantTitleHtml={0} errorTitle=Ho sentim... errorTitleHtml=Ho sentim... emailVerifyTitle=Verificaci\u00F3 de l''email emailForgotTitle=Has oblidat la teva contrasenya? updatePasswordTitle=Modificaci\u00F3 de contrasenya codeSuccessTitle=Codi d''\u00E8xit codeErrorTitle=Codi d''error: {0} termsTitle=Termes i Condicions termsTitleHtml=Termes i Condicions termsText=

Termes i condicions a definir

recaptchaFailed=Reconeixement de text inv\u00E0lid recaptchaNotConfigured=El reconeixement de text \u00E9s obligatori per\u00F2 no est\u00E0 configurat consentDenied=Consentiment rebutjat. noAccount=Usuari nou? username=Usuari usernameOrEmail=Usuari o email firstName=Nom givenName=Nom de pila fullName=Nom complet lastName=Cognoms familyName=Cognoms email=Email password=Contrasenya passwordConfirm=Confirma la contrasenya passwordNew=Nova contrasenya passwordNewConfirm=Confirma la nova contrasenya rememberMe=Seguir connectat authenticatorCode=Codi d''identificaci\u00F3 address=Adre\u00E7a street=Carrer locality=Ciutat o Municipi region=Estat, Prov\u00EDncia, o Regi\u00F3 postal_code=Codi Postal country=Pa\u00EDs emailVerified=Email verificat gssDelegationCredential=GSS Delegation Credential loginTotpStep1=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. loginTotpStep2=Obre l''aplicaci\u00F3 i escaneja el codi o introdueix la clau. loginTotpStep3=Introdueix el codi \u00FAnic que et mostra l''aplicaci\u00F3 d''autenticaci\u00F3 i fes clic a Envia per finalitzar la configuraci\u00F3 loginOtpOneTime=Codi d''un sol \u00FAs oauthGrantRequest=Vols permetre aquests privilegis d''acc\u00E9s? inResource=a emailVerifyInstruction1=T''hem enviat un email amb instruccions per verificar el teu email. emailVerifyInstruction2=No has rebut un codi de verificaci\u00F3 al teu email? emailVerifyInstruction3=per reenviar l''email. backToLogin=« Torna a la identificaci\u00F3 emailInstruction=Indica el teu usuari o email i t''enviarem instruccions indicant com generar una nova contrasenya. copyCodeInstruction=Si us plau, copia i enganxa aquest codi a la teva aplicaci\u00F3: personalInfo=Informaci\u00F3 personal: role_admin=Admin role_realm-admin=Administrador del domini role_create-realm=Crear domini role_create-client=Crear client 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=Gestionar 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 del domini client_broker=Broker invalidUserMessage=Usuari o contrasenya incorrectes. invalidEmailMessage=Email no v\u00E0lid accountDisabledMessage=El compte est\u00E0 desactivat, contacta amb l''administrador. accountTemporarilyDisabledMessage=El compte est\u00E0 temporalment desactivat, contacta amb l''administrador o intenta-ho de nou m\u00E9s tard. expiredCodeMessage=S''ha esgotat el temps m\u00E0xim per a la identificaci\u00F3. Si us plau identifica''t de nou. missingFirstNameMessage=Si us plau indica el teu nom. missingLastNameMessage=Si us plau indica els teus cognoms. missingEmailMessage=Si us plau indica el teu email. missingUsernameMessage=Si us plau indica el teu usuari. missingPasswordMessage=Si us plau indica la teva contrasenya. missingTotpMessage=Si us plau indica el teu codi d''autenticaci\u00F3 notMatchPasswordMessage=Les contrasenyes no coincideixen. invalidPasswordExistingMessage=La contrasenya actual no \u00E9s correcta. invalidPasswordConfirmMessage=La confirmaci\u00F3 de contrasenya no coincideix. invalidTotpMessage=El codi d''autenticaci\u00F3 no \u00E9s v\u00E0lid. usernameExistsMessage=El nom d''usuari ja existeix emailExistsMessage=L''email ja existeix federatedIdentityEmailExistsMessage=Ja existeix un usuari amb aquest email. Si us plau accedeix a la gesti\u00F3 del teu compte per enlla\u00E7ar-lo. federatedIdentityUsernameExistsMessage=Ja existeix un usuari amb aquest nom d''usuari. Si us plau accedeix a la gesti\u00F3 del teu compte per enlla\u00E7ar-lo. configureTotpMessage=Has de configurar l''aplicaci\u00F3 m\u00F2bil 'd'identificaci\u00F3 per activar el teu compte. updateProfileMessage=Has d''actualitzar el teu perfil d''usuari per activar el teu compte. updatePasswordMessage=Has de canviar la contrasenya per activar el teu compte. verifyEmailMessage=Has de verificar el teu email per activar el teu compte. emailSentMessage=En breu hauries de rebre un missatge amb m\u00E9s instruccions emailSendErrorMessage=Ha fallat l''enviament de l''email, si us plau intenta-ho de nou m\u00E9s tard. accountUpdatedMessage=El teu compte s''ha actualitzat. accountPasswordUpdatedMessage=La contrasenya s''ha actualitzat. noAccessMessage=Sense acc\u00E9s invalidPasswordMinLengthMessage=Contrasenya incorrecta: longitud m\u00EDnima {0}. invalidPasswordMinDigitsMessage=Contrasenya incorrecta: ha de contenir almenys {0} car\u00E0cters num\u00E8rics. invalidPasswordMinLowerCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres min\u00FAscules. 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. failedToProcessResponseMessage=Fallada en processar la resposta httpsRequiredMessage=HTTPS obligatori realmNotEnabledMessage=El domini no est\u00E0 activat invalidRequestMessage=Petici\u00F3 incorrecta failedLogout=Ha fallat la desconnexi\u00F3. unknownLoginRequesterMessage=Sol\u00B7licitant d''identificaci\u00F3 desconegut loginRequesterNotEnabledMessage=El sol\u00B7licitant d''inici de sessi\u00F3 est\u00E0 desactivat bearerOnlyMessage=Les aplicacions Bearer-only no poden iniciar sessi\u00F3 des del navegador. directGrantsOnlyMessage=Els clients de tipus Direct-grants-only no poden iniciar sessi\u00F3 des del navegador. invalidRedirectUriMessage=L''URI de redirecci\u00F3 no \u00E9s correcta unsupportedNameIdFormatMessage=NameIDFormat no suportat invalidRequesterMessage=Sol\u00B7licitant no v\u00E0lid registrationNotAllowedMessage=El registre no est\u00E0 perm\u00E8s resetCredentialNotAllowedMessage=El reinici de les credencials no est\u00E0 perm\u00E8s permissionNotApprovedMessage=Perm\u00EDs no aprovat. noRelayStateInResponseMessage=Sense estat de retransmissi\u00F3 en la resposta del prove\u00EFdor d''identitat. identityProviderAlreadyLinkedMessage=La identitat retornada pel prove\u00EFdor d''identitat ja est\u00E0 associada a un altre usuari. insufficientPermissionMessage=Permisos insuficients per enlla\u00E7ar identitats. couldNotProceedWithAuthenticationRequestMessage=No s''ha pogut continuar amb la petici\u00F3 d''autenticaci\u00F3 al prove\u00EFdor d''identitat. couldNotObtainTokenMessage=No s''ha pogut obtenir el codi del prove\u00EFdor d''identitat. unexpectedErrorRetrievingTokenMessage=Error inesperat obtenint el token del prove\u00EFdor d''identitat unexpectedErrorHandlingResponseMessage=Error inesperat processant la resposta del prove\u00EFdor d''identitat. identityProviderAuthenticationFailedMessage=Ha fallat l''autenticaci\u00F3. No ha estat possible autenticar-se en el prove\u00EFdor d''identitat. couldNotSendAuthenticationRequestMessage=No s''ha pogut enviar la petici\u00F3 d''identificaci\u00F3 al prove\u00EFdor d''identitat. unexpectedErrorHandlingRequestMessage=Error inesperat durant la petici\u00F3 d''identificaci\u00F3 al prove\u00EFdor d''identitat. invalidAccessCodeMessage=Codi d''acc\u00E9s no v\u00E0lid. sessionNotActiveMessage=La sessi\u00F3 no est\u00E0 activa invalidCodeMessage=Hi ha hagut un error, si us plau identifica''t de nou des de la teva aplicaci\u00F3. identityProviderUnexpectedErrorMessage=Error no esperat intentant autenticar en el prove\u00EFdor d''identitat. identityProviderNotFoundMessage=No s''ha trobat cap prove\u00EFdor d''identitat. realmSupportsNoCredentialsMessage=El domini no suporta cap tipus de credencials. identityProviderNotUniqueMessage=El domini suporta m\u00FAltiples prove\u00EFdors d''identitat. No s''ha pogut determinar el prove\u00EFdor d''identitat que hauria de ser utilitzat per identificar-se. emailVerifiedMessage=El teu email ha estat verificat. backToApplication=« Torna a l''aplicaci\u00F3 missingParameterMessage=Par\u00E0metres que falten: {0} clientNotFoundMessage=Client no trobat invalidParameterMessage=Par\u00E0metre no v\u00E0lid: {0} alreadyLoggedIn=You are already logged in. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_cs.properties ================================================ # encoding: utf-8 doLogIn=Přihlásit se doRegister=Registrovat se doCancel=Zrušit doSubmit=Odeslat doYes=Ano doNo=Ne doContinue=Pokračovat doIgnore=Ignorovat doAccept=Potvrdit doDecline=Zamítnout doForgotPassword=Zapomenuté heslo? doClickHere=Klikněte zde doImpersonate=Zosobnit kerberosNotConfigured=Kerberos není nakonfigurován kerberosNotConfiguredTitle=Kerberos není nakonfigurován bypassKerberosDetail=Buď nejste přihlášeni přes Kerberos nebo váš prohlížeč není nastaven pro přihlášení Kerberos. Klepnutím na tlačítko pokračujte k přihlášení jinými způsoby kerberosNotSetUp=Kerberos není nastaven. Nemůžete se přihlásit. registerWithTitle=Registrovat {0} registerWithTitleHtml={0} loginTitle=Přihlásit do {0} loginTitleHtml={0} impersonateTitle={0} Zosobnit uživatele impersonateTitleHtml={0} Zosobnit uživatele realmChoice=Realm unknownUser=Neznámý uživatel loginTotpTitle=Nastavení autentizátoru OTP loginProfileTitle=Aktualizovat informace o účtu loginTimeout=Přihlašování trvalo příliš dlouho. Přihlašovací proces začíná od začátku. oauthGrantTitle=Poskytnout přístup oauthGrantTitleHtml={0} errorTitle=Je nám líto ... errorTitleHtml=Omlouváme se ... emailVerifyTitle=Ověření e-mailu emailForgotTitle=Zapomněli jste heslo? updatePasswordTitle=Aktualizace hesla codeSuccessTitle=Kód úspěchu codeErrorTitle=Kód chyby\: {0} termsTitle=Smluvní podmínky termsTitleHtml=Smluvní podmínky termsText=

Smluvní podmínky, které se mají definovat

recaptchaFailed=Neplatné Recaptcha recaptchaNotConfigured=Recaptcha je vyžadována, ale není nakonfigurována consentDenied=Souhlas byl zamítnut. noAccount=Nový uživatel? username=Přihlasovací jméno usernameOrEmail=Přihlasovací jméno nebo e-mail firstName=Křestní jméno givenName=Křestní jména fullName=Celé jméno lastName=Příjmení familyName=Příjmení email=E-mail password=Heslo passwordConfirm=Potvrdit heslo passwordNew=Nové heslo passwordNewConfirm=Potvrdit nové heslo rememberMe=Pamatovat si mě authenticatorCode=Jednorázový kód address=Adresa street=Ulice locality=Město region=Kraj postal_code=PSČ country=Stát emailVerified=E-mail ověřen gssDelegationCredential=GSS Delegované Oprávnění loginTotpStep1=Nainstalujte do mobilu jednu z následujících aplikací loginTotpStep2=Otevřete aplikaci a naskenujte čárový kód loginTotpStep3=Zadejte jednorázový kód poskytnutý aplikací a klepnutím na tlačítko Odeslat dokončete nastavení loginTotpManualStep2=Otevřete aplikaci a zadejte klíč loginTotpManualStep3=Použijte následující hodnoty konfigurace, pokud aplikace umožňuje jejich nastavení loginTotpUnableToScan=Nelze skenovat? loginTotpScanBarcode=Skenovat čárový kód? loginTotpOneTime=Jednorázový kód loginTotpType=Typ loginTotpAlgorithm=Algoritmus loginTotpDigits=Číslice loginTotpInterval=Interval loginTotpCounter=Počítadlo loginTotp.totp=Založeno na čase loginTotp.hotp=Založeno na počítadle oauthGrantRequest=Poskytujete tyto přístupová oprávnění? inResource=v emailVerifyInstruction1=Byl Vám zaslán e-mail s pokyny k ověření vaší e-mailové adresy. emailVerifyInstruction2=Nezískali jste v e-mailu ověřovací kód? emailVerifyInstruction3=znovu odeslat e-mail. emailLinkIdpTitle=Odkaz {0} emailLinkIdp1=Byl vám zaslán e-mail s pokyny k propojení {0} účtu {1} s vaším účtem {2}. emailLinkIdp2=Nezískali jste v e-mailu ověřovací kód? emailLinkIdp3=znovu odeslat e-mail. emailLinkIdp4=Pokud jste již ověřili e-mail v jiném prohlížeči emailLinkIdp5=pokračovat. backToLogin=« Zpět k přihlášení emailInstruction=Zadejte své uživatelské jméno nebo e-mailovou adresu a my vám zašleme pokyny k vytvoření nového hesla. copyCodeInstruction=Zkopírujte tento kód a vložte jej do své aplikace: pageExpiredTitle=Vypršela platnost stránky pageExpiredMsg1=Pro restart procesu přihlášení pageExpiredMsg2=Pokračovat v procesu přihlášení personalInfo=Osobní údaje: role_admin=Administrátor realmu role_realm-admin=Administrátor realmu role_create-realm=Vytvořit realm role_create-client=Vytvořit klienta role_view-realm=Zobrazit realm role_view-users=Zobrazit uživatele role_view-applications=Zobrazit aplikace role_view-clients=Zobrazit klienty role_view-events=Zobrazit události role_view-identity-providers=Zobrazit poskytovatele identity role_manage-realm=Spravovat realm role_manage-users=Spravovat uživatele role_manage-applications=Spravovat aplikace role_manage-identity-providers=Spravovat poskytovatele identity role_manage-clients=Spravovat klienty role_manage-events=Spravovat události role_view-profile=Zobrazit profil role_manage-account=Spravovat účet role_manage-account-links=Spravovat odkazy na účet role_read-token=Číst token role_offline-access=Přístup offline client_account=Účet client_security-admin-console=Security Admin Console client_admin-cli=Admin CLI client_realm-management=Spravovat Realm client_broker=Broker invalidUserMessage=Nesprávné jméno nebo heslo. invalidEmailMessage=Nesprávný e-mail. accountDisabledMessage=Účet je neplatný, kontaktujte administrátora. accountTemporarilyDisabledMessage=Účet je dočasně deaktivován, kontaktujte administrátora nebo zkuste později. expiredCodeMessage=Platnost přihlášení vypršela. Přihlašte se znovu. expiredActionMessage=Akce vypršela. Pokračujte přihlášením. expiredActionTokenNoSessionMessage=Akce vypršela. expiredActionTokenSessionExistsMessage=Akce vypršela. Začněte znovu missingFirstNameMessage=Zadejte prosím jméno. missingLastNameMessage=Zadejte prosím příjmení. missingEmailMessage=Zadejte prosím e-mail. missingUsernameMessage=Zadejte prosím uživatelské jméno. missingPasswordMessage=Zadejte prosím heslo. missingTotpMessage=Zadejte prosím kód ověřovatele. notMatchPasswordMessage=Hesla se neshodují. invalidPasswordExistingMessage=Neplatné existující heslo. invalidPasswordBlacklistedMessage=Neplatné heslo: heslo je na černé listině. invalidPasswordConfirmMessage=Potvrzení hesla se neshoduje. invalidTotpMessage=Neplatný kód ověřování. usernameExistsMessage=Uživatelské jméno již existuje. emailExistsMessage=Email již existuje. federatedIdentityExistsMessage=Uživatel s {0} {1} již existuje. Přihlaste se ke správě účtu a propojte účet. confirmLinkIdpTitle=Účet již existuje federatedIdentityConfirmLinkMessage=Uživatel s {0} {1} již existuje. Jak chcete pokračovat? federatedIdentityConfirmReauthenticateMessage=Ověřte jako {0} k propojení účtu {1} confirmLinkIdpReviewProfile=Zkontrolujte profil confirmLinkIdpContinue=Přidat do existujícího účtu configureTotpMessage=Chcete-li aktivovat účet, musíte nastavit službu Mobile Authenticator. updateProfileMessage=Pro aktivaci účtu potřebujete aktualizovat svůj uživatelský profil. updatePasswordMessage=Pro aktivaci účtu musíte provést aktualizaci hesla. resetPasswordMessage=Je třeba změnit heslo. verifyEmailMessage=Pro aktivaci účtu potřebujete ověřit vaši e-mailovou adresu. linkIdpMessage=Potřebujete-li ověřit vaši e-mailovou adresu, propojte svůj účet s {0}. emailSentMessage=Měli byste brzy obdržet e-mail s dalšími pokyny. emailSendErrorMessage=Nepodařilo se odeslat e-mail, zkuste to prosím později. accountUpdatedMessage=Váš účet byl aktualizován. accountPasswordUpdatedMessage=Vaše heslo bylo aktualizováno. noAccessMessage=Žádný přístup invalidPasswordMinLengthMessage=Neplatné heslo: minimální délka {0}. invalidPasswordMinDigitsMessage=Neplatné heslo: musí obsahovat nejméně {0} číslic. invalidPasswordMinLowerCaseCharsMessage=Neplatné heslo: musí obsahovat minimálně {0} malé znaky. invalidPasswordMinUpperCaseCharsMessage=Neplatné heslo: musí obsahovat nejméně {0} velká písmena. invalidPasswordMinSpecialCharsMessage=Neplatné heslo: musí obsahovat nejméně {0} speciální znaky. invalidPasswordNotUsernameMessage=Neplatné heslo: nesmí být totožné s uživatelským jménem. invalidPasswordRegexPatternMessage=Neplatné heslo: neshoduje se vzorem regulérního výrazu. invalidPasswordHistoryMessage=Neplatné heslo: Nesmí se rovnat žádnému z posledních {0} hesel. invalidPasswordGenericMessage=Neplatné heslo: nové heslo neodpovídá pravidlům hesla. failedToProcessResponseMessage=Nepodařilo se zpracovat odpověď httpsRequiredMessage=Požadováno HTTPS realmNotEnabledMessage=Realm není povolen invalidRequestMessage=Neplatná žádost failedLogout=Odhlášení se nezdařilo unknownLoginRequesterMessage=Neznámý žadatel o přihlášení loginRequesterNotEnabledMessage=Žadatel o přihlášení není povolen bearerOnlyMessage=Aplikace bearer-only nemohou iniciovat přihlašování pomocí prohlížeče standardFlowDisabledMessage=Klient nesmí iniciovat přihlašování prohlížeče s daným typem odpovědi. Standardní tok je pro klienta zakázán. implicitFlowDisabledMessage=Klient nesmí iniciovat přihlašování prohlížeče s daným typem odpovědi. Implicitní tok je pro klienta zakázán. invalidRedirectUriMessage=Neplatné redirect uri unsupportedNameIdFormatMessage=Nepodporovaný NameIDFormat invalidRequesterMessage=Neplatný žadatel registrationNotAllowedMessage=Registrace není povolena resetCredentialNotAllowedMessage=Reset Credential není povoleno permissionNotApprovedMessage=Oprávnění nebylo schváleno. noRelayStateInResponseMessage=Neexistuje relay state relé v odpovědi od poskytovatele totožnosti. insufficientPermissionMessage=Nedostatečná oprávnění k propojení identit. couldNotProceedWithAuthenticationRequestMessage=Nemohu pokračovat s žádostí o ověření poskytovateli totožnosti. couldNotObtainTokenMessage=Nelze získat token od poskytovatele totožnosti. unexpectedErrorRetrievingTokenMessage=Neočekávaná chyba při načítání tokenu od poskytovatele identity. unexpectedErrorHandlingResponseMessage=Neočekávaná chyba při zpracování odpovědi od poskytovatele identity. identityProviderAuthenticationFailedMessage=Ověření selhalo. Nelze ověřit s poskytovatelem identity. identityProviderDifferentUserMessage=Ověřeno jako {0}, ale mělo by být ověřeno jako {1} couldNotSendAuthenticationRequestMessage=Nelze odeslat žádost o ověření poskytovateli totožnosti. unexpectedErrorHandlingRequestMessage=Neočekávaná chyba při zpracování požadavku na ověření poskytovateli totožnosti. invalidAccessCodeMessage=Neplatný přístupový kód. sessionNotActiveMessage=Session není aktivní. invalidCodeMessage=Došlo k chybě, přihlaste se znovu prostřednictvím své aplikace. identityProviderUnexpectedErrorMessage=Neočekávaná chyba při ověřování s poskytovatelem identity identityProviderNotFoundMessage=Nelze najít poskytovatele identity s identifikátorem. identityProviderLinkSuccess=Úspěšně jste ověřili svůj e-mail. Vraťte se prosím zpět do původního prohlížeče a pokračujte tam s přihlašovacími údaji. staleCodeMessage=Tato stránka již není platná. Vraťte se zpět do aplikace a přihlaste se znovu realmSupportsNoCredentialsMessage=Realm nepodporuje žádný typ pověření. identityProviderNotUniqueMessage=Oblast podporuje více poskytovatelů totožnosti. Nelze určit, s jakým zprostředkovatelem totožnosti se má ověřit. emailVerifiedMessage=Vaše e-mailová adresa byla ověřena. staleEmailVerificationLink=Odkaz, na který jste klikli, je starý starý odkaz a již není platný. Možná jste již ověřili svůj e-mail? identityProviderAlreadyLinkedMessage=Federovaná identita vrácená {0} je již propojena s jiným uživatelem. confirmAccountLinking=Potvrďte propojení účtu {0} poskytovatele totožnosti {1} s vaším účtem. confirmEmailAddressVerification=Potvrďte platnost e-mailové adresy {0}. confirmExecutionOfActions=Proveďte následující akce backToApplication=« Zpět na aplikaci missingParameterMessage=Chybějící parametry \: {0} clientNotFoundMessage=Klient nebyl nalezen. clientDisabledMessage=Klient byl zneplatněn. invalidParameterMessage=Neplatný parametr : {0} alreadyLoggedIn=Jste již přihlášeni. differentUserAuthenticated=Jste již v této relaci ověřeni jako jiný uživatel '' {0} ''. Nejdříve se odhlašte. brokerLinkingSessionExpired=Požadované propojení účtu brokerů, ale aktuální relace již není platná. proceedWithAction=» Klikněte zde pro pokračování requiredAction.CONFIGURE_TOTP=Konfigurovat OTP requiredAction.terms_and_conditions=Smluvní podmínky requiredAction.UPDATE_PASSWORD=Aktualizace hesla requiredAction.UPDATE_PROFILE=Aktualizovat profil requiredAction.VERIFY_EMAIL=Ověřit e-mail p3pPolicy=CP="Toto není politika P3P!" ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_de.properties ================================================ doLogIn=Anmelden doRegister=Registrieren doCancel=Abbrechen doSubmit=Absenden doYes=Ja doNo=Nein doContinue=Weiter doIgnore=Ignorieren doAccept=Annehmen doDecline=Ablehnen doForgotPassword=Passwort vergessen? doClickHere=Hier klicken doImpersonate=Identit\u00E4tswechsel kerberosNotConfigured=Kerberos ist nicht konfiguriert. kerberosNotConfiguredTitle=Kerberos nicht konfiguriert bypassKerberosDetail=Sie sind entweder nicht mit Kerberos angemeldet, oder Ihr Browser ist nicht f\u00FCr eine Anmeldung mit Kerberos konfiguriert. Bitte klicken Sie auf Weiter, damit Sie sich auf eine andere Art anmelden k\u00F6nnen kerberosNotSetUp=Kerberos ist nicht konfiguriert. Sie k\u00F6nnen sich damit nicht anmelden. registerTitle=Registrierung registerWithTitle=Registrierung bei {0} registerWithTitleHtml={0} loginTitle=Anmeldung bei {0} loginTitleHtml={0} impersonateTitle={0} Identit\u00E4tswechsel impersonateTitleHtml={0} Identit\u00E4tswechsel realmChoice=Realm unknownUser=Unbekannter Benutzer loginTotpTitle=Mehrfachauthentifizierung konfigurieren loginProfileTitle=Benutzerkonto Informationen aktualisieren loginTimeout=Sie haben zu lange gebraucht, um sich anzumelden. Bitte versuchen Sie es erneut. 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} termsTitle=Bedingungen und Konditionen termsTitleHtml=Bedingungen und Konditionen termsText=

Zu definierende Bedingungen und Konditionen

recaptchaFailed=Ung\u00FCltiges Recaptcha recaptchaNotConfigured=Recaptcha Eingabe ist erforderlich, jedoch noch nicht konfiguriert. consentDenied=Zustimmung verweigert. 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 locality=Stadt oder Ortschaft region=Staat, Provinz, Region postal_code=PLZ country=Land emailVerified=E-Mail verifiziert gssDelegationCredential=GSS delegierte Berechtigung loginTotpStep1=Installieren Sie eine der folgenden Applikationen auf Ihrem Smartphone: loginTotpStep2=\u00D6ffnen Sie die Applikation und scannen Sie den Barcode. loginTotpStep3=Geben Sie den von der Applikation generierten One-time Code ein und klicken Sie auf Speichern. loginTotpManualStep2=\u00D6ffnen Sie die Applikation und geben Sie den folgenden Schl\u00FCssel ein. loginTotpManualStep3=Verwenden Sie die folgenden Konfigurationswerte, falls Sie diese f\u00FCr die Applikation anpassen k\u00F6nnen: loginTotpUnableToScan=Sie k\u00F6nnen den Barcode nicht scannen? loginTotpScanBarcode=Barcode scannen? loginOtpOneTime=One-time code loginTotpType=Typ loginTotpAlgorithm=Algorithmus loginTotpDigits=Ziffern loginTotpInterval=Intervall loginTotpCounter=Z\u00E4hler loginTotp.totp=zeitbasiert (time-based) loginTotp.hotp=z\u00E4hlerbasiert (counter-based) 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. emailLinkIdpTitle={0} verkn\u00FCpfen emailLinkIdp1=Eine E-Mail mit weiteren Anweisungen um {0} Konto {1} mit Ihrem {2} Konto zu verkn\u00FCpfen wurde an Sie versendet. emailLinkIdp2=Sie haben keinen Code in Ihrer E-Mail erhalten? emailLinkIdp3=um eine neue E-Mail versenden zu lassen. emailLinkIdp4=Wenn Sie die E-Mail bereits in einem anderen Browser verifiziert haben emailLinkIdp5=um fortzufahren. backToLogin=« Zur\u00FCck zur Anmeldung emailInstruction=Geben Sie Ihren Benutzernamen oder Ihre E-Mail Adresse ein und klicken Sie auf Absenden. Danach werden wir Ihnen eine E-Mail mit weiteren Instruktionen zusenden. copyCodeInstruction=Bitte kopieren Sie den folgenden Code und f\u00FCgen ihn in die Applikation ein\: pageExpiredTitle=Diese Seite ist nicht mehr g\u00FCltig. pageExpiredMsg1=Um den Anmeldevorgang neu zu starten pageExpiredMsg2=Um den Anmeldevorgang fortzusetzen personalInfo=Pers\u00F6nliche Informationen: role_admin=Admin role_realm-admin=Realm Admin role_create-realm=Realm erstellen role_create-client=Client 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_manage-account-links=Profil-Links verwalten role_read-token=Token lesen role_offline-access=Offline-Zugriff client_account=Clientkonto client_security-admin-console=Security Adminkonsole client_admin-cli=Admin CLI client_realm-management=Realm-Management client_broker=Broker invalidUserMessage=Ung\u00FCltiger Benutzername oder Passwort. invalidEmailMessage=Ung\u00FCltige E-Mail-Adresse. accountDisabledMessage=Ihr Benutzerkonto ist gesperrt, bitte kontaktieren Sie den Admin. accountTemporarilyDisabledMessage=Ihr 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. expiredActionMessage=Die Aktion ist nicht mehr g\u00FCltig. Bitte fahren Sie nun mit der Anmeldung fort. expiredActionTokenNoSessionMessage=Die Aktion ist nicht mehr g\u00FCltig. expiredActionTokenSessionExistsMessage=Die Aktion ist nicht mehr g\u00FCltig. Bitte fangen Sie noch einmal 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. invalidPasswordBlacklistedMessage=Ung\u00FCltiges Passwort: Das Passwort steht auf der Blockliste (schwarzen Liste). invalidPasswordConfirmMessage=Die Passwortbest\u00E4tigung ist nicht identisch. invalidTotpMessage=Ung\u00FCltiger One-time Code. usernameExistsMessage=Benutzername existiert bereits. emailExistsMessage=E-Mail existiert bereits. federatedIdentityExistsMessage=Ein Benutzer mit {0} {1} existiert bereits. Bitte melden Sie sich an der Benutzerkontoverwaltung an um den Benutzer zu verkn\u00FCpfen. confirmLinkIdpTitle=Das Benutzerkonto existiert bereits. federatedIdentityConfirmLinkMessage=Ein Benutzer mit {0} {1} existiert bereits. Wie m\u00F6chten Sie fortfahren? federatedIdentityConfirmReauthenticateMessage=Anmelden um das Benutzerkonto mit {0} zu verkn\u00FCpfen confirmLinkIdpReviewProfile=Benutzerkonto \u00FCberpr\u00FCfen confirmLinkIdpContinue=Zu einem bestehenden Benutzerkonto hinzuf\u00FCgen configureTotpMessage=Sie m\u00FCssen eine Mehrfachauthentifizierung 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. resetPasswordMessage=Sie m\u00FCssen Ihr Passwort \u00E4ndern. verifyEmailMessage=Sie m\u00FCssen Ihre E-Mail-Adresse verifizieren, um das Benutzerkonto zu aktivieren. linkIdpMessage=Sie m\u00FCssen Ihre E-Mail-Adresse verifizieren, um Ihr Benutzerkonto mit {0} zu verkn\u00FCpfen. emailSentMessage=Sie sollten in K\u00FCrze eine 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: Es muss mindestens {0} Zeichen lang sein. invalidPasswordMinDigitsMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Zahl(en) beinhalten. invalidPasswordMinLowerCaseCharsMessage=Ung\u00FCltiges Passwort\: Es muss mindestens {0} Kleinbuchstaben beinhalten. invalidPasswordMinUpperCaseCharsMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Gro\u00DFbuchstaben beinhalten. invalidPasswordMinSpecialCharsMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Sonderzeichen beinhalten. invalidPasswordNotUsernameMessage=Ung\u00FCltiges Passwort: Es darf nicht gleich sein wie der Benutzername. invalidPasswordRegexPatternMessage=Ung\u00FCltiges Passwort: Es entspricht nicht dem Regex-Muster. invalidPasswordHistoryMessage=Ung\u00FCltiges Passwort: Es darf nicht einem der letzten {0} Passw\u00F6rter entsprechen. invalidPasswordGenericMessage=Ung\u00FCltiges Passwort: Es verletzt die Passwort-Richtlinien. 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. standardFlowDisabledMessage=Client darf sich mit diesem response_type nicht via Browser anmelden. Standard Flow ist f\u00FCr diesen Client deaktiviert. implicitFlowDisabledMessage=Client darf sich mit diesem response_type nicht via Browser anmelden. Implicit Flow ist f\u00FCr diesen Client deaktiviert. 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. 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. 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. identityProviderLinkSuccess=Sie haben Ihre E-Mail-Adresse erfolgreich verifiziert. Bitte kehren Sie zu Ihrem urspr\u00FCnglichen Browser zur\u00FCck und fahren Sie dort mit der Anmeldung fort. staleCodeMessage=Diese Seite ist nicht mehr g\u00FCltig, bitte kehren Sie zu Ihrer Applikation zur\u00FCk und melden Sie sich erneut an. realmSupportsNoCredentialsMessage=Realm unterst\u00FCtzt keine Credential Typen. emailVerifiedMessage=Ihre E-Mail-Adresse wurde erfolgreich verifiziert. staleEmailVerificationLink=Der von Ihnen angeklickte Link ist nicht mehr g\u00FCltig. Haben Sie Ihre E-Mail-Adresse eventuell bereits verifiziert? identityProviderAlreadyLinkedMessage=Die Identit\u00E4t welche von dem Identity Provider zur\u00FCckgegeben wurde ist bereits mit einem anderen Benutzer verkn\u00FCpft. identityProviderNotUniqueMessage=Der Realm unterst\u00FCtzt mehrere Identity Provider. Es konnte kein eindeutiger Identity Provider zum Authentifizieren gew\u00E4hlt werden. confirmAccountLinking=Best\u00E4tigen Sie den Account {0} des Identity Provider {1} mit Ihrem Account zu verkn\u00FCpfen. confirmEmailAddressVerification=Best\u00E4tigen Sie, dass die E-Mail-Adresse {0} g\u00FCltig ist. confirmExecutionOfActions=F\u00FChren Sie die folgende(n) Aktion(en) aus backToApplication=« Zur\u00FCck zur Applikation missingParameterMessage=Fehlender Parameter\: {0} clientNotFoundMessage=Client nicht gefunden. clientDisabledMessage=Client deaktiviert. invalidParameterMessage=Ung\u00FCltiger Parameter\: {0} alreadyLoggedIn=Sie sind bereits angemeldet. differentUserAuthenticated=Sie sind in dieser Session bereits mit einem anderen Benutzer ''{0}'' angemeldet. Bitte melden Sie sich zuerst ab. brokerLinkingSessionExpired=Broker Account Linking angefordert; Ihre Session ist allerdings nicht mehr g\u00FCltig. proceedWithAction=» Klicken Sie hier um fortzufahren requiredAction.CONFIGURE_TOTP=Mehrfachauthentifizierung konfigurieren requiredAction.terms_and_conditions=Bedingungen und Konditionen requiredAction.UPDATE_PASSWORD=Passwort aktualisieren requiredAction.UPDATE_PROFILE=Profil aktualisieren requiredAction.VERIFY_EMAIL=E-Mail-Adresse verifizieren doX509Login=Sie werden angemeldet als\: clientCertificate=X509 Client Zertifikat\: noCertificate=[Kein Zertifikat] pageNotFound=Seite nicht gefunden internalServerError=Es ist ein interner Server-Fehler aufgetreten ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_en.properties ================================================ doLogIn=Log In doRegister=Register doCancel=Cancel doSubmit=Submit doBack=Back doYes=Yes doNo=No doContinue=Continue doIgnore=Ignore doAccept=Accept doDecline=Decline doForgotPassword=Forgot Password? doClickHere=Click here doImpersonate=Impersonate doTryAgain=Try again doTryAnotherWay=Try Another Way kerberosNotConfigured=Kerberos Not Configured kerberosNotConfiguredTitle=Kerberos Not Configured bypassKerberosDetail=Either you are not logged in by 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. registerTitle=Register 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=Your login attempt timed out. Login will start from the beginning. oauthGrantTitle=Grant Access to {0} oauthGrantTitleHtml={0} errorTitle=We are sorry... errorTitleHtml=We are sorry ... emailVerifyTitle=Email verification emailForgotTitle=Forgot Your Password? updatePasswordTitle=Update password codeSuccessTitle=Success code codeErrorTitle=Error code\: {0} displayUnsupported=Requested display type unsupported browserRequired=Browser required to login browserContinue=Browser required to complete login browserContinuePrompt=Open browser and continue login? [y/n]: browserContinueAnswer=y termsTitle=Terms and Conditions termsText=

Terms and conditions to be defined

termsPlainText=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 profileScopeConsentText=User profile emailScopeConsentText=Email address addressScopeConsentText=Address phoneScopeConsentText=Phone number offlineAccessScopeConsentText=Offline Access samlRoleListScopeConsentText=My Roles rolesScopeConsentText=User roles restartLoginTooltip=Restart login loginTotpIntro=You need to set up a One Time Password generator to access this account loginTotpStep1=Install one of the following applications on your mobile: loginTotpStep2=Open the application and scan the barcode: loginTotpStep3=Enter the one-time code provided by the application and click Submit to finish the setup. loginTotpStep3DeviceName=Provide a Device Name to help you manage your OTP devices. loginTotpManualStep2=Open the application and enter the key: loginTotpManualStep3=Use the following configuration values if the application allows setting them: loginTotpUnableToScan=Unable to scan? loginTotpScanBarcode=Scan barcode? loginCredential=Credential loginOtpOneTime=One-time code loginTotpType=Type loginTotpAlgorithm=Algorithm loginTotpDigits=Digits loginTotpInterval=Interval loginTotpCounter=Counter loginTotpDeviceName=Device Name loginTotp.totp=Time-based loginTotp.hotp=Counter-based loginChooseAuthenticator=Select login method 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_account-console=Account Console client_security-admin-console=Security Admin Console client_admin-cli=Admin CLI client_realm-management=Realm Management client_broker=Broker requiredFields=Required fields invalidUserMessage=Invalid username or password. invalidUsernameMessage=Invalid username. invalidUsernameOrEmailMessage=Invalid username or email. invalidPasswordMessage=Invalid password. invalidEmailMessage=Invalid email address. accountDisabledMessage=Account is disabled, contact your administrator. accountTemporarilyDisabledMessage=Account is temporarily disabled; contact your administrator or retry later. expiredCodeMessage=Login timeout. Please log in again. expiredActionMessage=Action expired. Please continue with login now. expiredActionTokenNoSessionMessage=Action expired. expiredActionTokenSessionExistsMessage=Action expired. Please start again. 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. missingTotpDeviceNameMessage=Please specify device name. notMatchPasswordMessage=Passwords don''t match. invalidPasswordExistingMessage=Invalid existing password. invalidPasswordBlacklistedMessage=Invalid password: password is blacklisted. 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 to link your account with {0} nestedFirstBrokerFlowMessage=The {0} user {1} is not linked to any known user. 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. resetPasswordMessage=You need to change your password. 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. delegationCompleteHeader=Login Successful delegationCompleteMessage=You may close this browser window and go back to your console application. delegationFailedHeader=Login Failed delegationFailedMessage=You may close this browser window and go back to your console application and try logging in again. 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. 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 log in again realmSupportsNoCredentialsMessage=Realm does not support any credential type. credentialSetupRequired=Cannot login, credential setup required. 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 an 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. confirmAccountLinking=Confirm linking the account {0} of identity provider {1} with your account. confirmEmailAddressVerification=Confirm validity of e-mail address {0}. confirmExecutionOfActions=Perform the following action(s) locale_ca=Catal\u00E0 locale_cs=\u010Ce\u0161tina locale_de=Deutsch locale_en=English locale_es=Espa\u00F1ol locale_fr=Fran\u00E7ais locale_it=Italiano locale_ja=\u65E5\u672C\u8A9E locale_nl=Nederlands locale_no=Norsk locale_pl=Polish 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 locale_zh-CN=\u4E2D\u6587\u7B80\u4F53 locale_sk=Sloven\u010Dina locale_sv=Svenska 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 log out first. brokerLinkingSessionExpired=Requested broker account linking, but current session is no longer valid. proceedWithAction=» Click here to proceed requiredAction.CONFIGURE_TOTP=Configure OTP requiredAction.terms_and_conditions=Terms and Conditions requiredAction.UPDATE_PASSWORD=Update Password requiredAction.UPDATE_PROFILE=Update Profile requiredAction.VERIFY_EMAIL=Verify Email doX509Login=You will be logged in as\: clientCertificate=X509 client certificate\: noCertificate=[No Certificate] pageNotFound=Page not found internalServerError=An internal server error has occurred console-username=Username: console-password=Password: console-otp=One Time Password: console-new-password=New Password: console-confirm-password=Confirm Password: console-update-password=Update of your password is required. console-verify-email=You need to verify your email address. We sent an email to {0} that contains a verification code. Please enter this code into the input below. console-email-code=Email Code: console-accept-terms=Accept Terms? [y/n]: console-accept=y # Openshift messages openshift.scope.user_info=User information openshift.scope.user_check-access=User access information openshift.scope.user_full=Full Access openshift.scope.list-projects=List projects # SAML authentication saml.post-form.title=Authentication Redirect saml.post-form.message=Redirecting, please wait. saml.post-form.js-disabled=JavaScript is disabled. We strongly recommend to enable it. Click the button below to continue. #authenticators otp-display-name=Authenticator Application otp-help-text=Enter a verification code from authenticator application. password-display-name=Password password-help-text=Log in by entering your password. auth-username-form-display-name=Username auth-username-form-help-text=Start log in by entering your username auth-username-password-form-display-name=Username and password auth-username-password-form-help-text=Log in by entering your username and password. # WebAuthn webauthn-display-name=Security Key webauthn-help-text=Use your security key to log in. webauthn-passwordless-display-name=Security Key webauthn-passwordless-help-text=Use your security key for passwordless log in. webauthn-login-title=Security Key login webauthn-registration-title=Security Key Registration webauthn-available-authenticators=Available authenticators # WebAuthn Error webauthn-error-title=Security Key Error webauthn-error-registration=Failed to register your Security key. webauthn-error-api-get=Failed to authenticate by the Security key. webauthn-error-different-user=First authenticated user is not the one authenticated by the Security key. webauthn-error-auth-verification=Security key authentication result is invalid. webauthn-error-register-verification=Security key registration result is invalid. webauthn-error-user-not-found=Unknown user authenticated by the Security key. identity-provider-redirector=Connect with another Identity Provider ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_es.properties ================================================ doLogIn=Iniciar sesi\u00F3n doRegister=Reg\u00EDstrate doCancel=Cancelar doSubmit=Enviar doYes=S\u00ED doNo=No doContinue=Continuar doAccept=Aceptar doDecline=Declinar doForgotPassword=\u00BFHas olvidado tu contrase\u00F1a? doClickHere=Haz clic aqu\u00ED doImpersonate=Personificar kerberosNotConfigured=Kerberos no configurado kerberosNotConfiguredTitle=Kerberos no configurado bypassKerberosDetail=O bien no est\u00E1s identificado mediante Kerberos o tu navegador no est\u00E1 configurado para identificarse mediante Kerberos. Por favor haz clic para identificarte por otro medio. kerberosNotSetUp=Kerberos no est\u00E1 configurado. No puedes identificarte. registerWithTitle=Reg\u00EDstrate con {0} registerWithTitleHtml={0} loginTitle=Inicia sesi\u00F3n en {0} loginTitleHtml={0} impersonateTitle={0}\u00A0Personificar Usuario impersonateTitleHtml={0} Personificar Usuario realmChoice=Dominio unknownUser=Usuario desconocido loginTotpTitle=Configura tu aplicaci\u00F3n de identificaci\u00F3n m\u00F3vil loginProfileTitle=Actualiza la informaci\u00F3n de tu cuenta loginTimeout=Has tardado demasiado en identificarte. Inicia de nuevo la identificaci\u00F3n. oauthGrantTitle=Concesi\u00F3n OAuth oauthGrantTitleHtml={0} errorTitle=Lo sentimos... errorTitleHtml=Lo sentimos... emailVerifyTitle=Verificaci\u00F3n del email emailForgotTitle=\u00BFHas olvidado tu contrase\u00F1a? updatePasswordTitle=Modificaci\u00F3n de contrase\u00F1a codeSuccessTitle=C\u00F3digo de \u00E9xito codeErrorTitle=C\u00F3digo de error: {0} termsTitle=T\u00E9rminos y Condiciones termsTitleHtml=T\u00E9rminos y Condiciones termsText=

T\u00E9rmines y condiciones a definir

recaptchaFailed=Reconocimiento de texto inv\u00E1lido recaptchaNotConfigured=El reconocimiento de texto es obligatorio pero no est\u00E1 configurado consentDenied=Consentimiento rechazado. noAccount=\u00BFUsuario nuevo? username=Usuario usernameOrEmail=Usuario o email firstName=Nombre givenName=Nombre de pila fullName=Nombre completo lastName=Apellidos familyName=Apellidos email=Email password=Contrase\u00F1a passwordConfirm=Confirma la contrase\u00F1a passwordNew=Nueva contrase\u00F1a passwordNewConfirm=Confirma la nueva contrase\u00F1a rememberMe=Seguir conectado authenticatorCode=C\u00F3digo de identificaci\u00F3n 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 loginTotpStep1=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. loginTotpStep2=Abre la aplicaci\u00F3n y escanea el c\u00F3digo o introduce la clave. loginTotpStep3=Introduce el c\u00F3digo \u00FAnico que te muestra la aplicaci\u00F3n de autenticaci\u00F3n y haz clic en Enviar para finalizar la configuraci\u00F3n loginOtpOneTime=C\u00F3digo de un solo uso oauthGrantRequest=\u00BFQuieres permitir estos privilegios de acceso? inResource=en emailVerifyInstruction1=Te hemos enviado un email con instrucciones para verificar tu email. emailVerifyInstruction2=\u00BFNo has recibido un c\u00F3digo de verificaci\u00F3n en tu email? emailVerifyInstruction3=para reenviar el email. backToLogin=« Volver a la identificaci\u00F3n emailInstruction=Indica tu usuario o email y te enviaremos instrucciones indicando c\u00F3mo generar una nueva contrase\u00F1a. copyCodeInstruction=Por favor, copia y pega este c\u00F3digo en tu aplicaci\u00F3n: personalInfo=Informaci\u00F3n personal: role_admin=Admin role_realm-admin=Administrador del dominio role_create-realm=Crear dominio role_create-client=Crear cliente 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 del dominio client_broker=Broker invalidUserMessage=Usuario o contrase\u00F1a incorrectos. invalidEmailMessage=Email no v\u00E1lido 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. expiredCodeMessage=Se agot\u00F3 el tiempo m\u00E1ximo para la identificaci\u00F3n. Por favor identificate de nuevo. missingFirstNameMessage=Por favor indica tu nombre. missingLastNameMessage=Por favor indica tus apellidos. missingEmailMessage=Por favor indica tu email. missingUsernameMessage=Por favor indica tu usuario. missingPasswordMessage=Por favor indica tu contrase\u00F1a. missingTotpMessage=Por favor indica tu c\u00F3digo de autenticaci\u00F3n notMatchPasswordMessage=Las contrase\u00F1as no coinciden. 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 nombre de usuario ya existe emailExistsMessage=El email ya existe federatedIdentityEmailExistsMessage=Ya existe un usuario con este email. Por favor accede a la gesti\u00F3n de tu cuenta para enlazarlo. federatedIdentityUsernameExistsMessage=Ya existe un usuario con este nombre de usuario. Por favor accede a la gesti\u00F3n de tu cuenta para enlazarlo. configureTotpMessage=Tienes que configurar la aplicaci\u00F3n m\u00F3vil de identificaci\u00F3n para activar tu cuenta. updateProfileMessage=Tienes que actualizar tu perfil de usuario para activar tu cuenta. updatePasswordMessage=Tienes que cambiar tu contrase\u00F1a para activar tu cuenta. verifyEmailMessage=Tienes que verificar tu email para activar tu cuenta. emailSentMessage=En breve deber\u00EDas recibir un mensaje con m\u00E1s instrucciones emailSendErrorMessage=Fall\u00F3 el env\u00EDo del email, por favor int\u00E9ntalo de nuevo m\u00E1s tarde. accountUpdatedMessage=Tu cuenta se ha actualizado. accountPasswordUpdatedMessage=Tu contrase\u00F1a se ha actualizado. noAccessMessage=Sin acceso invalidPasswordMinLengthMessage=Contrase\u00F1a incorrecta: longitud m\u00EDnima {0}. invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contaner al menos {0} caracteres num\u00E9ricos. invalidPasswordMinLowerCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras min\u00FAsculas. 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. failedToProcessResponseMessage=Fallo al procesar la respuesta httpsRequiredMessage=HTTPS obligatorio realmNotEnabledMessage=El dominio no est\u00E1 activado invalidRequestMessage=Petici\u00F3n incorrecta failedLogout=Fall\u00F3 la desconexi\u00F3n. unknownLoginRequesterMessage=Solicitante de identificaci\u00F3n desconocido loginRequesterNotEnabledMessage=El solicitante de inicio de sesi\u00F3n est\u00E1 desactivado bearerOnlyMessage=Las aplicaciones Bearer-only no pueden iniciar sesi\u00F3n desde el navegador. directGrantsOnlyMessage=Los clientes de tipo Direct-grants-only no pueden iniciar sesi\u00F3n desde el navegador. invalidRedirectUriMessage=La URI de redirecci\u00F3n no es correcta unsupportedNameIdFormatMessage=NameIDFormat no soportado invalidRequesterMessage=Solicitante no v\u00E1lido registrationNotAllowedMessage=El registro no est\u00E1 permitido resetCredentialNotAllowedMessage=El reinicio de las credenciales no est\u00E1 permitido permissionNotApprovedMessage=Permiso no aprobado. noRelayStateInResponseMessage=Sin estado de retransmisi\u00F3n en la respuesta del proveedor de identidad. identityProviderAlreadyLinkedMessage=La identidad devuelta por el proveedor de identidad ya est\u00E1 asociada a otro usuario. insufficientPermissionMessage=Permisos insuficientes para enlazar identidades. couldNotProceedWithAuthenticationRequestMessage=No se pudo continuar con la petici\u00F3n de autenticaci\u00F3n al proveedor de identidad. couldNotObtainTokenMessage=.No se pudo obtener el c\u00F3digo del proveedor de identidad unexpectedErrorRetrievingTokenMessage=Error inesperado obteniendo el token del proveedor de identidad unexpectedErrorHandlingResponseMessage=Error inesperado procesando la respuesta del proveedor de identidad. identityProviderAuthenticationFailedMessage=Fall\u00F3 la autenticaci\u00F3n. No fue posible autenticarse en el proveedor de identidad. couldNotSendAuthenticationRequestMessage=No se pudo enviar la petici\u00F3n de identificaci\u00F3n al proveedor de identidad. unexpectedErrorHandlingRequestMessage=Error inesperado durante la petici\u00F3n de identificaci\u00F3n al proveedor de identidad. invalidAccessCodeMessage=C\u00F3digo de acceso no v\u00E1lido. sessionNotActiveMessage=La sesi\u00F3n no est\u00E1 activa invalidCodeMessage=Ha ocurrido un error, por favor identificate de nuevo desde tu aplicaci\u00F3n. identityProviderUnexpectedErrorMessage=Error no esperado intentado autenticar en el proveedor de identidad. identityProviderNotFoundMessage=No se encontr\u00F3 un proveedor de identidad. realmSupportsNoCredentialsMessage=El dominio no soporta ning\u00FAn tipo de credenciales. identityProviderNotUniqueMessage=El dominio soporta m\u00FAltiples proveedores de identidad. No se pudo determinar el proveedor de identidad que deber\u00EDa ser utilizado para identificarse. emailVerifiedMessage=Tu email ha sido verificado. backToApplication=« Volver a la aplicaci\u00F3n missingParameterMessage=Par\u00E1metros que faltan: {0} clientNotFoundMessage=Cliente no encontrado invalidParameterMessage=Par\u00E1metro no v\u00E1lido: {0} alreadyLoggedIn=You are already logged in. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_fr.properties ================================================ doLogIn=Connexion doRegister=Enregistrement doCancel=Annuler doSubmit=Soumettre doYes=Oui doNo=Non doContinue=Continuer doIgnore=Ignorer doAccept=Accepter doDecline=D\u00e9cliner doForgotPassword=Mot de passe oubli\u00e9 ? doClickHere=Cliquez ici doImpersonate=Impersonate kerberosNotConfigured=Kerberos non configur\u00e9 kerberosNotConfiguredTitle=Kerberos non configur\u00e9 bypassKerberosDetail=Si vous n''\u00eates pas connect\u00e9 via Kerberos ou bien que votre navigateur n''est pas configur\u00e9 pour la connexion via Kerberos. Veuillez cliquer pour vous connecter via un autre moyen. kerberosNotSetUp=Kerberos n''est pas configur\u00e9. Connexion impossible. registerTitle=S''enregistrer registerWithTitle=Enregistrement avec {0} registerWithTitleHtml={0} loginTitle=Se connecter \u00e0 {0} loginTitleHtml={0} impersonateTitle={0} utilisateur impersonate impersonateTitleHtml={0} utilisateur impersonate realmChoice=Domaine unknownUser=Utilisateur inconnu loginTotpTitle=Configuration de l''authentification par mobile loginProfileTitle=Mise \u00e0 jour du compte loginTimeout=Le temps imparti pour la connexion est \u00e9coul\u00e9. Le processus de connexion red\u00e9marre depuis le d\u00e9but. oauthGrantTitle=OAuth Grant oauthGrantTitleHtml={0} errorTitle=Nous sommes d\u00e9sol\u00e9s... errorTitleHtml=Nous sommes d\u00e9sol\u00e9s... emailVerifyTitle=V\u00e9rification du courriel emailForgotTitle=Mot de passe oubli\u00e9 ? updatePasswordTitle=Mise \u00e0 jour du mot de passe codeSuccessTitle=Code succ\u00e8s codeErrorTitle=Code d''erreur \: {0} displayUnsupported=Type d''affichage demand\u00e9 non support\u00e9 browserRequired=Navigateur requis pour se connecter browserContinue=Navigateur requis pour continuer la connexion browserContinuePrompt=Ouvrir le navigateur et continuer la connexion? [y/n]: browserContinueAnswer=y termsTitle=Termes et Conditions termsTitleHtml=Termes et Conditions termsText=

Termes et conditions \u00e0 d\u00e9finir

termsPlainText=Termes et conditions \u00e0 d\u00e9finir recaptchaFailed=Re-captcha invalide recaptchaNotConfigured=Re-captcha est requis, mais il n''est pas configur\u00e9 consentDenied=Consentement refus\u00e9. noAccount=Nouvel utilisateur ? username=Nom d''utilisateur usernameOrEmail=Nom d''utilisateur ou courriel firstName=Pr\u00e9nom givenName=Pr\u00e9nom fullName=Nom complet lastName=Nom familyName=Nom de famille email=Courriel password=Mot de passe passwordConfirm=Confirmation du mot de passe passwordNew=Nouveau mot de passe passwordNewConfirm=Confirmation du nouveau mot de passe rememberMe=Se souvenir de moi authenticatorCode=Code \u00e0 usage unique 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 loginTotpIntro=Il est n\u00e9cessaire de configurer un g\u00e9n\u00e9rateur One Time Password pour acc\u00e9der \u00e0 ce compte loginTotpStep1=Installez FreeOTP ou bien Google Authenticator sur votre mobile. Ces deux applications sont disponibles sur Google Play et Apple App Store. loginTotpStep2=Ouvrez l''application et scannez le code-barres ou entrez la clef. loginTotpStep3=Entrez le code \u00e0 usage unique fourni par l''application et cliquez sur Sauvegarder pour terminer. loginTotpManualStep2=Ouvrez l''application et saisissez la cl\u00e9 loginTotpManualStep3=Utilisez la configuration de valeur suivante si l''application permet son \u00e9dition loginTotpUnableToScan=Impossible de scanner? loginTotpScanBarcode=Scanner le code barre ? loginOtpOneTime=Code \u00e0 usage unique loginTotpType=Type loginTotpAlgorithm=Algorithme loginTotpDigits=Chiffres loginTotpInterval=Intervalle loginTotpCounter=Compteur loginTotp.totp=Bas\u00e9 sur le temps loginTotp.hotp=Bas\u00e9 sur les compteurs oauthGrantRequest=Voulez-vous accorder ces privil\u00e8ges d''acc\u00e8s ? inResource=dans emailVerifyInstruction1=Un courriel avec des instructions \u00e0 suivre vous a \u00e9t\u00e9 envoy\u00e9. emailVerifyInstruction2=Vous n''avez pas re\u00e7u de code dans le courriel ? emailVerifyInstruction3=pour renvoyer le courriel. emailLinkIdpTitle=Association avec {0} emailLinkIdp1=Un courriel avec des instructions pour associer le compte {1} sur {0} avec votre compte {2} vous a \u00e9t\u00e9 envoy\u00e9. emailLinkIdp2=Vous n''avez pas re\u00e7u de code dans le courriel ? emailLinkIdp3=pour renvoyer le courriel. emailLinkIdp4=Si vous avez d\u00e9j\u00e0 v\u00e9rifi\u00e9 votre courriel dans un autre navigateur emailLinkIdp5=pour continuer. backToLogin=« Retour \u00e0 la connexion emailInstruction=Entrez votre nom d''utilisateur ou votre courriel ; un courriel va vous \u00eatre envoy\u00e9 vous permettant de cr\u00e9er un nouveau mot de passe. copyCodeInstruction=Copiez le code et recopiez le dans votre application : pageExpiredTitle=La page a expir\u00e9 pageExpiredMsg1=Pour recommencer le processus d''authentification pageExpiredMsg2=Pour continuer le processus d''authentification personalInfo=Information personnelle : role_admin=Administrateur role_realm-admin=Administrateur du domaine role_create-realm=Cr\u00e9er un domaine role_create-client=Cr\u00e9er un client 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\u00e9 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\u00e9 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_manage-account-links=G\u00e9rer les liens de 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 invalidUserMessage=Nom d''utilisateur ou mot de passe invalide. invalidEmailMessage=Courriel invalide. accountDisabledMessage=Compte d\u00e9sactiv\u00e9, contactez votre administrateur. accountTemporarilyDisabledMessage=Ce compte est temporairement d\u00e9sactiv\u00e9, contactez votre administrateur ou bien r\u00e9essayez plus tard. expiredCodeMessage=Connexion expir\u00e9e. Veuillez vous reconnecter. expiredActionMessage=Action expir\u00e9e. Merci de continuer la connexion. expiredActionTokenNoSessionMessage=Action expir\u00e9e. expiredActionTokenSessionExistsMessage=Action expir\u00e9e. Merci de recommencer. missingFirstNameMessage=Veuillez entrer votre pr\u00e9nom. missingLastNameMessage=Veuillez entrer votre nom. missingEmailMessage=Veuillez entrer votre courriel. missingUsernameMessage=Veuillez entrer votre nom d''utilisateur. missingPasswordMessage=Veuillez entrer votre mot de passe. missingTotpMessage=Veuillez entrer votre code d''authentification. notMatchPasswordMessage=Les mots de passe ne sont pas identiques. invalidPasswordExistingMessage=Mot de passe existant invalide. invalidPasswordBlacklistedMessage=Mot de passe invalide : ce mot de passe est blacklist\u00e9. 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. federatedIdentityExistsMessage=L''utilisateur avec {0} {1} existe d\u00e9j\u00e0. Veuillez acc\u00e9der \u00e0 au gestionnaire de compte pour lier le compte. federatedIdentityEmailExistsMessage=Cet utilisateur avec ce courriel existe d\u00e9j\u00e0. Veuillez vous connecter au gestionnaire de compte pour lier le compte. confirmLinkIdpTitle=Ce compte existe d\u00e9j\u00e0 federatedIdentityConfirmLinkMessage=L''utilisateur {0} {1} existe d\u00e9j\u00e0. Que souhaitez-vous faire ? federatedIdentityConfirmReauthenticateMessage=Identifiez vous afin de lier votre compte avec {0} confirmLinkIdpReviewProfile=V\u00e9rifiez vos informations de profil confirmLinkIdpContinue=Souhaitez-vous lier {0} \u00e0 votre compte existant configureTotpMessage=Vous devez configurer l''authentification par mobile pour activer votre compte. updateProfileMessage=Vous devez mettre \u00e0 jour votre profil pour activer votre compte. updatePasswordMessage=Vous devez changer votre mot de passe pour activer votre compte. resetPasswordMessage=Vous devez changer votre mot de passe. verifyEmailMessage=Vous devez v\u00e9rifier votre courriel pour activer votre compte. linkIdpMessage=Vous devez v\u00e9rifier votre courriel pour lier votre compte avec {0}. emailSentMessage=Vous devriez recevoir rapidement un courriel avec de plus amples instructions. emailSendErrorMessage=Erreur lors de l''envoi du courriel, veuillez essayer plus tard. accountUpdatedMessage=Votre compte a \u00e9t\u00e9 mis \u00e0 jour. accountPasswordUpdatedMessage=Votre mot de passe a \u00e9t\u00e9 mis \u00e0 jour. noAccessMessage=Aucun acc\u00e8s invalidPasswordMinLengthMessage=Mot de passe invalide : longueur minimale requise de {0}. invalidPasswordMinDigitsMessage=Mot de passe invalide : doit contenir au moins {0} chiffre(s). invalidPasswordMinLowerCaseCharsMessage=Mot de passe invalide : doit contenir au moins {0} lettre(s) en minuscule. 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. invalidPasswordGenericMessage=Mot de passe invalide : le nouveau mot de passe ne r\u00e9pond pas \u00e0 la politique de mot de passe. failedToProcessResponseMessage=Erreur lors du traitement de la r\u00e9ponse httpsRequiredMessage=Le protocole HTTPS est requis realmNotEnabledMessage=Le domaine n''est pas activ\u00e9 invalidRequestMessage=Requ\u00eate invalide failedLogout=La d\u00e9connexion a \u00e9chou\u00e9e unknownLoginRequesterMessage=Compte inconnu du demandeur loginRequesterNotEnabledMessage=La connexion du demandeur n''est pas active bearerOnlyMessage=Les applications Bearer-only ne sont pas autoris\u00e9es \u00e0 initier la connexion par navigateur. standardFlowDisabledMessage=Le client n''est pas autoris\u00e9 \u00e0 initier une connexion avec le navigateur avec ce response_type. Le flux standard est d\u00e9sactiv\u00e9 pour le client. implicitFlowDisabledMessage=Le client n''est pas autoris\u00e9 \u00e0 initier une connexion avec le navigateur avec ce response_type. Le flux implicite est d\u00e9sactiv\u00e9 pour le client. invalidRedirectUriMessage=L''URI de redirection est invalide unsupportedNameIdFormatMessage=NameIDFormat non support\u00e9 invalidRequesterMessage=Demandeur invalide registrationNotAllowedMessage=L''enregistrement n''est pas autoris\u00e9 resetCredentialNotAllowedMessage=La remise \u00e0 z\u00e9ro n''est pas autoris\u00e9e permissionNotApprovedMessage=La permission n''est pas approuv\u00e9e. noRelayStateInResponseMessage=Aucun \u00e9tat de relais dans la r\u00e9ponse du fournisseur d''identit\u00e9. insufficientPermissionMessage=Permissions insuffisantes pour lier les identit\u00e9s. couldNotProceedWithAuthenticationRequestMessage=Impossible de continuer avec la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9. couldNotObtainTokenMessage=Impossible de r\u00e9cup\u00e9rer le jeton du fournisseur d''identit\u00e9. unexpectedErrorRetrievingTokenMessage=Erreur inattendue lors de la r\u00e9cup\u00e9ration du jeton provenant du fournisseur d''identit\u00e9. unexpectedErrorHandlingResponseMessage=Erreur inattendue lors du traitement de la r\u00e9ponse provenant du fournisseur d''identit\u00e9. identityProviderAuthenticationFailedMessage=L''authentification a \u00e9chou\u00e9e. Impossible de s''authentifier avec le fournisseur d''identit\u00e9. couldNotSendAuthenticationRequestMessage=Impossible d''envoyer la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9. unexpectedErrorHandlingRequestMessage=Erreur inattendue lors du traitement de la requ\u00eate vers le fournisseur d''identit\u00e9. invalidAccessCodeMessage=Code d''acc\u00e8s invalide. sessionNotActiveMessage=La session n''est pas active. invalidCodeMessage=Une erreur est survenue, veuillez vous reconnecter \u00e0 votre application. identityProviderUnexpectedErrorMessage=Erreur inattendue lors de l''authentification avec fournisseur d''identit\u00e9. identityProviderNotFoundMessage=Impossible de trouver le fournisseur d''identit\u00e9 avec cet identifiant. identityProviderLinkSuccess=Votre compte a \u00e9t\u00e9 correctement li\u00e9 avec {0} compte {1} . staleCodeMessage=Cette page n''est plus valide, merci de retourner \u00e0 votre application et de vous connecter \u00e0 nouveau. realmSupportsNoCredentialsMessage=Ce domaine ne supporte aucun type d''accr\u00e9ditation. identityProviderNotUniqueMessage=Ce domaine autorise plusieurs fournisseurs d''identit\u00e9. Impossible de d\u00e9terminer le fournisseur d''identit\u00e9 avec lequel s''authentifier. emailVerifiedMessage=Votre courriel a \u00e9t\u00e9 v\u00e9rifi\u00e9. staleEmailVerificationLink=Le lien que vous avez cliqu\u00e9 est p\u00e9rim\u00e9 et n''est plus valide. Peut-\u00eatre avez vous d\u00e9j\u00e0 v\u00e9rifi\u00e9 votre mot de passe ? identityProviderAlreadyLinkedMessage=L''identit\u00e9 f\u00e9d\u00e9r\u00e9e retourn\u00e9e par {0} est d\u00e9j\u00e0 li\u00e9e \u00e0 un autre utilisateur. confirmAccountLinking=Confirmez la liaison du compte {0} du fournisseur d''entit\u00e9 {1} avec votre compte. confirmEmailAddressVerification=Confirmez la validit\u00e9 de l''adresse courriel {0}. confirmExecutionOfActions=Suivez les instructions suivantes backToApplication=« Revenir \u00e0 l''application missingParameterMessage=Param\u00e8tres manquants \: {0} clientNotFoundMessage=Client inconnu. clientDisabledMessage=Client d\u00e9sactiv\u00e9. invalidParameterMessage=Param\u00e8tre invalide \: {0} alreadyLoggedIn=Vous \u00eates d\u00e9j\u00e0 connect\u00e9. differentUserAuthenticated=Vous \u00eates d\u00e9j\u00e0 authentifi\u00e9 avec un autre utilisateur ''{0}'' dans cette session. Merci de vous d\u00e9connecter. proceedWithAction=» Cliquez ici requiredAction.CONFIGURE_TOTP=Configurer OTP requiredAction.terms_and_conditions=Termes et conditions requiredAction.UPDATE_PASSWORD=Mettre \u00e0 jour votre mot de passe requiredAction.UPDATE_PROFILE=Mettre \u00e0 jour votre profil requiredAction.VERIFY_EMAIL=Valider votre adresse email doX509Login=Vous allez \u00eatre connect\u00e9 en tant que\: clientCertificate=X509 certificat client\: noCertificate=[Pas de certificat] pageNotFound=Page non trouv\u00e9e internalServerError=Une erreur interne du serveur s''est produite ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_it.properties ================================================ doLogIn=Accedi doRegister=Registrati doCancel=Annulla doSubmit=Invia doBack=Indietro doYes=S\u00ec doNo=No doContinue=Continua doIgnore=Ignora doAccept=Accetta doDecline=Nega doForgotPassword=Password dimenticata? doClickHere=Clicca qui doImpersonate=Impersona doTryAgain=Prova ancora doTryAnotherWay=Prova in un altro modo kerberosNotConfigured=Kerberos non configurato kerberosNotConfiguredTitle=Kerberos non configurato bypassKerberosDetail=Non sei connesso via Kerberos o il tuo browser non supporta l''autenticazione a Kerberos. Fai clic su Continua per accedere in modo alternativo. kerberosNotSetUp=Kerberos non \u00e8 configurato. Non puoi effettuare l''accesso. registerTitle=Registrati loginTitle=Accedi a {0} loginTitleHtml={0} impersonateTitle={0} Impersona utente impersonateTitleHtml={0} Impersona utente realmChoice=Realm unknownUser=Utente sconosciuto loginTotpTitle=Configura autenticazione mobile loginProfileTitle=Aggiorna profilo loginTimeout=Stai impiegando troppo tempo per accedere. Il processo di autenticazione verr\u00e0 riavviato. oauthGrantTitle=Autenticazione concessa oauthGrantTitleHtml={0} errorTitle=Siamo spiacenti\u2026 errorTitleHtml=Siamo spiacenti... emailVerifyTitle=Verifica l''email emailForgotTitle=Password dimenticata? updatePasswordTitle=Aggiorna password codeSuccessTitle=Codice di successo codeErrorTitle=Codice di errore\: {0} displayUnsupported=Tipo display richiesto non supportato browserRequired=\u00c8 richiesto il browser per il login browserContinue=\u00c8 richiesto il browser per continuare il login browserContinuePrompt=Aprire il browser per continuare il login? [y/n]: browserContinueAnswer=y termsTitle=Termini e condizioni termsText=

Termini e condizioni da definire

termsPlainText=Termini e condizioni da definire. recaptchaFailed=Recaptcha non valido recaptchaNotConfigured=Il Recaptcha \u00e8 obbligatorio, ma non configurato consentDenied=Permesso negato. noAccount=Nuovo utente? username=Username usernameOrEmail=Username o email firstName=Nome givenName=Nome fullName=Nome completo lastName=Cognome familyName=Cognome email=Email password=Password passwordConfirm=Conferma password passwordNew=Nuova Password passwordNewConfirm=Conferma nuova password rememberMe=Ricordami authenticatorCode=Codice One-time address=Indirizzo locality=Citt\u00E0 o Localit\u00e0 street=Via region=Stato, Provincia, o Regione postal_code=CAP country=Paese emailVerified=Email verificata gssDelegationCredential=Credenziali delega GSS profileScopeConsentText=Profilo utente emailScopeConsentText=Indirizzo email addressScopeConsentText=Indirizzo phoneScopeConsentText=Numero di telefono offlineAccessScopeConsentText=Accesso offline samlRoleListScopeConsentText=I miei ruoli rolesScopeConsentText=Ruoli utente restartLoginTooltip=Riavvia login loginTotpIntro=Devi impostare un generatore di OTP (password temporanea valida una volta sola) per accedere a questo account loginTotpStep1=Installa una delle seguenti applicazioni sul tuo dispositivo mobile loginTotpStep2=Apri l''applicazione e scansiona il codice QR loginTotpStep3=Scrivi il codice monouso fornito dall''applicazione e premi Invia per completare il setup loginTotpStep3DeviceName=Fornisci il nome del dispositivo per aiutarti a gestire i dispositivi di autenticazione. loginTotpManualStep2=Apri l''applicazione e scrivi la chiave loginTotpManualStep3=Usa le seguenti impostazioni se l''applicazione lo consente loginTotpUnableToScan=Non riesci a scansionare il codice QR? loginTotpScanBarcode=Vuoi scansionare il codice QR? loginCredential=Credenziali loginOtpOneTime=Codice monouso loginTotpType=Tipo loginTotpAlgorithm=Algoritmo loginTotpDigits=Cifre loginTotpInterval=Intervallo loginTotpCounter=Contatore loginTotpDeviceName=Nome del dispositivo di autenticazione loginTotp.totp=Basato sull''ora loginTotp.hotp=Basato sul contatore loginChooseAuthenticator=Seleziona il tuo metodo di autenticazione oauthGrantRequest=Vuoi assegnare questi privilegi di accesso? inResource=per emailVerifyInstruction1=Ti \u00e8 stata inviata una email con le istruzioni per la verifica della tua email. emailVerifyInstruction2=Non hai ricevuto un codice di verifica nella tua email? emailVerifyInstruction3=per rinviare la email. emailLinkIdpTitle=Collega {0} emailLinkIdp1=Ti \u00e8 stata inviata una email con le istruzioni per collegare l''account {0} {1} con il tuo account {2}. emailLinkIdp2=Non hai ricevuto un codice di verifica nella tua email? emailLinkIdp3=Per rinviare la email. emailLinkIdp4=Se hai gi\u00e0 verificato l''indirizzo email in un altro browser emailLinkIdp5=per continuare. backToLogin=« Torna al Login emailInstruction=Inserisci la tua username o l''indirizzo email e ti manderemo le istruzioni per creare una nuova password. copyCodeInstruction=Copia questo codice e incollalo nella tua applicazione: pageExpiredTitle=La pagina \u00e8 scaduta pageExpiredMsg1=Per ripetere il login pageExpiredMsg2=Per continuare con il login personalInfo=Informazioni personali: role_admin=Admin role_realm-admin=Realm Admin role_create-realm=Crea realm role_create-client=Crea client 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 client role_manage-events=Gestisci eventi role_view-profile=Visualizza profilo role_manage-account=Gestisci account role_manage-account-links=Gestisci i link per l''account role_read-token=Leggi il token role_offline-access=Accesso offline client_account=Account client_account-console=Console account client_security-admin-console=Console di amministrazione di sicurezza client_admin-cli=Admin CLI client_realm-management=Gestione realm client_broker=Broker requiredFields=Campi obbligatori invalidUserMessage=Username o password non validi. invalidUsernameMessage=Username non valido. invalidUsernameOrEmailMessage=Username o email non validi. invalidPasswordMessage=Password non valida. invalidEmailMessage=Indirizzo email non valido. accountDisabledMessage=L''account \u00e8 disabilitato, contatta il tuo amministratore. accountTemporarilyDisabledMessage=L''account \u00e8 temporaneamente disabilitato; contatta il tuo amministratore o prova pi\u00f9 tardi. expiredCodeMessage=Login scaduto. Riprovare. expiredActionMessage=Azione scaduta. Continuare adesso con in login. expiredActionTokenNoSessionMessage=Azione scaduta. expiredActionTokenSessionExistsMessage=Azione scaduta. Ricominciare. missingFirstNameMessage=Inserisci il nome. missingLastNameMessage=Inserisci il cognome. missingEmailMessage=Inserisci l''email. missingUsernameMessage=Inserisci l''username. missingPasswordMessage=Inserisci la password. missingTotpMessage=Inserisci il codice di autenticazione. missingTotpDeviceNameMessage=Inserisci il nome del dispositivo di autenticazione. notMatchPasswordMessage=Le password non coincidono. invalidPasswordExistingMessage=Password esistente non valida. invalidPasswordBlacklistedMessage=Password non valida: la password non \u00e8 consentita. invalidPasswordConfirmMessage=La password di conferma non coincide. invalidTotpMessage=Codice di autenticazione non valido. usernameExistsMessage=Username gi\u00e0 esistente. emailExistsMessage=Email gi\u00e0 esistente. federatedIdentityExistsMessage=L''utente con {0} {1} esiste gi\u00e0. Effettua il login nella gestione account per associare l''account. confirmLinkIdpTitle=Account gi\u00e0 esistente federatedIdentityConfirmLinkMessage=L''utente con {0} {1} esiste gi\u00e0. Come vuoi procedere? federatedIdentityConfirmReauthenticateMessage=Autenticati per associare il tuo account con {0} confirmLinkIdpReviewProfile=Rivedi profilo confirmLinkIdpContinue=Aggiungi all''account esistente configureTotpMessage=Devi impostare un autenticatore per attivare il tuo account. updateProfileMessage=Devi aggiornare il tuo profilo utente per attivare il tuo account. updatePasswordMessage=Devi cambiare la password per attivare il tuo account. resetPasswordMessage=Devi cambiare la password. verifyEmailMessage=Devi verificare il tuo indirizzo email per attivare il tuo account. linkIdpMessage=Devi verificare il tuo indirizzo email per associare il tuo account con {0}. emailSentMessage=Riceverai a breve una email con maggiori istruzioni. emailSendErrorMessage=Invio email fallito, riprova pi\u00f9 tardi. accountUpdatedMessage=Il tuo account \u00e8 stato aggiornato. accountPasswordUpdatedMessage=La tua password \u00e8 stata aggiornata. delegationCompleteHeader=Login completato delegationCompleteMessage=Puoi chiudere questa finestra del browser e tornare alla tua applicazione. delegationFailedHeader=Login fallito delegationFailedMessage=Puoi chiudere questa finestra del browser e tornare alla tua applicazione per provare ad accedere nuovamente. noAccessMessage=Nessun accesso invalidPasswordMinLengthMessage=Password non valida: lunghezza minima {0}. invalidPasswordMinDigitsMessage=Password non valida: deve contenere almeno {0} numeri. invalidPasswordMinLowerCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri minuscoli. 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 ad una delle ultime {0} password. invalidPasswordGenericMessage=Password non valida: la nuova password non rispetta le indicazioni previste. failedToProcessResponseMessage=Fallimento nell''elaborazione della risposta httpsRequiredMessage=HTTPS richiesto realmNotEnabledMessage=Realm non abilitato invalidRequestMessage=Richiesta non valida failedLogout=Logout fallito unknownLoginRequesterMessage=Richiedente di Login non riconosciuto loginRequesterNotEnabledMessage=Richiedente di Login non abilitato bearerOnlyMessage=Alle applicazioni di tipo Bearer-only non \u00e8 consentito di effettuare il login tramite browser standardFlowDisabledMessage=Al client non \u00e8 consentito di effettuare il login tramite browser con questo response_type. Standard flow \u00e8 stato disabilitato per il client. implicitFlowDisabledMessage=Al client non \u00e8 consentito di effettuare il login tramite browser con questo response_type. Implicit flow \u00e8 stato disabilitato per il client. invalidRedirectUriMessage=Redirect uri non valido unsupportedNameIdFormatMessage=NameIDFormat non supportato invalidRequesterMessage=Richiedente non valido registrationNotAllowedMessage=Registrazione non permessa resetCredentialNotAllowedMessage=Reimpostazione della credenziale non permessa permissionNotApprovedMessage=Permesso non approvato. noRelayStateInResponseMessage=Nessun relay state in risposta dall''identity provider. insufficientPermissionMessage=Permessi insufficienti per associare le identit\u00e0. couldNotProceedWithAuthenticationRequestMessage=Impossibile procedere con la richiesta di autenticazione all''identity provider couldNotObtainTokenMessage=Non posso ottenere un token dall''identity provider. unexpectedErrorRetrievingTokenMessage=Errore inaspettato nel recupero del token dall''identity provider. unexpectedErrorHandlingResponseMessage=Errore inaspettato nella gestione della risposta dall''identity provider. identityProviderAuthenticationFailedMessage=Autenticazione fallita. Non posso effettuare l''autenticazione con l''identity provider. couldNotSendAuthenticationRequestMessage=Impossibile inviare la richiesta di autenticazione all''identity provider. unexpectedErrorHandlingRequestMessage=Errore inaspettato nella gestione della richiesta di autenticazione all''identity provider. invalidAccessCodeMessage=Codice di accesso non valido. sessionNotActiveMessage=Sessione non attiva. invalidCodeMessage=Si \u00e8 verificato un errore, effettua di nuovo il login nella tua applicazione. identityProviderUnexpectedErrorMessage=Errore imprevisto durante l''autenticazione con identity provider identityProviderNotFoundMessage=Non posso trovare un identity provider con l''identificativo. identityProviderLinkSuccess=Hai verificato con successo la tua email. Torna al tuo browser iniziale e continua da l\u00ec con il login. staleCodeMessage=Questa pagina non \u00e8 pi\u00f9 valida, torna alla tua applicazione ed effettua nuovamente l''accesso realmSupportsNoCredentialsMessage=Il realm non supporta nessun tipo di credenziali. credentialSetupRequired=Impossibile effettuare il login, \u00e8 richiesto il setup delle credenziali. identityProviderNotUniqueMessage=Il realm supporta pi\u00f9 di un identity provider. Impossibile determinare quale identity provider deve essere utilizzato per autenticarti. emailVerifiedMessage=Il tuo indirizzo email \u00e8 stato verificato. staleEmailVerificationLink=Il link che hai cliccato \u00e8 un link scaduto e non \u00e8 pi\u00f9 valido. Forse hai gi\u00e0 verificato la tua email? identityProviderAlreadyLinkedMessage=L''identit\u00e0 federata restituita dall''identity provider {0} \u00e8 gi\u00e0 associata ad un altro utente. confirmAccountLinking=Conferma il collegamento per l''account {0} dell''identity provider {1} con il tuo account. confirmEmailAddressVerification=Conferma la validit\u00e0 dell''indirizzo email {0}. confirmExecutionOfActions=Esegui la/le seguenti azione/i locale_it=Italiano backToApplication=« Torna all''applicazione missingParameterMessage=Parametri mancanti\: {0} clientNotFoundMessage=Client non trovato. clientDisabledMessage=Client disabilitato. invalidParameterMessage=Parametro non valido\: {0} alreadyLoggedIn=Sei gi\u00e0 connesso. differentUserAuthenticated=Se gi\u00e0 autenticato con l''utente ''{0}'' in questa sessione. Per favore, fai prima il logout. brokerLinkingSessionExpired=\u00c8 stato richiesta un''associazione a un account broker, ma la sessione corrente non \u00e8 pi\u00f9 valida. proceedWithAction=» Clicca qui per continuare requiredAction.CONFIGURE_TOTP=Configura OTP requiredAction.terms_and_conditions=Termini e condizioni requiredAction.UPDATE_PASSWORD=Aggiornamento password requiredAction.UPDATE_PROFILE=Aggiornamento profilo requiredAction.VERIFY_EMAIL=Verifica dell''indirizzo email doX509Login=Sarai connesso come\: clientCertificate=Certificato client X509\: noCertificate=[Nessun certificato] pageNotFound=Pagina non trovata internalServerError=Si \u00e8 verificato un errore interno del server console-username=Username: console-password=Password: console-otp=One-time password: console-new-password=Nuova password: console-confirm-password=Conferma password: console-update-password=\u00c8 richiesto l''aggiornamento della tua password. console-verify-email=Devi verificare il tuo indirizzo email. \u00c8 stata inviata una email a {0} che contiene un codice di verifica. Per favore inserisci il codice nella casella di testo seguente. console-email-code=Codice email: console-accept-terms=Accetti i termini? [y/n]: console-accept=y # Openshift messages openshift.scope.user_info=Informazioni utente openshift.scope.user_check-access=Informazioni di accesso per l''utente openshift.scope.user_full=Accesso completo openshift.scope.list-projects=Elenca i progetti # SAML authentication saml.post-form.title=Reindirizzamento per l''autenticazione saml.post-form.message=Reindirizzamento, attendere per favore. saml.post-form.js-disabled=JavaScript \u00e8 disabilitato. \u00c8 fortemente consigliato abilitarlo. Clicca sul bottone seguente per continuare. #authenticators otp-display-name=Applicazione di autenticazione otp-help-text=Inserire un codice di verifica fornito dall''applicazione di autenticazione. password-display-name=Password password-help-text=Accedi inserendo la tua password. auth-username-form-display-name=Username auth-username-form-help-text=Inizia il login inserendo la tua username auth-username-password-form-display-name=Username e password auth-username-password-form-help-text=Accedi inserendo la tua username e la password. # WebAuthn webauthn-display-name=Chiave di sicurezza webauthn-help-text=Utilizza la tua chiave di sicurezza per accedere. webauthn-passwordless-display-name=Chiave di sicurezza webauthn-passwordless-help-text=Utilizza la tua chiave di sicurezza per l''accesso senza password. webauthn-login-title=Login con chiave di sicurezza webauthn-registration-title=Registrazione chiave di sicurezza webauthn-available-authenticators=Autenticatori disponibili # WebAuthn Error webauthn-error-title=Errore della chiave di sicurezza webauthn-error-registration=Impossibile registrare la tua chiave di sicurezza. webauthn-error-api-get=Autenticazione con la chiave di sicurezza fallita. webauthn-error-different-user=Il primo utente autenticato non \u00e8 quello autenticato tramite la chiave di sicurezza. webauthn-error-auth-verification=Il risultato dell''autenticazione con la chiave di sicurezza non \u00e8 valido. webauthn-error-register-verification=Il risultato della registrazione della chiave di sicurezza non \u00e8 valido. webauthn-error-user-not-found=Utente sconosciuto autenticato con la chiave di sicurezza. identity-provider-redirector=Connettiti con un altro identity provider. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_ja.properties ================================================ # encoding: utf-8 doLogIn=ログイン doRegister=登録 doCancel=キャンセル doSubmit=送信 doBack=戻る doYes=はい doNo=いいえ doContinue=続ける doIgnore=無視 doAccept=承諾 doDecline=却下 doForgotPassword=パスワードをお忘れですか? doClickHere=クリックしてください doImpersonate=代理ログイン doTryAgain=再試行してください doTryAnotherWay=別の方法を試してください kerberosNotConfigured=Kerberosは設定されていません kerberosNotConfiguredTitle=Kerberosは設定されていません bypassKerberosDetail=Kerberosでログインしていないか、ブラウザーでKerberosログインの設定がされていません。他の手段でログインするには「続ける」をクリックしてください。 kerberosNotSetUp=Kerberosが設定されていません。ログインできません。 registerTitle=登録 loginTitle={0}にログイン loginTitleHtml={0} impersonateTitle={0}ユーザーの代理 impersonateTitleHtml={0}ユーザーの代理 realmChoice=レルム unknownUser=不明なユーザー loginTotpTitle=モバイル・オーセンティケーターのセットアップ loginProfileTitle=アカウント情報の更新 loginTimeout=ログイン試行がタイムアウトしました。ログインは最初から開始されます。 oauthGrantTitle={0}へのアクセスを許可 oauthGrantTitleHtml={0} errorTitle=申し訳ございません errorTitleHtml=申し訳ございません emailVerifyTitle=Eメール確認 emailForgotTitle=パスワードをお忘れですか? updatePasswordTitle=パスワードの更新 codeSuccessTitle=成功コード codeErrorTitle=エラーコード\: {0} displayUnsupported=要求された表示タイプがサポートされていません browserRequired=ログインに必要なブラウザー browserContinue=ログインを完了するために必要なブラウザー browserContinuePrompt=ブラウザーを開いてログインを続行しますか? [y/n]: browserContinueAnswer=y termsTitle=利用規約 termsText=

利用規約はここで設定する必要があります

termsPlainText=定義される利用規約。 recaptchaFailed=無効なreCAPTCHA recaptchaNotConfigured=reCAPTCHAが必須ですが、設定されていません consentDenied=同意が拒否されました。 noAccount=新規ユーザーですか? username=ユーザー名 usernameOrEmail=ユーザー名またはメールアドレス firstName=名 givenName=名 fullName=氏名 lastName=姓 familyName=姓 email=Eメール password=パスワード passwordConfirm=パスワード(確認) passwordNew=新しいパスワード passwordNewConfirm=新しいパスワード(確認) rememberMe=ログイン状態の保存 authenticatorCode=ワンタイムコード address=住所 street=番地 locality=市区町村 region=都道府県 postal_code=郵便番号 country=国 emailVerified=確認済みEメール gssDelegationCredential=GSS委譲クレデンシャル profileScopeConsentText=ユーザー・プロファイル emailScopeConsentText=メールアドレス addressScopeConsentText=アドレス phoneScopeConsentText=電話番号 offlineAccessScopeConsentText=オフライン・アクセス samlRoleListScopeConsentText=ロール rolesScopeConsentText=ユーザーロール restartLoginTooltip=ログインを再開 loginTotpIntro=このアカウントにアクセスするには、ワンタイム・パスワード・ジェネレーターを設定する必要があります loginTotpStep1=次のいずれかのアプリケーションをモバイルにインストールします。 loginTotpStep2=アプリケーションを開き、バーコードをスキャンします。 loginTotpStep3=アプリケーションから提供されたワンタイムコードを入力し、送信をクリックしてセットアップを終了します。 loginTotpStep3DeviceName=OTPデバイスの管理に役立つデバイス名を指定します。 loginTotpManualStep2=アプリケーションを開き、キーを入力します: loginTotpManualStep3=アプリケーションで設定できる場合は、次の設定値を使用します。 loginTotpUnableToScan=スキャンできませんか? loginTotpScanBarcode=バーコードをスキャンしますか? loginCredential=クレデンシャル loginOtpOneTime=ワンタイムコード loginTotpType=タイプ loginTotpAlgorithm=アルゴリズム loginTotpDigits=桁 loginTotpInterval=間隔 loginTotpCounter=カウンター loginTotpDeviceName=デバイス名 loginTotp.totp=時間ベース loginTotp.hotp=カウンターベース loginChooseAuthenticator=ログイン方法を選択してください oauthGrantRequest=これらのアクセス権限を付与しますか? inResource=in emailVerifyInstruction1=メールアドレスを確認する手順を記載したEメールを送信しました。 emailVerifyInstruction2=Eメールで確認コードを受け取っていませんか? emailVerifyInstruction3=Eメールを再送信します。 emailLinkIdpTitle=リンク {0} emailLinkIdp1={0}の{1}アカウントをあなたの{2}アカウントとリンクするための手順を記載したEメールを送信しました。 emailLinkIdp2=Eメールで確認コードを受け取っていませんか? emailLinkIdp3=Eメールを再送信します。 emailLinkIdp4=別のブラウザーでメールを確認済みの場合 emailLinkIdp5=続けるには backToLogin=« ログインに戻る emailInstruction=ユーザー名またメールアドレスを入力してください。新しいパスワードの設定方法をご案内いたします。 copyCodeInstruction=このコードをコピーし、あなたのアプリケーションにペーストしてください: pageExpiredTitle=ページの有効期限が切れています pageExpiredMsg1=ログインプロセスを再開するには pageExpiredMsg2=ログイン処理を続行するには personalInfo=個人情報: role_admin=管理者 role_realm-admin=レルム管理者 role_create-realm=レルムの作成 role_create-client=クライアントの作成 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_manage-account-links=アカウントリンクの管理 role_read-token=トークンの参照 role_offline-access=オフライン・アクセス client_account=アカウント client_account-console=アカウント・コンソール client_security-admin-console=セキュリティー管理コンソール client_admin-cli=管理CLI client_realm-management=レルム管理 client_broker=ブローカー requiredFields=必須フィールド invalidUserMessage=無効なユーザー名またはパスワードです。 invalidUsernameMessage=ユーザー名が無効です。 invalidUsernameOrEmailMessage=ユーザー名またはメールアドレスが無効です。 invalidPasswordMessage=パスワードが無効です。 invalidEmailMessage=無効なメールアドレスです。 accountDisabledMessage=アカウントが無効です。管理者に連絡してください。 accountTemporarilyDisabledMessage=アカウントが一時的に無効です。管理者に連絡するか、しばらく時間をおいてから再度お試しください。 expiredCodeMessage=ログイン・タイムアウトが発生しました。再度ログインしてください。 expiredActionMessage=アクションは期限切れです。今すぐログインしてください。 expiredActionTokenNoSessionMessage=アクションは期限切れです。 expiredActionTokenSessionExistsMessage=アクションは期限切れです。もう一度やり直してください。 missingFirstNameMessage=名を指定してください。 missingLastNameMessage=姓を指定してください。 missingEmailMessage=Eメールを指定してください。 missingUsernameMessage=ユーザー名を指定してください。 missingPasswordMessage=パスワードを指定してください。 missingTotpMessage=オーセンティケーター・コードを指定してください。 missingTotpDeviceNameMessage=デバイス名を指定してください。 notMatchPasswordMessage=パスワードが一致していません。 invalidPasswordExistingMessage=既存のパスワードが不正です。 invalidPasswordBlacklistedMessage=無効なパスワード: パスワードがブラックリストに含まれています。 invalidPasswordConfirmMessage=パスワード確認が一致していません。 invalidTotpMessage=無効なオーセンティケーター・コードです。 usernameExistsMessage=既に存在するユーザー名です。 emailExistsMessage=既に存在するEメールです。 federatedIdentityExistsMessage={0}{1}のユーザーは既に存在します。そのアカウントをリンクするにはアカウント管理にログインしてください。 confirmLinkIdpTitle=既に存在するアカウントです。 federatedIdentityConfirmLinkMessage={0}{1}のユーザーは既に存在します。継続しますか? federatedIdentityConfirmReauthenticateMessage={1}でアカウントをリンクするために{0}として認証します nestedFirstBrokerFlowMessage={0}ユーザー{1}は既知のユーザーにリンクされていません。 confirmLinkIdpReviewProfile=プロファイルの確認 confirmLinkIdpContinue=既存のアカウントに追加する configureTotpMessage=アカウントを有効にするにはモバイル・オーセンティケーターのセットアップが必要です。 updateProfileMessage=アカウントを有効にするにはユーザー・プロファイルの更新が必要です。 updatePasswordMessage=アカウントを有効にするにはパスワードの更新が必要です。 resetPasswordMessage=パスワードを変更する必要があります。 verifyEmailMessage=アカウントを有効にするにはメールアドレスの確認が必要です。 linkIdpMessage=アカウントを{0}とリンクするにはメールアドレスの確認が必要です。 emailSentMessage=詳細な手順を記載したEメールをすぐに受信してください。 emailSendErrorMessage=Eメールの送信に失敗しました。しばらく時間をおいてから再度お試しください。 accountUpdatedMessage=アカウントが更新されました。 accountPasswordUpdatedMessage=パスワードが更新されました。 delegationCompleteHeader=ログインに成功しました delegationCompleteMessage=このブラウザーのウィンドウを閉じて、コンソール・アプリケーションに戻ることができます。 delegationFailedHeader=ログインに失敗しました delegationFailedMessage=このブラウザー・ウィンドウを閉じてコンソール・アプリケーションに戻り、再度ログインを試みることができます。 noAccessMessage=アクセスがありません invalidPasswordMinLengthMessage=無効なパスワード: 最小{0}の長さが必要です。 invalidPasswordMinDigitsMessage=無効なパスワード: 少なくとも{0}文字の数字を含む必要があります。 invalidPasswordMinLowerCaseCharsMessage=無効なパスワード: 少なくとも{0}文字の小文字を含む必要があります。 invalidPasswordMinUpperCaseCharsMessage=無効なパスワード: 少なくとも{0}文字の大文字を含む必要があります。 invalidPasswordMinSpecialCharsMessage=無効なパスワード: 少なくとも{0}文字の特殊文字を含む必要があります。 invalidPasswordNotUsernameMessage=無効なパスワード: ユーザー名と同じパスワードは禁止されています。 invalidPasswordRegexPatternMessage=無効なパスワード: 正規表現パターンと一致しません。 invalidPasswordHistoryMessage=無効なパスワード: 最近の{0}パスワードのいずれかと同じパスワードは禁止されています。 invalidPasswordGenericMessage=無効なパスワード: 新しいパスワードはパスワード・ポリシーと一致しません。 failedToProcessResponseMessage=応答を処理できませんでした httpsRequiredMessage=HTTPSが必須です realmNotEnabledMessage=レルムが有効ではありません invalidRequestMessage=無効なリクエストです failedLogout=ログアウトに失敗しました unknownLoginRequesterMessage=不明なログイン要求元です loginRequesterNotEnabledMessage=ログイン要求元は有効ではありません bearerOnlyMessage=bearer-onlyのアプリケーションはブラウザー・ログインを開始することが許可されていません standardFlowDisabledMessage=与えられたresponse_typeでクライアントはブラウザー・ログインを開始することが許可されていません。標準フローは無効です。 implicitFlowDisabledMessage=与えられたresponse_typeでクライアントはブラウザー・ログインを開始することが許可されていません。インプリシット・フローは無効です。 invalidRedirectUriMessage=無効なリダイレクトURIです unsupportedNameIdFormatMessage=サポートされていないNameID Formatです invalidRequesterMessage=無効な要求元です registrationNotAllowedMessage=登録は許可されていません resetCredentialNotAllowedMessage=クレデンシャルのリセットは許可されていません permissionNotApprovedMessage=パーミッションは承認されていません。 noRelayStateInResponseMessage=アイデンティティー・プロバイダーからの応答にRelayStateがありません。 insufficientPermissionMessage=アイデンティティーにリンクするには不十分なパーミッションです。 couldNotProceedWithAuthenticationRequestMessage=アイデンティティー・プロバイダーへの認証リクエストを続行できませんでした。 couldNotObtainTokenMessage=アイデンティティー・プロバイダーからトークンを取得できませんでした。 unexpectedErrorRetrievingTokenMessage=アイデンティティー・プロバイダーからのトークン取得で予期せぬエラーが発生しました。 unexpectedErrorHandlingResponseMessage=アイデンティティー・プロバイダーからの応答を処理する際に予期せぬエラーが発生しました。 identityProviderAuthenticationFailedMessage=認証に失敗しました。アイデンティティー・プロバイダーを使用して認証できませんでした。 couldNotSendAuthenticationRequestMessage=アイデンティティー・プロバイダーに認証リクエストを送信することができませんでした。 unexpectedErrorHandlingRequestMessage=アイデンティティー・プロバイダーへの認証リクエストを処理する際に予期せぬエラーが発生しました。 invalidAccessCodeMessage=無効なアクセスコードです。 sessionNotActiveMessage=セッションが有効ではありません。 invalidCodeMessage=エラーが発生しました。アプリケーションを介して再度ログインしてください。 identityProviderUnexpectedErrorMessage=アイデンティティー・プロバイダーによる認証の際に予期せぬエラーが発生しました identityProviderNotFoundMessage=該当の識別子を持つアイデンティティー・プロバイダーが見つかりませんでした。 identityProviderLinkSuccess=Eメールを正常に確認しました。元のブラウザーに戻ってログインしてください。 staleCodeMessage=このページはもはや有効ではありませんので、アプリケーションに戻り再度ログインしてください realmSupportsNoCredentialsMessage=レルムはクレデンシャル・タイプをサポートしていません。 credentialSetupRequired=ログインできません。クレデンシャルのセットアップが必要です。 identityProviderNotUniqueMessage=レルムは複数のアイデンティティー・プロバイダーをサポートしています。どのアイデンティティー・プロバイダーが認証に使用されるべきか判断できませんでした。 emailVerifiedMessage=メールアドレスが確認できました。 staleEmailVerificationLink=クリックしたリンクは古いリンクであり、有効ではありません。おそらく、すでにメールを確認しています。 identityProviderAlreadyLinkedMessage={0}によって返された連携済みアイデンティティーは、すでに別のユーザーにリンクされています。 confirmAccountLinking=アイデンティティー・プロバイダー{1}のアカウント{0}とあなたのアカウントとのリンクを確認してください。 confirmEmailAddressVerification=Eメールアドレス{0}の有効性を確認してください。 confirmExecutionOfActions=次の操作を実行します。 locale_ca=Catal\u00E0 locale_de=Deutsch locale_en=English locale_es=Espa\u00F1ol locale_fr=Fran\u00e7ais locale_it=Italiano locale_ja=\u65E5\u672C\u8A9E locale_nl=Nederlands locale_no=Norsk locale_pl=Polish 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 locale_zh-CN=\u4e2d\u6587\u7b80\u4f53 locale_sk=Sloven\u010Dina locale_sv=Svenska backToApplication=« アプリケーションに戻る missingParameterMessage=不足パラメーター\: {0} clientNotFoundMessage=クライアントが見つかりません。 clientDisabledMessage=クライアントが無効になっています。 invalidParameterMessage=無効なパラメーター\: {0} alreadyLoggedIn=既にログインしています。 differentUserAuthenticated=すでにこのセッションで異なるユーザー''{0}''として認証されています。まずログアウトしてください。 brokerLinkingSessionExpired=要求されたブローカー・アカウントのリンクは、現在のセッションでは有効ではありません。 proceedWithAction=» 続行するにはここをクリックしてください requiredAction.CONFIGURE_TOTP=OTPの設定 requiredAction.terms_and_conditions=利用規約 requiredAction.UPDATE_PASSWORD=パスワードの更新 requiredAction.UPDATE_PROFILE=プロファイルの更新 requiredAction.VERIFY_EMAIL=Eメールの確認 doX509Login=次のユーザーとしてログインします\: clientCertificate=X509クライアント証明書\: noCertificate=[証明書なし] pageNotFound=ページが見つかりません internalServerError=内部サーバーエラーが発生しました console-username=ユーザー名: console-password=パスワード: console-otp=ワンタイム・パスワード: console-new-password=新しいパスワード: console-confirm-password=パスワードの確認: console-update-password=パスワードの更新が必要です。 console-verify-email=メールアドレスを確認する必要があります。確認コードを含むメールを{0}に送信しました。このコードを以下に入力してください。 console-email-code=Eメールコード: console-accept-terms=利用規約に同意しますか? [y/n]: console-accept=y # Openshift messages openshift.scope.user_info=ユーザー情報 openshift.scope.user_check-access=ユーザーアクセス情報 openshift.scope.user_full=フルアクセス openshift.scope.list-projects=プロジェクトの一覧表示 # SAML authentication saml.post-form.title=認証リダイレクト saml.post-form.message=リダイレクトしています。お待ちください。 saml.post-form.js-disabled=JavaScriptが無効になっています。有効にすることを強くお勧めします。継続するには、下のボタンをクリックしてください。 #authenticators otp-display-name=オーセンティケーター・アプリケーション otp-help-text=オーセンティケーター・アプリケーションから取得した確認コードを入力してください。 password-display-name=パスワード password-help-text=パスワードを入力してログインします。 auth-username-form-display-name=ユーザー名 auth-username-form-help-text=ユーザー名を入力してログインを開始します auth-username-password-form-display-name=ユーザー名とパスワード auth-username-password-form-help-text=ユーザー名とパスワードを入力してログインしてください。 # WebAuthn webauthn-display-name=セキュリティーキー webauthn-help-text=セキュリティーキーを使用してログインしてください。 webauthn-passwordless-display-name=セキュリティーキー webauthn-passwordless-help-text=パスワードレス・ログインにセキュリティーキーを使用します。 webauthn-login-title=セキュリティーキー・ログイン webauthn-registration-title=セキュリティーキーの登録 webauthn-available-authenticators=利用可能なオーセンティケーター # WebAuthn Error webauthn-error-title=セキュリティーキー・エラー webauthn-error-registration=セキュリティーキーを登録できませんでした。 webauthn-error-api-get=セキュリティーキーによる認証に失敗しました。 webauthn-error-different-user=最初に認証されたユーザーは、セキュリティーキーによって認証されたユーザーではありません。 webauthn-error-auth-verification=セキュリティーキーの認証結果が無効です。 webauthn-error-register-verification=セキュリティーキーの登録結果が無効です。 webauthn-error-user-not-found=セキュリティーキーで認証された不明なユーザー。 identity-provider-redirector=別のアイデンティティー・プロバイダーと接続する ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_lt.properties ================================================ # encoding: utf-8 doLogIn=Prisijungti doRegister=Registruotis doCancel=Atšaukti doSubmit=Patvirtinti doYes=Taip doNo=Ne doContinue=Tęsti doAccept=Patvirtinti doDecline=Atšaukti doForgotPassword=Pamiršote slaptažodį? doClickHere=Spauskite čia doImpersonate=Apsimesti kaip kerberosNotConfigured=Kerberos nesukonfigūruotas kerberosNotConfiguredTitle=Kerberos nesukonfigūruotas bypassKerberosDetail=Jūs neprisijungęs per Kerberos arba Jūsų naršyklė nesukonfigūruota Kerberos prisijungimui. Tęskite ir pasirinkite kitą prisijungimo būdą kerberosNotSetUp=Kerberos nesukonfigūruotas. Jūs negalite prisijungti. registerWithTitle=Registruotis su {0} registerWithTitleHtml={0} loginTitle=Prisijungti su {0} loginTitleHtml={0} impersonateTitle=Apsimesti kaip naudotojas {0} impersonateTitleHtml=Apsimesti kaip {0} realmChoice=Sritis unknownUser=Nežinomas naudotojas loginTotpTitle=Mobilaus autentifikatoriaus nustatymas loginProfileTitle=Atnaujinti paskyros informaciją loginTimeout=Užtrukote per ilgai. Prisijungimo procesas pradedamas iš naujo. oauthGrantTitle=Suteitikti prieigą oauthGrantTitleHtml={0} errorTitle=Atsiprašome ... errorTitleHtml=Atsiprašome ... emailVerifyTitle=El. pašto adreso patvirtinimas emailForgotTitle=Pamiršote slaptažodį? updatePasswordTitle=Atnaujinti slaptažodį codeSuccessTitle=Sėkmė codeErrorTitle=Klaidos kodas\: {0} termsTitle=Naudojimo sąlygos termsTitleHtml=Naudojimo sąlygos termsText=

Naudojimo sąlygos nenurodytos

recaptchaFailed=Recaptcha neteisingas recaptchaNotConfigured=Reikalingas Recaptcha nesukonfigūruotas consentDenied=Prieiga draudžiama. noAccount=Dar neturite paskyros? username=Naudotojo vardas usernameOrEmail=Naudotojo vardas arba el. pašto adresas firstName=Vardas givenName=Vardas fullName=Pavardė lastName=Pavardė familyName=Pavardė email=El. paštas password=Slaptažodis passwordConfirm=Pakartotas slaptažodis passwordNew=Naujas slaptažodis passwordNewConfirm=Pakartotas naujas slaptažodis rememberMe=Prisiminti mane authenticatorCode=Vienkartinis kodas address=Adresas street=Gatvė locality=Miestas arba vietovė region=Rajonas postal_code=Pašto kodas country=Šalis emailVerified=El. pašto adresas patvirtintas gssDelegationCredential=GSS prisijungimo duomenų delegavimas loginTotpStep1=Įdiekite FreeOTP arba Google Authenticator savo įrenginyje. Programėlės prieinamos Google Play ir Apple App Store. loginTotpStep2=Atidarykite programėlę ir nuskenuokite barkodą arba įveskite kodą. loginTotpStep3=Įveskite programėlėje sugeneruotą vieną kartą galiojantį kodą ir paspauskite Saugoti norėdami prisijungti. loginOtpOneTime=Vienkartinis kodas oauthGrantRequest=Ar Jūs suteikiate šias prieigos teises? inResource=į emailVerifyInstruction1=El. paštas su instrukcijomis ir patvirtinimo nuoroda nusiųsti į Jūsų el. paštą. emailVerifyInstruction2=El. paštu negavote patvirtinimo kodo? emailVerifyInstruction3=pakartotoinai siųsti el. laišką. emailLinkIdpTitle=Susieti {0} emailLinkIdp1=El. pašto laiškas su instrukcijomis susieti {0} paskyrą {1} su {2} buvo nusiųstas. emailLinkIdp2=Negavote patvirtinimo kodo el. paštu? emailLinkIdp3=pakartotoinai siųsti el. laišką. backToLogin=« Grįžti į prisijungimo langą emailInstruction=Įveskite naudotojo vardą arba slaptažodį ir slaptažodžio pakeitimo instrukcijos bus atsiųstos Jums el. paštu copyCodeInstruction=Nukopijuokite šį kodą į Jūsų programą: personalInfo=Asmeninė informacija: role_admin=Administratorius role_realm-admin=Srities administravimas role_create-realm=Kurti sritį role_create-client=Kurti programą role_view-realm=Peržiūrėti sritį role_view-users=Peržiūrėti naudotojus role_view-applications=Peržiūrėti programas role_view-clients=Peržiūrėti klientines programas role_view-events=Peržiūrėti įvykių žurnalą role_view-identity-providers=Peržiūrėti tapatybės teikėjus role_manage-realm=Valdyti sritis role_manage-users=Valdyti naudotojus role_manage-applications=Valdyti programas role_manage-identity-providers=Valdyti tapatybės teikėjus role_manage-clients=Valdyti programas role_manage-events=Valdyti įvykius role_view-profile=Peržiūrėti paskyrą role_manage-account=Valdyti paskyrą role_read-token=Skaityti prieigos rakšą role_offline-access=Darbas neprisijungus client_account=Paskyra client_security-admin-console=Saugumo administravimo konsolė client_admin-cli=Administravimo CLI client_realm-management=Srities valdymas client_broker=Tarpininkas invalidUserMessage=Neteisingas naudotojo vardas arba slaptažodis. invalidEmailMessage=Neteisingas el. pašto adresas. accountDisabledMessage=Paskyros galiojimas sustabdytas, kreipkitės į administratorių. accountTemporarilyDisabledMessage=Paskyros galiojimas laikinai sustabdytas. Kreipkitės į administratorių arba pabandykite vėliau. expiredCodeMessage=Prisijungimo laikas baigėsi. Bandykite dar kartą. missingFirstNameMessage=Prašome įvesti vardą. missingLastNameMessage=Prašome įvesti pavardę. missingEmailMessage=Prašome įvesti el. pašto adresą. missingUsernameMessage=Prašome įvesti naudotojo vardą. missingPasswordMessage=Prašome įvesti slaptažodį. missingTotpMessage=Prašome įvesti autentifikacijos kodą. notMatchPasswordMessage=Slaptažodžiai nesutampa. invalidPasswordExistingMessage=Neteisingas dabartinis slaptažodis. invalidPasswordConfirmMessage=Pakartotas slaptažodis nesutampa. invalidTotpMessage=Neteisingas autentifikacijos kodas. usernameExistsMessage=Toks naudotojas jau egzistuoja. emailExistsMessage=El. pašto adresas jau egzistuoja. federatedIdentityExistsMessage=Naudotojas {0} {1} jau egzistuoja. Prašome prsijungti prie naudotojų valdymo posistemės paskyrų susiejimui. confirmLinkIdpTitle=Paskyra jau egzistuoja federatedIdentityConfirmLinkMessage=Naudotojas {0} {1} jau egzistuoja. Ar tęsti? federatedIdentityConfirmReauthenticateMessage=Prisijunkite norėdami susieti paskyrą su {0} confirmLinkIdpReviewProfile=Peržiūrėti naudotojo profilio informaciją confirmLinkIdpContinue=Susieti su egzistuojančia paskyra configureTotpMessage=Paskyros aktyvavimui Jums reikalingas Mobilus autentifikatorius. updateProfileMessage=Paskyros aktyvavimui Jums reikia atnaujinti profilio informaciją. updatePasswordMessage=Paskyros aktyvavimui Jums reikia pakeisti slaptažodį. verifyEmailMessage=Paskyros aktyvavimui Jums reikia patvirtinti el. pašto adresą. linkIdpMessage=El. pašto adreso susiejimui su Jūsu paskyra {0} reikalingas patvirtinimas. emailSentMessage=Netrukus turėtumėte gauti el. pašto adresą su instrukcijomis. emailSendErrorMessage=Klaida siunčiant el. paštą, bandykite vėliau. accountUpdatedMessage=Jųsų paskyros informacija atnaujinta. accountPasswordUpdatedMessage=Jūsų slaptažodis pakeistas. noAccessMessage=Prieiga negalima invalidPasswordMinLengthMessage=Neteisingas slaptažodis: privalomi bent {0} simboliai. invalidPasswordMinDigitsMessage=Neteisingas slaptažodis: privalomi bent {0} skaitmenys. invalidPasswordMinLowerCaseCharsMessage=Neteisingas slaptažodis: privalomos bent {0} mažosios raidės. invalidPasswordMinUpperCaseCharsMessage=Neteisingas slaptažodis: privalomos bent {0} didžiosios raidės. invalidPasswordMinSpecialCharsMessage=Neteisingas slaptažodis: privalomi bent {0} specialūs simboliai. invalidPasswordNotUsernameMessage=Neteisingas slaptažodis: negali sutapti su naudotojo vardu. invalidPasswordRegexPatternMessage=Neteisingas slaptažodis: neatitinka regexp taisyklės. invalidPasswordHistoryMessage=Neteisingas slaptažodis: negali sutapti su prieš tai naudotais {0} slaptažodžiais. failedToProcessResponseMessage=Klaida apdorojant atsakymą httpsRequiredMessage=Privalomas HTTPS realmNotEnabledMessage=Srities galiojimas išjungtas invalidRequestMessage=Neteisinga užklausa failedLogout=Nepavyko užbaigti sesijos unknownLoginRequesterMessage=Nežinomas prisijungimo prašytojas loginRequesterNotEnabledMessage=Prisijungimo prašytojo galiojimas išjungtas bearerOnlyMessage=Programos, sukonfigūruotos tik kaip perdavėjai, negali inicijuoti prisijungimą per naršyklę. standardFlowDisabledMessage=Su pateiktu atsakymo tipu prisijungimas per naršyklę šiam klientui negalimas. Šiam klientui neįgalinta standartinė seka. implicitFlowDisabledMessage=Su pateiktu atsakymo tipu prisijungimas per naršyklę šiam klientui negalimas. Šiam klientui neįgalinta išreikštinė seka. invalidRedirectUriMessage=Neteisinga nukreipimo nuoroda unsupportedNameIdFormatMessage=Nepalaikomas NameIDFormat invalidRequesterMessage=Neteisingas prašytojas registrationNotAllowedMessage=Registracija negalima resetCredentialNotAllowedMessage=Prisijungimo duomenų atkūrimas negalimas permissionNotApprovedMessage=Teisį nepatvirtinta. noRelayStateInResponseMessage=Tapatybės teikėjo atsakyme trūksta perdavimo būsenos. insufficientPermissionMessage=Trūksta teisių tapatybių susiejimui. couldNotProceedWithAuthenticationRequestMessage=Nepavyksta pradėti tapatybės teikėjo autentifikacijos užklausos. couldNotObtainTokenMessage=Negaunamas prieigos raktas iš tapatybės teikėjo. unexpectedErrorRetrievingTokenMessage=Prieigos rakšo gavimo iš tapatybės teikėjo metu įvyko netikėta klaida. unexpectedErrorHandlingResponseMessage=Tapatybės teikėjo atsakymo apdorojimo metu įvyko netikėta klaida. identityProviderAuthenticationFailedMessage=Autentifikacijos klaida. Nepavyksta autentifikacija su tapatybės teikėju. couldNotSendAuthenticationRequestMessage=Tapatybės teikėjui nepavyksta nusiųsti autentifikacijos užklausos. unexpectedErrorHandlingRequestMessage=Užklausos tapatybės teikėjui formavimo metu įvyko netikėta klaida. invalidAccessCodeMessage=Neteisingas prieigos kodas. sessionNotActiveMessage=Sesija neaktyvi. invalidCodeMessage=Įvyko klaida. Prašome bandyti prisijungti dar kartą. identityProviderUnexpectedErrorMessage=Autentifikavimo su išoriniu tapatybės teikėju metu įvyko netikėta klaida. identityProviderNotFoundMessage=Su nurodytu identifikatoriumi nerastas tapatybės teikėjas. identityProviderLinkSuccess=Jūsų naudotojo paskyra buvo sėkmingai susieta su {0} paskyra {1} . staleCodeMessage=Šis puslapis nebegalioja. Prašome grįžti į programą ir bandyti prisijungti iš naujo. realmSupportsNoCredentialsMessage=Sritis nepalaiko prisijungimų naudojant prisijungimo duomenis. identityProviderNotUniqueMessage=Sritis palaiko daugiau nei vieną tapatybės teikėją. Negalima nustatyti kuris tapatybės teikėjas turi būti naudojamas autentifikacijai. emailVerifiedMessage=Jūsų el. pašto adresas patvirtintas. staleEmailVerificationLink=Nuoroda, kurią paspaudėte nebegalioja? Galbūt Jūs jau patvirtinote el. pašto adresą? backToApplication=« Grįžti į programą missingParameterMessage=Nenurodytas parametras\: {0} clientNotFoundMessage=Nenurodytas klientas. clientDisabledMessage=Kliento galiojimas išjungtas. invalidParameterMessage=Neteisingas parametras\: {0} alreadyLoggedIn=Jūs jau esate prisijungę. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_nl.properties ================================================ # encoding: utf-8 doLogIn=Inloggen doRegister=Registreer doCancel=Annuleer doSubmit=Verzenden doYes=Ja doNo=Nee doContinue=Doorgaan doIgnore=Negeer doAccept=Accepteren doDecline=Afwijzen doForgotPassword=Wachtwoord vergeten? doClickHere=Klik hier doImpersonate=Identiteit overnemen kerberosNotConfigured=Kerberos is niet geconfigureerd kerberosNotConfiguredTitle=Kerberos is niet geconfigureerd bypassKerberosDetail=U bent niet ingelogd via Kerberos of uw browser kan niet met Kerberos inloggen. Klik op 'doorgaan' om via een andere manier in te loggen kerberosNotSetUp=Kerberos is onjuist geconfigureerd. U kunt niet inloggen. registerTitle=Registreer loginTitle=Log in met {0} loginTitleHtml={0} impersonateTitle={0} Identiteit overnemen impersonateTitleHtml={0} Identiteit overnemen realmChoice=Realm unknownUser=Onbekende gebruiker loginTotpTitle=Mobile Authenticator Setup loginProfileTitle=Update accountinformatie loginTimeout=U bent te lang bezig geweest met inloggen. Het inlogproces begint opnieuw. oauthGrantTitle=Verleen Toegang oauthGrantTitleHtml={0} errorTitle=Er is een fout opgetreden... errorTitleHtml=Er is een fout opgetreden... emailVerifyTitle=E-mailadres-verificatie emailForgotTitle=Wachtwoord vergeten? updatePasswordTitle=Wachtwoord updaten codeSuccessTitle=Succescode codeErrorTitle=Foutcode: {0} displayUnsupported=Opgevraagde weergave type is niet ondersteund browserRequired=Om in te loggen is een browser vereist browserContinue=Om het loginproces af te ronden is een browser vereist browserContinuePrompt=Open een browser en ga door met inloggen? [y/n]: browserContinueAnswer=y termsTitle=Voorwaarden termsText=

Gedefinieerde voorwaarden

termsPlainText=Voorwaarden recaptchaFailed=Ongeldige Recaptcha recaptchaNotConfigured=Recaptcha is verplicht, maar niet geconfigureerd consentDenied=Toestemming geweigerd. noAccount=Nieuwe gebruiker? username=Gebruikersnaam usernameOrEmail=Gebruikersnaam of e-mailadres firstName=Voornaam givenName=Voornaam fullName=Volledige naam lastName=Achternaam familyName=Familienaam email=E-mailadres password=Wachtwoord passwordConfirm=Bevestig wachtwoord passwordNew=Nieuw wachtwoord passwordNewConfirm=Bevestiging nieuwe wachtwoord rememberMe=Ingelogd blijven authenticatorCode=Authenticatiecode address=Adres street=Straat locality=Woonplaats region=Provincie of regio postal_code=Postcode country=Land emailVerified=E-mailadres geverifieerd gssDelegationCredential=GSS delegatie Credential profileScopeConsentText=Gebruikersprofiel emailScopeConsentText=E-mailadres addressScopeConsentText=Adres phoneScopeConsentText=Telefoonnummer offlineAccessScopeConsentText=Offline toegang samlRoleListScopeConsentText=Mijn rollen rolesScopeConsentText=Gebruikersrollen loginTotpIntro=U bent verplicht om tweefactor-authenticatie in te stellen om dit account te kunnen gebruiken loginTotpStep1=Installeer een van de volgende applicaties op uw mobile telefoon loginTotpStep2=Open de applicatie en scan de barcode loginTotpStep3=Voer de eenmalige code die door de applicatie is aangeleverd in en klik op 'Verzenden' om de setup te voltooien loginTotpManualStep2=Open de applicatie en voer de sleutel in loginTotpManualStep3=Gebruik de volgende configuratiewaarden (als de applicatie dit ondersteund) loginTotpUnableToScan=Lukt het scannen niet? loginTotpScanBarcode=Scan barcode? loginOtpOneTime=Eenmalige code loginTotpType=Type loginTotpAlgorithm=Algoritme loginTotpDigits=Cijfers loginTotpInterval=Interval loginTotpCounter=Teller loginTotp.totp=Time-based loginTotp.hotp=Counter-based oauthGrantRequest=Wilt u deze toegangsrechten verlenen? inResource=in emailVerifyInstruction1=Een e-mail met instructies om uw e-mailadres te verifiëren is zojuist verzonden. emailVerifyInstruction2=Heeft u geen verificatiecode ontvangen in uw e-mail? emailVerifyInstruction3=om opnieuw een e-mail te versturen. emailLinkIdpTitle=Link {0} emailLinkIdp1=Er is een e-mail met instructies verzonden om {0} account {1} te koppelen met uw {2} account. emailLinkIdp2=Heeft u geen verificatiecode in uw e-mail ontvangen? emailLinkIdp3=om opnieuw een e-mail te versturen. emailLinkIdp4=Als u deze mail al geverifieerd hebt in een andere browser emailLinkIdp5=om door te gaan. backToLogin=« Terug naar Inloggen emailInstruction=Voer uw gebruikersnaam of e-mailadres in en wij sturen u een e-mailbericht met instructies voor het aanmaken van een nieuw wachtwoord. copyCodeInstruction=Kopieer deze code en plak deze in uw applicatie: pageExpiredTitle=Sessie is verlopen pageExpiredMsg1=Om het loginproces opnieuw te doen pageExpiredMsg2=Om door te gaan met het loginproces personalInfo=Persoonlijke informatie: role_admin=Admin role_realm-admin=Realm beheren role_create-realm=Realm aanmaken role_create-client=Client aanmaken role_view-realm=Bekijk realm role_view-users=Bekijk gebruikers role_view-applications=Bekijk applicaties role_view-clients=Bekijk clients role_view-events=Bekijk gebeurtenissen role_view-identity-providers=Bekijk identity providers role_manage-realm=Beheer realm role_manage-users=Gebruikers beheren role_manage-applications=Beheer applicaties role_manage-identity-providers=Beheer identity providers role_manage-clients=Beheer clients role_manage-events=Beheer gebeurtenissen role_view-profile=Profiel bekijken role_manage-account=Beheer account role_manage-account-links=Beheer accountlinks role_read-token=Token lezen role_offline-access=Offline toegang client_account=Account client_security-admin-console=Security Admin Console client_admin-cli=Admin CLI client_realm-management=Realm-beheer client_broker=Broker invalidUserMessage=Ongeldige gebruikersnaam of wachtwoord. invalidEmailMessage=Ongeldig e-mailadres. accountDisabledMessage=Account is uitgeschakeld, neem contact op met beheer. accountTemporarilyDisabledMessage=Account is tijdelijk uitgeschakeld, neem contact op met beheer of probeer het later opnieuw. expiredCodeMessage=Logintijd verlopen. Gelieve opnieuw in te loggen. expiredActionMessage=Actietijd verlopen. Log daarom opnieuw in. expiredActionTokenNoSessionMessage=Actietijd verlopen. expiredActionTokenSessionExistsMessage=Actietijd verlopen. Gelieve de actie opnieuw doen. missingFirstNameMessage=Voer uw voornaam in. missingLastNameMessage=Voer uw achternaam in. missingEmailMessage=Voer uw e-mailadres in. missingUsernameMessage=Voer uw gebruikersnaam in. missingPasswordMessage=Voer uw wachtwoord in. missingTotpMessage=Voer uw authenticatiecode in. notMatchPasswordMessage=Wachtwoorden komen niet overeen. invalidPasswordExistingMessage=Ongeldig bestaand wachtwoord. invalidPasswordBlacklistedMessage=Ongeldig wachtwoord: wachtwoord is geblacklist. invalidPasswordConfirmMessage=Wachtwoord komt niet overeen met wachtwoordbevestiging. invalidTotpMessage=Ongeldige authenticatiecode. usernameExistsMessage=Gebruikersnaam bestaat al. emailExistsMessage=E-mailadres bestaat al. federatedIdentityExistsMessage=Gebruiker met {0} {1} bestaat al. Log in met het beheerdersaccount om het account te koppelen. confirmLinkIdpTitle=Account bestaat al federatedIdentityConfirmLinkMessage=Gebruiker met {0} {1} bestaat al. Hoe wilt u doorgaan? federatedIdentityConfirmReauthenticateMessage=Authenticeer om uw account te koppelen {0} confirmLinkIdpReviewProfile=Nalopen profiel confirmLinkIdpContinue=Voeg toe aan bestaande account configureTotpMessage=U moet de Mobile Authenticator configuren om uw account te activeren. updateProfileMessage=U moet uw gebruikersprofiel bijwerken om uw account te activeren. updatePasswordMessage=U moet uw wachtwoord wijzigen om uw account te activeren. resetPasswordMessage=U moet uw wachtwoord wijzigen. verifyEmailMessage=U moet uw e-mailadres verifiëren om uw account te activeren. linkIdpMessage=U moet uw e-mailadres verifiëren om uw account te koppelen aan {0}. emailSentMessage=U ontvangt binnenkort een e-mail met verdere instructies. emailSendErrorMessage=Het versturen van de e-mail is mislukt, probeer het later opnieuw. accountUpdatedMessage=Uw account is gewijzigd. accountPasswordUpdatedMessage=Uw wachtwoord is gewijzigd. delegationCompleteHeader=Login gelukt delegationCompleteMessage=U mag uw browser sluiten en terug gaan naar uw console applicatie delegationFailedHeader=Login mislukt delegationFailedMessage=U mag uw browser sluiten en terug gaan naar uw console applicatie om daar het loginproces nogmaalt te proberen. noAccessMessage=Geen toegang invalidPasswordMinLengthMessage=Ongeldig wachtwoord, de minimumlengte is {0} karakters. invalidPasswordMinDigitsMessage=Ongeldig wachtwoord, deze moet minstens {0} cijfers bevatten. invalidPasswordMinLowerCaseCharsMessage=Ongeldig wachtwoord, deze moet minstens {0} kleine letters bevatten. invalidPasswordMinUpperCaseCharsMessage=Ongeldig wachtwoord, deze moet minstens {0} hoofdletters bevatten. invalidPasswordMinSpecialCharsMessage=Ongeldig wachtwoord, deze moet minstens {0} speciale tekens bevatten. invalidPasswordNotUsernameMessage=Ongeldig wachtwoord, deze mag niet overeen komen met de gebruikersnaam. invalidPasswordRegexPatternMessage=Ongeldig wachtwoord, deze komt niet overeen met opgegeven reguliere expressie(s). invalidPasswordHistoryMessage=Ongeldig wachtwoord, deze mag niet overeen komen met een van de laatste {0} wachtwoorden. invalidPasswordGenericMessage=Ongeldig wachtwoord: het nieuwe wachtwoord voldoet niet aan de opgestelde eisen. failedToProcessResponseMessage=Het verwerken van de respons is mislukt httpsRequiredMessage=HTTPS vereist realmNotEnabledMessage=Realm niet geactiveerd invalidRequestMessage=Ongeldige request failedLogout=Afmelden is mislukt unknownLoginRequesterMessage=De login requester is onbekend loginRequesterNotEnabledMessage=De login requester is niet geactiveerd bearerOnlyMessage=Bearer-only applicaties mogen geen browserlogin initiëren standardFlowDisabledMessage=Client mag geen browserlogin starten met het opgegeven response_type. Standard flow is uitgeschakeld voor de client. implicitFlowDisabledMessage=Client mag geen browserlogin starten met opgegeven response_type. Implicit flow is uitgeschakeld voor de klant. invalidRedirectUriMessage=Ongeldige redirect-URI unsupportedNameIdFormatMessage=Niet-ondersteunde NameIDFormat invalidRequesterMessage=Ongeldige requester registrationNotAllowedMessage=Registratie is niet toegestaan resetCredentialNotAllowedMessage=Het opnieuw instellen van de aanmeldgegevens is niet toegestaan permissionNotApprovedMessage=Recht verworpen. noRelayStateInResponseMessage=Geen relay state in antwoord van de identity provider. insufficientPermissionMessage=Onvoldoende rechten om identiteiten te koppelen. couldNotProceedWithAuthenticationRequestMessage=Het authenticatieverzoek naar de identity provider wordt afgebroken. couldNotObtainTokenMessage=Kon geen token bemachtigen van de identity provider. unexpectedErrorRetrievingTokenMessage=Onverwachte fout bij het ophalen van de token van de identity provider. unexpectedErrorHandlingResponseMessage=Onverwachte fout bij het verwerken van de respons van de identity provider. identityProviderAuthenticationFailedMessage=Verificatie mislukt. Er kon niet worden geauthenticeerd met de identity provider. couldNotSendAuthenticationRequestMessage=Kan het authenticatieverzoek niet verzenden naar de identity provider. unexpectedErrorHandlingRequestMessage=Onverwachte fout bij het verwerken van het authenticatieverzoek naar de identity provider. invalidAccessCodeMessage=Ongeldige toegangscode. sessionNotActiveMessage=Sessie inactief. invalidCodeMessage=Er is een fout opgetreden, probeer nogmaals in te loggen. identityProviderUnexpectedErrorMessage=Onverwachte fout tijdens de authenticatie met de identity provider identityProviderNotFoundMessage=Geen identity provider gevonden met deze naam. identityProviderLinkSuccess=Uw account is met succes gekoppeld aan {0} account {1}. staleCodeMessage=Deze pagina is verlopen. Keer terug naar uw applicatie om opnieuw in te loggen. realmSupportsNoCredentialsMessage=Realm ondersteunt geen enkel soort aanmeldgegeven. identityProviderNotUniqueMessage=Realm ondersteunt meerdere identity providers. Er kon niet bepaald worden welke identity provider er gebruikt zou moeten worden tijdens de authenticatie. emailVerifiedMessage=Uw e-mailadres is geverifieerd. staleEmailVerificationLink=De link die u gebruikt is verlopen, wellicht omdat u uw e-mailadres al eerder geverifieerd heeft. identityProviderAlreadyLinkedMessage=De door {0} teruggegeven gefedereerde identiteit is al aan een andere gebruiker gekoppeld. confirmAccountLinking=Bevestig dat het account {0} van identity provider {1} overeenkomt met uw account. confirmEmailAddressVerification=Bevestig dat e-mailadres {0} valide is. confirmExecutionOfActions=Voer de volgende actie(s) uit backToApplication=« Terug naar de applicatie missingParameterMessage=Missende parameters: {0} clientNotFoundMessage=Client niet gevonden. clientDisabledMessage=Client is inactief. invalidParameterMessage=Ongeldige parameter: {0} alreadyLoggedIn=U bent al ingelogd. differentUserAuthenticated=U bent in deze sessie al als de gebruiker "{0}" aangemeld. Log eerst uit. brokerLinkingSessionExpired=Broker account linking aangevraagd, maar de huidige sessie in verlopen. proceedWithAction=» Klik hier om verder te gaan requiredAction.CONFIGURE_TOTP=Configureer OTP requiredAction.terms_and_conditions=Voorwaarden requiredAction.UPDATE_PASSWORD=Update wachtwoord requiredAction.UPDATE_PROFILE=Update profiel requiredAction.VERIFY_EMAIL=Verifieer e-mail doX509Login=U wordt ingelogd als\: clientCertificate=X509 client certificate\: noCertificate=[No Certificate] pageNotFound=Pagina niet gevonden internalServerError=Er is een interne serverfout opgetreden console-username=Gebruikersnaam: console-password=Wachtwoord: console-otp=Eenmalige code: console-new-password=Nieuw wachtwoord: console-confirm-password=Bevestig wachtwoord: console-update-password=Een update van uw wachtwoord is verplicht. console-verify-email=U bent verplicht om uw e-mailadres te verifiëren. Een e-mail met de verificatiecode is naar {0} gestuurd. Voer deze code hieronder in. console-email-code=E-mail Code: console-accept-terms=Accepteert u de voorwaarden? [y/n]: console-accept=y ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_no.properties ================================================ doLogIn=Logg inn doRegister=Registrer deg doCancel=Avbryt doSubmit=Send inn doYes=Ja doNo=Nei doContinue=Fortsett doAccept=Aksepter doDecline=Avsl\u00E5 doForgotPassword=Glemt passord? doClickHere=Klikk her doImpersonate=Utgi deg for \u00E5 v\u00E6re en annen bruker kerberosNotConfigured=Kerberos er ikke konfigurert kerberosNotConfiguredTitle=Kerberos er ikke konfigurert bypassKerberosDetail=Enten er du ikke logget inn via Kerberos eller s\u00E5 st\u00F8tter ikke nettleseren innlogging med Kerberos. Vennligst klikk Fortsett for \u00E5 logge inn p\u00E5 andre m\u00E5ter kerberosNotSetUp=Kerberos er ikke konfigurert. Du kan ikke logge inn. registerWithTitle=Registrer deg med {0} registerWithTitleHtml={0} loginTitle=Logg inn p\u00E5 {0} loginTitleHtml={0} impersonateTitle={0} Gi deg ut for \u00E5 v\u00E6re en annen bruker impersonateTitleHtml={0} Gi deg ut for \u00E5 v\u00E6re en annen bruker realmChoice=Sikkerhetsdomene unknownUser=Ukjent bruker loginTotpTitle=Konfigurer autentifikator for mobil loginProfileTitle=Oppdater konto loginTimeout=Du brukte for lang tid p\u00E5 \u00E5 logge inn. Vennligst pr\u00F8v igjen. oauthGrantTitle=Gi tilgang oauthGrantTitleHtml={0} errorTitle=Vi beklager... errorTitleHtml=Vi beklager ... emailVerifyTitle=E-postbekreftelse emailForgotTitle=Glemt passord? updatePasswordTitle=Oppdater passord codeSuccessTitle=Suksesskode codeErrorTitle=Feilkode\: {0} termsTitle=Vilk\u00E5r og betingelser termsTitleHtml=Vilk\u00E5r og betingelser termsText=

Vilk\u00E5r og betingelser kommer

recaptchaFailed=Ugyldig Bildebekreftelse recaptchaNotConfigured=Bildebekreftelse er p\u00E5krevet, men er ikke konfigurert consentDenied=Samtykke avsl\u00E5tt. noAccount=Ny bruker? username=Brukernavn usernameOrEmail=Brukernavn eller e-postadresse firstName=Fornavn givenName=Fornavn fullName=Fullstendig navn lastName=Etternavn familyName=Etternavn email=E-postadresse password=Passord passwordConfirm=Bekreft passord passwordNew=Nytt passord passwordNewConfirm=Bekreft nytt Passord rememberMe=Husk meg authenticatorCode=Engangskode address=Adresse street=Gate-/veinavn + husnummer locality=By region=Fylke postal_code=Postnummer country=Land emailVerified=E-postadresse bekreftet gssDelegationCredential=GSS legitimasjons-delegering loginTotpStep1=Installer FreeOTP eller Google Authenticator p\u00E5 din mobiltelefon. Begge applikasjoner er tilgjengelige p\u00E5 Google Play og Apple App Store. loginTotpStep2=\u00C5pne applikasjonen og skann strekkoden eller skriv inn koden loginTotpStep3=Skriv inn engangskoden fra applikasjonen og klikk send inn for \u00E5 fullf\u00F8re loginOtpOneTime=Engangskode oauthGrantRequest=Vil du gi disse tilgangsrettighetene? inResource=i emailVerifyInstruction1=En e-post med instruksjoner for \u00E5 bekrefte din e-postadresse har blitt sendt til deg. emailVerifyInstruction2=Ikke mottatt en bekreftelseskode i e-posten vi sendte til deg? emailVerifyInstruction3=for \u00E5 sende e-post p\u00E5 nytt. emailLinkIdpTitle=Lenke {0} emailLinkIdp1=En e-post med instruksjoner for \u00E5 koble {0} konto med din {2} konto har blitt sendt til deg. emailLinkIdp2=Ikke mottatt en bekreftelseskode i e-posten vi sendte til deg? emailLinkIdp3=for \u00E5 sende e-post p\u00E5 nytt. backToLogin=« Tilbake til innlogging emailInstruction=Skriv inn e-postadressen din og vi vil sende deg instruksjoner for hvordan du oppretter et nytt passord. copyCodeInstruction=Vennligst kopier denne koden og lim den inn i applikasjonen din: personalInfo=Personlig informasjon: role_admin=Administrator role_realm-admin=Administrator for sikkerhetsdomene role_create-realm=Opprette sikkerhetsdomene role_create-client=Opprette klient 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=Sikkerthetsadministrasjonskonsoll client_realm-management=Sikkerhetsdomene-administrasjon client_broker=Broker invalidUserMessage=Ugyldig brukernavn eller passord. invalidEmailMessage=Ugyldig e-postadresse. accountDisabledMessage=Konto er deaktivert, kontakt administrator. accountTemporarilyDisabledMessage=Konto er midlertidig deaktivert, kontakt administrator eller pr\u00F8v p\u00E5 nytt senere. expiredCodeMessage=Login ble tidsavbrutt. Vennligst logg inn p\u00E5 nytt. missingFirstNameMessage=Vennligst oppgi fornavn. missingLastNameMessage=Vennligst oppgi etternavn. missingEmailMessage=Vennligst oppgi e-postadresse. missingUsernameMessage=Vennligst oppgi brukernavn. missingPasswordMessage=Vennligst oppgi passord. missingTotpMessage=Vennligst oppgi autentiseringskode. notMatchPasswordMessage=Passordene er ikke like. invalidPasswordExistingMessage=Ugyldig eksisterende passord. invalidPasswordConfirmMessage=Passord er ikke like. invalidTotpMessage=Ugyldig engangskode. usernameExistsMessage=Brukernavnet finnes allerede. emailExistsMessage=E-post finnes allerede. federatedIdentityExistsMessage=Bruker med {0} {1} finnes allerede. Vennligst logg inn p\u00E5 kontoadministratsjon for \u00E5 koble sammen kontoene. confirmLinkIdpTitle=Kontoen finnes allerede federatedIdentityConfirmLinkMessage=Bruker med {0} {1} finnes allerede. Hvordan vil du fortsette? #federatedIdentityConfirmReauthenticateMessage=Bekreft at du er {0} for \u00E5 koble din konto med {1} confirmLinkIdpReviewProfile=Se over og bekreft profil confirmLinkIdpContinue=Legg til eksisterende konto configureTotpMessage=Du m\u00E5 sette opp en engangskode-generator for \u00E5 aktivere konto. updateProfileMessage=Du m\u00E5 oppdatere brukerprofilen din for \u00E5 aktivere konto. updatePasswordMessage=Du m\u00E5 skifte passord for \u00E5 aktivere kontoen din. verifyEmailMessage=Du m\u00E5 bekrefte e-postadressen din for \u00E5 aktivere konto. linkIdpMessage=You need to verify your email address to link your account with {0}. emailSentMessage=Du vil straks motta en e-post med ytterlige instruksjoner. emailSendErrorMessage=Mislyktes \u00E5 sende e-post, vennligst pr\u00F8v igjen senere. accountUpdatedMessage=Din konto har blitt oppdatert. accountPasswordUpdatedMessage=Ditt passord har blitt oppdatert. noAccessMessage=Ingen tilgang invalidPasswordMinLengthMessage=Ugyldig passord: minimum lengde {0}. invalidPasswordMinDigitsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sifre. invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sm\u00E5 bokstaver. 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. failedToProcessResponseMessage=Kunne ikke behandle svar httpsRequiredMessage=HTTPS p\u00E5krevd realmNotEnabledMessage=Sikkerhetsdomene er ikke aktivert invalidRequestMessage=Ugyldig foresp\u00F8rsel failedLogout=Utlogging feilet unknownLoginRequesterMessage=Ukjent anmoder for innlogging loginRequesterNotEnabledMessage=Anmoder for innlogging er ikke aktivert bearerOnlyMessage=Bearer-only applikasjoner har ikke lov til \u00E5 initiere innlogging via nettleser standardFlowDisabledMessage=Klienten har ikke lov til \u00E5 initiere innlogging via nettleser med gitt response_type. Standard flow er deaktivert for denne klienten. implicitFlowDisabledMessage=Klienten har ikke lov til \u00E5 initiere innlogging via nettleser med gitt response_type. Implicit flow er deaktivert for denne klienten. invalidRedirectUriMessage=Ugyldig redirect uri unsupportedNameIdFormatMessage=NameIDFormat er ikke st\u00F8ttet invalidRequesterMessage=Ugyldig sender av foresp\u00F8rsel registrationNotAllowedMessage=Registrering er ikke lov resetCredentialNotAllowedMessage=Tilbakestilling av innloggingsdata er ikke lov permissionNotApprovedMessage=Tillatelse ikke godkjent. noRelayStateInResponseMessage=Ingen relay state i svar fra identitetsleverand\u00F8r. insufficientPermissionMessage=Utilstrekkelige rettigheter for \u00E5 koble identiteter. couldNotProceedWithAuthenticationRequestMessage=Kunne ikke g\u00E5 videre med autentiseringsforesp\u00F8rsel til identitetsleverand\u00F8r. couldNotObtainTokenMessage=Klarte ikke \u00E5 innhente token fra identitetsleverand\u00F8r. unexpectedErrorRetrievingTokenMessage=Uventet feil ved henting av token fra identitetsleverand\u00F8r. unexpectedErrorHandlingResponseMessage=Uventet feil ved h\u00E5ndtering av svar fra identitetsleverand\u00F8r. identityProviderAuthenticationFailedMessage=Autentisering feilet. Kunne ikke autentisere med identitetsleverand\u00F8r. couldNotSendAuthenticationRequestMessage=Kunne ikke sende autentiseringsforesp\u00F8rsel til identitetsleverand\u00F8r. unexpectedErrorHandlingRequestMessage=Uventet feil ved h\u00E5ndtering av autentiseringsforesp\u00F8rsel til identitetsleverand\u00F8r. invalidAccessCodeMessage=Ugyldig tilgangskode. sessionNotActiveMessage=Sesjonen er ikke aktiv. invalidCodeMessage=En feil oppstod, vennligst logg inn p\u00E5 nytt i din applikasjon. identityProviderUnexpectedErrorMessage=Uventet feil ved autentisering med identitetsleverand\u00F8r identityProviderNotFoundMessage=Kunne ikke finne en identitetsleverand\u00F8r med identifikatoren. identityProviderLinkSuccess=Din konto ble suksessfullt koblet med {0} konto {1}. staleCodeMessage=Denne siden er ikke lenger gyldig. Vennligst g\u00E5 tilbake til applikasjonen din og logg inn p\u00E5 nytt. realmSupportsNoCredentialsMessage=Sikkerhetsdomene st\u00F8tter ingen legitimasjonstyper. identityProviderNotUniqueMessage=Sikkerhetsdomene st\u00F8tter flere identitetsleverand\u00F8rer. Kunne ikke avgj\u00F8re hvilken identitetsleverand\u00F8r som burde brukes for autentisering. emailVerifiedMessage=Din e-postadresse har blitt verifisert. staleEmailVerificationLink=Lenken du klikket er utg\u00E5tt og er ikke lenger gyldig. Har du kanskje allerede bekreftet e-postadressen din? 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_nl=Nederlands 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_zh-CN=\u4e2d\u6587\u7b80\u4f53 backToApplication=« Tilbake til applikasjonen missingParameterMessage=Manglende parameter\: {0} clientNotFoundMessage=Klient ikke funnet. clientDisabledMessage=Klient deaktivert. invalidParameterMessage=Ugyldig parameter\: {0} alreadyLoggedIn=Du er allerede innlogget. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_pl.properties ================================================ # encoding: UTF-8 doLogIn=Logowanie doRegister=Rejestracja doCancel=Anuluj doSubmit=Zatwierdź doYes=Tak doNo=Nie doContinue=Kontynuuj doIgnore=Ignoruj doAccept=Akceptuj doDecline=Odrzuć doForgotPassword=Nie pamiętasz hasła? doClickHere=Kliknij tutaj doImpersonate=Wciel się kerberosNotConfigured=Kerberos nie jest skonfigurowany kerberosNotConfiguredTitle=Kerberos nie jest skonfigurowany bypassKerberosDetail=Albo nie jesteś zalogowany przez Kerberos albo twoja przeglądarka nie jest skonfigurowana do logowania Kerberos. Kliknij kontynuuj by zalogować się w inny sposób. kerberosNotSetUp=Kerberos nie jest skonfigurowany. Nie można się zalogować. registerTitle=Rejestracja loginTitle=Zaloguj się do {0} loginTitleHtml={0} impersonateTitle=Wcielenie {0} impersonateTitleHtml=Wcielenie {0} realmChoice=Strefa unknownUser=Nieznany użytkownik loginTotpTitle=Konfiguracja dla Mobile Authenticator loginProfileTitle=Zaktualizuj informacje konta loginTimeout=Zbyt dużo czasu zajęło logowanie. Proces logowania rozpocznie się od nowa. oauthGrantTitle=Przydziel dostęp dla {0} oauthGrantTitleHtml={0} errorTitle=Przykro nam... errorTitleHtml=Przykro nam... emailVerifyTitle=Weryfikacja e-maila emailForgotTitle=Nie pamiętasz hasła? updatePasswordTitle=Aktualizacja hasła codeSuccessTitle=Kod sukcesu codeErrorTitle=Kod błędu\: {0} displayUnsupported=Żądany typ wyświetlania jest nieobsługiwany browserRequired=Do zalogowania wymagana jest przeglądarka browserContinue=Przeglądarka jest wymagana by dokończyć logowanie browserContinuePrompt=Otworzyć przeglądarkę i kontynuować logowanie? [t/n]\: browserContinueAnswer=t termsTitle=Regulamin termsText=

Regulamin, który należy zdefiniować

termsPlainText=Regulamin, który należy zdefiniować. recaptchaFailed=Błędna Recaptcha recaptchaNotConfigured=Recaptcha jest wymagana, ale nie skonfigurowana consentDenied=Zgoda odrzucona. noAccount=Nie masz konta? username=Nazwa użytkownika (login) usernameOrEmail=Nazwa użytkownika lub e-mail (login) firstName=Imię givenName=Nadane imię fullName=Pełne imię i nazwisko lastName=Nazwisko familyName=Nazwisko rodowe email=E-mail password=Hasło passwordConfirm=Potwierdź hasło passwordNew=Nowe hasło passwordNewConfirm=Potwierdzenie nowego hasła rememberMe=Zapamiętaj mnie authenticatorCode=Kod jednorazowy address=Adres street=Ulica locality=Miejscowość region=Województwo postal_code=Kod pocztowy country=Państwo emailVerified=Email zweryfikowany gssDelegationCredential=Świadectwo przekazania uprawnień GSS profileScopeConsentText=Profil użytkownika emailScopeConsentText=Adres email addressScopeConsentText=Adres phoneScopeConsentText=Numer telefonu offlineAccessScopeConsentText=Dostęp offline samlRoleListScopeConsentText=Moje role loginTotpIntro=Aby uzyskać dostęp do tego konta, musisz skonfigurować generator haseł jednorazowych loginTotpStep1=Zainstaluj jedną z następujących aplikacji na telefonie komórkowym loginTotpStep2=Otwórz aplikację i zeskanuj kod kreskowy loginTotpStep3=Wprowadź jednorazowy kod podany przez aplikację i kliknij Prześlij aby zakończyć konfigurację loginTotpManualStep2=Otwórz aplikację i wprowadź klucz loginTotpManualStep3=Użyj poniższych wartości konfiguracji, jeśli aplikacja pozwala na ich ustawienie loginTotpUnableToScan=Nie można skanować? loginTotpScanBarcode=Zeskanować kod paskowy? loginOtpOneTime=Kod jednorazowy loginTotpType=Typ loginTotpAlgorithm=Algorytm loginTotpDigits=Cyfry loginTotpInterval=Interwał loginTotpCounter=Licznik loginTotp.totp=Oparte o czas loginTotp.hotp=Oparte o licznik oauthGrantRequest=Czy przyznajesz te uprawnienia dostępu? inResource=w emailVerifyInstruction1=Została wysłana do Ciebie wiadomość e-mail z instrukcjami jak zweryfikować swój adres e-mail. emailVerifyInstruction2=Nie otrzymałem kodu weryfikacyjnego w wiadomości e-mail? emailVerifyInstruction3=aby ponownie wysłać wiadomość e-mail. emailLinkIdpTitle=Link {0} emailLinkIdp1=Wiadomość e-mail z instrukcjami, aby powiązać konto {0} {1} z kontem {2} została wysłana do Ciebie. emailLinkIdp2=Nie otrzymałem kodu weryfikacyjnego w wiadomości e-mail? emailLinkIdp3=aby ponownie wysłać wiadomość e-mail. emailLinkIdp4=Jeśli już zweryfikowana e-mail w innej przeglądarce emailLinkIdp5=aby kontynuować. backToLogin=« Powrót do logowania emailInstruction=Wpisz swój adres e-mail lub nazwę użytkownika a wyślemy do Ciebie instrukcje, jak utworzyć nowe hasło. copyCodeInstruction=Proszę skopiować ten kod i wklej go do aplikacji\: pageExpiredTitle=Strona wygasła pageExpiredMsg1=Aby ponownie uruchomić proces logowania pageExpiredMsg2=Aby kontynuować proces logowania personalInfo=Informacje osobiste\: role_admin=Admin role_realm-admin=Strefa Admin role_create-realm=Utwórz strefę role_create-client=Utwórz klienta role_view-realm=Wyświetl strefę role_view-users=Wyświetl użytkowników role_view-applications=Wyświetl aplikacje role_view-clients=Wyświetl klientów role_view-events=Wyświetl zdarzenia role_view-identity-providers=Wyświetl dostawców tożsamości role_manage-realm=Zarządzaj strefą role_manage-users=Zarządzaj użytkownikami role_manage-applications=Zarządzaj aplikacjami role_manage-identity-providers=Zarządzaj dostawcami tożsamości role_manage-clients=Zarządzaj klientami role_manage-events=Zarządzaj zdarzeniami role_view-profile=Zobacz profil role_manage-account=Zarządzaj kontem role_manage-account-links=Zarządzanie łączami konta role_read-token=Odczytu tokenu role_offline-access=Dostęp offline client_account=Konta client_security-admin-console=Konsola administratora bezpieczeństwa client_admin-cli=Admin CLI client_realm-management=Zarządzanie strefą client_broker=Broker invalidUserMessage=Nieprawidłowa nazwa użytkownika lub hasło. invalidEmailMessage=Nieprawidłowy adres e-mail. accountDisabledMessage=Konto jest wyłączone, skontaktuj się z administratorem. accountTemporarilyDisabledMessage=Konto jest tymczasowo wyłączone, skontaktuj się z administratorem lub spróbuj ponownie później. expiredCodeMessage=Przekroczono limit czasu logowania. Proszę Zaloguj się ponownie. expiredActionMessage=Akcja wygasła. Proszę kontynuować logowanie. expiredActionTokenNoSessionMessage=Akcja wygasła. expiredActionTokenSessionExistsMessage=Akcja wygasła. Proszę uruchomić ponownie. missingFirstNameMessage=Proszę podać imię. missingLastNameMessage=Proszę podać nazwisko. missingEmailMessage=Proszę podać e-mail. missingUsernameMessage=Proszę podać nazwę użytkownika. missingPasswordMessage=Proszę podać hasło. missingTotpMessage=Proszę podać kod uwierzytelniającego. notMatchPasswordMessage=Hasła nie są zgodne. invalidPasswordExistingMessage=Nieprawidłowe istniejące hasło. invalidPasswordBlacklistedMessage=Nieprawidłowe hasło\: hasło jest na czarnej liście. invalidPasswordConfirmMessage=Potwierdzenie hasła nie pasuje. invalidTotpMessage=Nieprawidłowy kod uwierzytelnienia. usernameExistsMessage=Nazwa użytkownika już istnieje. emailExistsMessage=Email już istnieje. federatedIdentityExistsMessage=Użytkownik z {0} {1} już istnieje. Zaloguj się do zarządzania kontem aby połączyć konto. confirmLinkIdpTitle=Konto już istnieje federatedIdentityConfirmLinkMessage=Użytkownik z {0} {1} już istnieje. Co chcesz zrobić? federatedIdentityConfirmReauthenticateMessage=Uwierzytelnij się aby połączyć swoje konto z {0} confirmLinkIdpReviewProfile=Przejrzyj profil confirmLinkIdpContinue=Dodaj do istniejącego konta configureTotpMessage=Musisz skonfigurować Mobile Authenticator aby aktywować swoje konto. updateProfileMessage=Musisz zaktualizować profilu użytkownika aby aktywować swoje konto. updatePasswordMessage=Musisz zmienić swoje hasło aby aktywować swoje konto. resetPasswordMessage=Musisz zmienić swoje hasło. verifyEmailMessage=Musisz zweryfikować swój adres e-mail aby aktywować swoje konto. linkIdpMessage=Musisz zweryfikować swój adres e-mail, aby połączyć swoje konto z {0}. emailSentMessage=Powinieneś otrzymywać wkrótce pocztę z dalszymi instrukcjami. emailSendErrorMessage=Nie można wysłać wiadomości e-mail, proszę spróbować ponownie później. accountUpdatedMessage=Twoje konto zostało zaktualizowane. accountPasswordUpdatedMessage=Twoje hasło zostało zaktualizowane. delegationCompleteHeader=Logowanie udane delegationCompleteMessage=Możesz zamknąć okno przeglądarki i przejść wstecz do aplikacji konsoli. delegationFailedHeader=Logowanie nie powiodło się delegationFailedMessage=Możesz zamknąć okno przeglądarki, wrócić do aplikacji konsoli i spróbować zalogować się ponownie. noAccessMessage=Brak dostępu invalidPasswordMinLengthMessage=Nieprawidłowe hasło\: minimalna długość {0}. invalidPasswordMinDigitsMessage=Nieprawidłowe hasło\: musi zawierać przynajmniej {0} cyfr. invalidPasswordMinLowerCaseCharsMessage=Nieprawidłowe hasło\: musi zawierać co najmniej {0} małych liter. invalidPasswordMinUpperCaseCharsMessage=Nieprawidłowe hasło\: musi zawierać co najmniej {0} wielkich liter. invalidPasswordMinSpecialCharsMessage=Nieprawidłowe hasło\: musi zawierać przynajmniej {0} znaków specjalnych. invalidPasswordNotUsernameMessage=Nieprawidłowe hasło\: nie może być nazwą użytkownika. invalidPasswordRegexPatternMessage=Nieprawidłowe hasło\: brak zgodności z wyrażeniem regularnym. invalidPasswordHistoryMessage=Nieprawidłowe hasło\: nie może być takie jak {0} ostatnich haseł. invalidPasswordGenericMessage=Nieprawidłowe hasło\: nowe hasło nie jest zgodne z zasadami haseł. failedToProcessResponseMessage=Nie można przetworzyć odpowiedzi httpsRequiredMessage=Wymagany HTTPS realmNotEnabledMessage=Strefa nie jest aktywna invalidRequestMessage=Nieprawidłowe żądanie failedLogout=Wylogowanie nie powiodło się unknownLoginRequesterMessage=Nieznany żądający logowania loginRequesterNotEnabledMessage=Żądający logowania nie jest aktywny bearerOnlyMessage=Klienci bearer-only nie mogą inicjować logowania przez przeglądarkę standardFlowDisabledMessage=Klient nie może zainicjować logowania przez przeglądarkę z podanym response_type. Standardowy przepływ jest wyłączony dla klienta. implicitFlowDisabledMessage=Klient nie może zainicjować logowania przez przeglądarkę z podanym response_type. Niejawny przepływ jest wyłączony dla klienta. invalidRedirectUriMessage=Nieprawidłowy uri przekierowania unsupportedNameIdFormatMessage=Nieobsługiwany NameIDFormat invalidRequesterMessage=Nieprawidłowy żądający registrationNotAllowedMessage=Rejestracja nie jest dozwolona resetCredentialNotAllowedMessage=Zresetowanie poświadczeń nie jest dozwolone permissionNotApprovedMessage=Uprawnienie nie zatwierdzone. noRelayStateInResponseMessage=Brak przekazanego stanu w odpowiedzi dostawcy tożsamości. insufficientPermissionMessage=Niewystarczające uprawnienia do łączenia tożsamości. couldNotProceedWithAuthenticationRequestMessage=Nie można kontynuować żądania uwierzytelnienia do dostawcy tożsamości. couldNotObtainTokenMessage=Nie można uzyskać tokenu od dostawcy tożsamości. unexpectedErrorRetrievingTokenMessage=Nieoczekiwany błąd podczas pobierania tokenu od dostawcy tożsamości. unexpectedErrorHandlingResponseMessage=Nieoczekiwany błąd podczas obsługi odpowiedzi od dostawcy tożsamości. identityProviderAuthenticationFailedMessage=Uwierzytelnianie nie powiodło się. Nie można uwierzytelnić za pomocą dostawcy tożsamości. couldNotSendAuthenticationRequestMessage=Nie może wysyłać żądania uwierzytelniania do dostawcy tożsamości. unexpectedErrorHandlingRequestMessage=Nieoczekiwany błąd podczas obsługi żądania uwierzytelnienia do dostawcy tożsamości. invalidAccessCodeMessage=Nieprawidłowy kod dostępu. sessionNotActiveMessage=Sesja nie jest aktywna. invalidCodeMessage=Wystąpił błąd, zaloguj się ponownie za pośrednictwem aplikacji. identityProviderUnexpectedErrorMessage=Nieoczekiwany błąd podczas uwierzytelniania u dostawcy tożsamości identityProviderNotFoundMessage=Nie można odnaleźć dostawcy tożsamości z tym identyfikatorem. identityProviderLinkSuccess=Pomyślnie zweryfikowano e-mail. Wróć do oryginalnej przeglądarki i tam kontynuuj logowanie. staleCodeMessage=Ta strona nie jest już ważna, proszę wrócić do aplikacji i zalogować się ponownie realmSupportsNoCredentialsMessage=Strefa nie obsługuje dowolnego typu poświadczeń. identityProviderNotUniqueMessage=Strefa obsługuje wielu dostawców tożsamości. Nie można określić dostawcy tożsamości, który powinien być używany do uwierzytelniania. emailVerifiedMessage=Twój adres e-mail został zweryfikowany. staleEmailVerificationLink=Użyto nieaktualny link stanu, który stracił ważność. Może e-mail został już zweryfikowany? identityProviderAlreadyLinkedMessage=Stowarzyszona tożsamość, zwrócona przez {0} jest już połączona z innym użytkownikiem. confirmAccountLinking=Potwierdź powiązanie konta {0} dostawcy tożsamości {1} z twoim kontem. confirmEmailAddressVerification=Potwierdź ważność adresu e-mail {0}. confirmExecutionOfActions=Wykonaj następujące akcje locale_ca=Kataloński locale_de=Niemiecki locale_en=Angielski locale_es=Hiszpański locale_fr=Francuzki locale_it=Włoski locale_ja=Japoński locale_nl=Holenderski locale_no=Norweski locale_pl=Polski locale_pt_BR=Portugalski (Brazylia) locale_pt-BR=Portugalski (Brazylia) locale_ru=Rosyjski locale_lt=Litewski locale_zh-CN=Chiński uproszczony locale_sk=Słowacki locale_sv=Szwedzki backToApplication=« Powrót do aplikacji missingParameterMessage=Brakujące parametry\: {0} clientNotFoundMessage=Klient nie znaleziony. clientDisabledMessage=Klient nieaktywny. invalidParameterMessage=Nieprawidłowy parametr\: {0} alreadyLoggedIn=Jesteś już zalogowany. differentUserAuthenticated=Jesteś już uwierzytelniona/y jako inny użytkownik ''{0}'' w tej sesji. Najpierw się wyloguj. brokerLinkingSessionExpired=Żądano łączenia kont brokera, ale bieżąca sesja już jest nieważna. proceedWithAction=» kliknij tutaj, aby przejść requiredAction.CONFIGURE_TOTP=Skonfiguruj OTP requiredAction.terms_and_conditions=Regulamin requiredAction.UPDATE_PASSWORD=Zaktualizuj hasło requiredAction.UPDATE_PROFILE=Zaktualizuj profil requiredAction.VERIFY_EMAIL=Zweryfikuj adres e-mail doX509Login=Użytkownik będzie zalogowany jako\: clientCertificate=X509 certyfikat klienta\: noCertificate=[brak certyfikatu] pageNotFound=Nie znaleziono strony internalServerError=Wystąpił błąd wewnętrzny serwera console-username=Nazwa użytkownika\: console-password=Hasło\: console-otp=Hasło jednorazowe\: console-new-password=Nowe hasło\: console-confirm-password=Potwierdź hasło\: console-update-password=Aktualizacja hasła jest wymagana. console-verify-email=Musisz zweryfikować swój adres e-mail. Wiadomość e-mail z kodem weryfikacyjnym została wysłana do {0}. Podaj ten kod poniżej. console-email-code=Kod z e-mail\: console-accept-terms=Akceptujesz warunki? [t/n]\: console-accept=t ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_pt_BR.properties ================================================ doLogIn=Entrar doRegister=Cadastre-se doCancel=Cancelar doSubmit=Ok doBack=Voltar doYes=Sim doNo=N\u00E3o doContinue=Continuar doIgnore=Ignorar doAccept=Aceitar doDecline=Rejeitar doForgotPassword=Esqueceu sua senha? doClickHere=Clique aqui doImpersonate=Personificar doTryAgain=Tente novamente doTryAnotherWay=Tente outra forma kerberosNotConfigured=Kerberos N\u00E3o Configurado kerberosNotConfiguredTitle=Kerberos N\u00E3o Configurado bypassKerberosDetail=Ou voc\u00EA n\u00E3o est\u00E1 logado via Kerberos ou o seu navegador n\u00E3o est\u00E1 configurado para login Kerberos. Por favor, clique em continuar para fazer o login no atrav\u00E9s de outros meios kerberosNotSetUp=Kerberos n\u00E3o est\u00E1 configurado. Voc\u00EA n\u00E3o pode acessar. registerTitle=Registre-se loginTitle=Entrar em {0} loginTitleHtml={0} impersonateTitle={0} Personificar Usu\u00E1rio impersonateTitleHtml={0} Personificar Usu\u00E1rio realmChoice=Dom\u00EDnio unknownUser=Usu\u00E1rio desconhecido loginTotpTitle=Configura\u00E7\u00E3o do autenticador mobile loginProfileTitle=Atualiza\u00E7\u00E3o das Informa\u00E7\u00F5es da Conta loginTimeout=Voc\u00EA demorou muito para entrar. Por favor, refa\u00E7a o processo de login a partir do in\u00EDcio. oauthGrantTitle=Concess\u00E3o OAuth oauthGrantTitleHtml={0} errorTitle=N\u00F3s lamentamos... errorTitleHtml=N\u00F3s lamentamos ... emailVerifyTitle=Verifica\u00E7\u00E3o de e-mail emailForgotTitle=Esqueceu sua senha? updatePasswordTitle=Atualiza\u00E7\u00E3o de senha codeSuccessTitle=C\u00F3digo de sucesso codeErrorTitle=C\u00F3digo de erro\: {0} displayUnsupported=Tipo de exibi\u00E7\u00E3o solicitado n\u00E3o suportado browserRequired=Navegador necess\u00E1rio para efetuar login browserContinue=Navegador necess\u00E1rio para concluir o login browserContinuePrompt=Abrir navegador e continuar o login? [s/n]: browserContinueAnswer=s termsTitle=Termos e Condi\u00E7\u00F5es termsText=

Termos e condi\u00E7\u00F5es a serem definidos

termsPlainText=Termos e condi\u00E7\u00F5es a serem definidos. recaptchaFailed=Recaptcha inv\u00E1lido recaptchaNotConfigured=Recaptcha \u00E9 requerido, mas n\u00E3o foi configurado consentDenied=Consentimento negado. noAccount=Novo usu\u00E1rio? username=Nome de usu\u00E1rio usernameOrEmail=Nome de usu\u00E1rio ou e-mail firstName=Primeiro nome givenName=Primeiro nome fullName=Nome completo lastName=Sobrenome familyName=Sobrenome email=E-mail password=Senha passwordConfirm=Confirme a senha passwordNew=Nova senha passwordNewConfirm=Confirma\u00E7\u00E3o da nova senha rememberMe=Mantenha-me conectado authenticatorCode=C\u00F3digo autenticador address=Endere\u00E7o street=Logradouro locality=Cidade ou localidade region=Estado postal_code=CEP country=Pa\u00EDs emailVerified=E-mail verificado gssDelegationCredential=Delega\u00E7\u00E3o de Credenciais GSS profileScopeConsentText=Perfil de usu\u00E1rio emailScopeConsentText=Endere\u00E7o de e-mail addressScopeConsentText=Endere\u00E7o phoneScopeConsentText=N\u00FAmero de telefone offlineAccessScopeConsentText=Acesso Offline samlRoleListScopeConsentText=Meus Perfis de Acesso rolesScopeConsentText=Perfis de Acesso do Usu\u00E1rio restartLoginTooltip=Reiniciar o login loginTotpIntro=Voc\u00EA precisa configurar um gerador de c\u00F3digo de uso \u00FAnico para acessar esta conta loginTotpStep1=Instale um dos seguintes aplicativos no seu celular: loginTotpStep2=Abra o aplicativo e leia o QRCode: loginTotpStep3=Digite o c\u00F3digo \u00FAnico fornecido pelo aplicativo e clique em Ok para concluir a configura\u00E7\u00E3o. loginTotpStep3DeviceName=Forne\u00E7a um nome de dispositivo para ajud\u00E1-lo a gerenciar seus dispositivos OTP. loginTotpManualStep2=Abra o aplicativo e digite a chave: loginTotpManualStep3=Use os seguintes valores de configura\u00E7\u00E3o se o aplicativo permitir defini-los: loginTotpUnableToScan=N\u00E3o foi poss\u00EDvel ler o QRCode? loginTotpScanBarcode=Ler QRCode? loginCredential=Credencial loginOtpOneTime=C\u00F3digo \u00FAnico loginTotpType=Tipo loginTotpAlgorithm=Algoritmo loginTotpDigits=D\u00EDgitos loginTotpInterval=Intervalo loginTotpCounter=Contador loginTotpDeviceName=Nome do dispositivo loginTotp.totp=Baseado em tempo loginTotp.hotp=Baseado em contador loginChooseAuthenticator=Selecione o m\u00E9todo de login oauthGrantRequest=Voc\u00EA concede esses privil\u00E9gios de acesso? inResource=em emailVerifyInstruction1=Um e-mail com instru\u00E7\u00F5es para verificar o seu endere\u00E7o de e-mail foi enviado para voc\u00EA. emailVerifyInstruction2=N\u00E3o recebeu um c\u00F3digo de verifica\u00E7\u00E3o em seu e-mail? emailVerifyInstruction3=para reenviar o e-mail. emailLinkIdpTitle=Vincular {0} emailLinkIdp1=Um e-mail com instru\u00E7\u00F5es para vincular a conta {0} {1} com sua conta {2} foi enviado para voc\u00EA. emailLinkIdp2=N\u00E3o recebeu um c\u00F3digo de verifica\u00E7\u00E3o no e-mail? emailLinkIdp3=para reenviar o e-mail. emailLinkIdp4=Se voc\u00EA j\u00E1 verificou o email em outro navegador emailLinkIdp5=para continuar. backToLogin=« Voltar ao Login emailInstruction=Digite seu nome de usu\u00E1rio ou endere\u00E7o de e-mail e n\u00F3s lhe enviaremos instru\u00E7\u00F5es sobre como criar uma nova senha. copyCodeInstruction=Por favor, copie o c\u00F3digo e cole-o em seu aplicativo: pageExpiredTitle=A p\u00E1gina expirou pageExpiredMsg1=Para reiniciar o processo de login pageExpiredMsg2=Para continuar o processo de login personalInfo=Informa\u00E7\u00F5es Pessoais: role_admin=Admininstrador role_realm-admin=Admininstrador do Dom\u00EDnio role_create-realm=Criar dom\u00EDnio role_create-client=Criar cliente role_view-realm=Visualizar dom\u00EDnio role_view-users=Visualizar usu\u00E1rios role_view-applications=Visualizar aplicativos role_view-clients=Visualizar clientes role_view-events=Visualizar eventos role_view-identity-providers=Visualizar provedores de identidade role_manage-realm=Gerenciar dom\u00EDnio role_manage-users=Gerenciar usu\u00E1rios role_manage-applications=Gerenciar aplicativos role_manage-identity-providers=Gerenciar provedores de identidade role_manage-clients=Gerenciar clientes role_manage-events=Gerenciar eventos role_view-profile=Visualizar perfil role_manage-account=Gerenciar contas role_manage-account-links=Gerenciar v\00ED nculos de conta role_read-token=Ler token role_offline-access=Acesso offline client_account=Conta client_account-console=Console da Conta client_security-admin-console=Console de Administra\u00E7\u00E3o de Seguran\u00E7a client_admin-cli=Admin CLI client_realm-management=Gerenciamento de Dom\u00EDnio client_broker=Provedor de Identidade requiredFields=Campos obrigat\u00F3rios invalidUserMessage=Nome de usu\u00E1rio ou senha inv\u00E1lida. invalidUsernameMessage=Nome de usu\u00E1rio inv\u00E1lido. invalidUsernameOrEmailMessage=Nome de usu\u00E1rio ou e-mail inv\u00E1lido. invalidPasswordMessage=Senha inv\u00E1lida. invalidEmailMessage=E-mail inv\u00E1lido. accountDisabledMessage=Conta desativada, contate o administrador. accountTemporarilyDisabledMessage=Conta temporariamente indispon\u00EDvel, contate o administrador ou tente novamente mais tarde. expiredCodeMessage=Tempo de login expirado. Por favor, fa\u00E7a login novamente. expiredActionMessage=A\u00E7\u00E3o expirada. Por favor, continue com o login agora. expiredActionTokenNoSessionMessage=A\u00E7\u00E3o expirada. expiredActionTokenSessionExistsMessage=A\u00E7\u00E3o expirada. Por favor, comece novamente. missingFirstNameMessage=Por favor, informe o primeiro nome. missingLastNameMessage=Por favor, informe o sobrenome. missingEmailMessage=Por favor, informe o e-mail. missingUsernameMessage=Por favor, informe o nome de usu\u00E1rio. missingPasswordMessage=Por favor, informe a senha. missingTotpMessage=Por favor, informe o c\u00F3digo autenticador. missingTotpDeviceNameMessage=Por favor, informe o nome do dispositivo. notMatchPasswordMessage=As senhas n\u00E3o coincidem. invalidPasswordExistingMessage=Senha atual inv\u00E1lida. invalidPasswordBlacklistedMessage=Senha inv\u00E1lida de acordo com as pol\u00EDticas estabelecidas para o dom\u00EDnio. invalidPasswordConfirmMessage=Senha de confirma\u00E7\u00E3o n\u00E3o coincide. invalidTotpMessage=C\u00F3digo autenticador inv\u00E1lido. usernameExistsMessage=Nome de usu\u00E1rio j\u00E1 existe. emailExistsMessage=E-mail j\u00E1 existe. federatedIdentityExistsMessage=Usu\u00E1rio com {0} {1} j\u00E1 existe. Por favor, entre em gerenciamento de contas para vincular a conta. confirmLinkIdpTitle=Conta j\u00E1 existente federatedIdentityConfirmLinkMessage=Usu\u00E1rio com {0} {1} j\u00E1 existe. Como voc\u00EA quer continuar? federatedIdentityConfirmReauthenticateMessage=Autenticar para vincular sua conta com {0} confirmLinkIdpReviewProfile=Revisar informa\u00E7\u00F5es do perfil confirmLinkIdpContinue=Vincular \u00E0 conta existente configureTotpMessage=Voc\u00EA precisa configurar seu celular com o autenticador Mobile para ativar sua conta. updateProfileMessage=Voc\u00EA precisa atualizar o seu perfil de usu\u00E1rio para ativar sua conta. updatePasswordMessage=Voc\u00EA precisa mudar sua senha para ativar sua conta. resetPasswordMessage=Voc\u00EA precisa mudar sua senha. verifyEmailMessage=Voc\u00EA precisa verificar o seu endere\u00E7o de e-mail para ativar sua conta. linkIdpMessage=Voc\u00EA precisa confirmar o seu endere\u00E7o de e-mail para vincular sua conta com {0}. emailSentMessage=Voc\u00EA dever\u00E1 receber um e-mail em breve com mais instru\u00E7\u00F5es. emailSendErrorMessage=Falha ao enviar e-mail, por favor, tente novamente mais tarde. accountUpdatedMessage=Sua conta foi atualizada. accountPasswordUpdatedMessage=Sua senha foi atualizada. delegationCompleteHeader=Autentica\u00E7\u00E3o Bem Sucedida delegationCompleteMessage=YVoc\00EA pode fechar esta janela do navegador e voltar ao seu aplicativo. delegationFailedHeader=Falha na Autentica\u00E7\u00E3o delegationFailedMessage=Voc\u00EA pode fechar esta janela do navegador e voltar ao aplicativo e tentar fazer login novamente. noAccessMessage=Sem acesso invalidPasswordMinLengthMessage=Senha inv\u00E1lida\: comprimento m\u00EDnimo {0} invalidPasswordMinDigitsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} n\u00FAmero(s) invalidPasswordMinLowerCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) min\u00FAsculo 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. invalidPasswordGenericMessage=Senha inv\u00E1lida: a nova senha n\u00E3o corresponde \u00E0s pol\u00EDticas de senha. failedToProcessResponseMessage=Falha ao processar a resposta httpsRequiredMessage=HTTPS requerido realmNotEnabledMessage=Dom\u00EDnio desativado invalidRequestMessage=Pedido inv\u00E1lido failedLogout=Falha ao sair unknownLoginRequesterMessage=Solicitante de login desconhecido loginRequesterNotEnabledMessage=Solicitante de login desativado bearerOnlyMessage=Aplicativos somente ao portador n\u00E3o tem permiss\u00E3o para iniciar o login pelo navegador standardFlowDisabledMessage=Cliente n\u00E3o tem permiss\u00E3o para iniciar o login com response_type informado. O fluxo padr\u00E3o est\u00E1 desabilitado para o cliente. implicitFlowDisabledMessage=Cliente n\u00E3o tem permiss\u00E3o para iniciar o login com response_type informado. O fluxo impl\u00EDcito est\u00E1 desabilitado para o cliente. invalidRedirectUriMessage=URI de redirecionamento inv\u00E1lido unsupportedNameIdFormatMessage=NameIDFormat n\u00E3o suportado invalidRequesterMessage=Solicitante inv\u00E1lido registrationNotAllowedMessage=Registro n\u00E3o permitido. resetCredentialNotAllowedMessage=N\u00E3o \u00E9 permitido redefinir credencial. permissionNotApprovedMessage=Permiss\u00E3o n\u00E3o aprovada. noRelayStateInResponseMessage=Sem estado de retransmiss\u00E3o na resposta do provedor de identidade. insufficientPermissionMessage=Permiss\u00F5es insuficientes para vincular identidades. couldNotProceedWithAuthenticationRequestMessage=N\u00E3o foi poss\u00EDvel proceder \u00E0 solicita\u00E7\u00E3o de autentica\u00E7\u00E3o para provedor de identidade. couldNotObtainTokenMessage=N\u00E3o foi poss\u00EDvel obter token do provedor de identidade. unexpectedErrorRetrievingTokenMessage=Erro inesperado ao recuperar token do provedor de identidade. unexpectedErrorHandlingResponseMessage=Erro inesperado ao manusear resposta do provedor de identidade. identityProviderAuthenticationFailedMessage=Falha na autentica\u00E7\u00E3o. N\u00E3o foi poss\u00EDvel autenticar com o provedor de identidade. couldNotSendAuthenticationRequestMessage=N\u00E3o foi poss\u00EDvel enviar solicita\u00E7\u00E3o de autentica\u00E7\u00E3o para o provedor de identidade. unexpectedErrorHandlingRequestMessage=Erro inesperado ao manusear pedido de autentica\u00E7\u00E3o para provedor de identidade. invalidAccessCodeMessage=C\u00F3digo de acesso inv\u00E1lido. sessionNotActiveMessage=Sess\u00E3o inativa. invalidCodeMessage=C\u00F3digo inv\u00E1lido, por favor fa\u00E7a login novamente atrav\u00E9s de sua aplica\u00E7\u00E3o. identityProviderUnexpectedErrorMessage=Erro inesperado durante a autentica\u00E7\u00E3o com o provedor de identidade identityProviderNotFoundMessage=N\u00E3o foi poss\u00EDvel encontrar um provedor de identidade com o identificador. identityProviderLinkSuccess=Sua conta foi vinculada com sucesso com {0} conta {1} . staleCodeMessage=Esta p\u00E1gina n\u00E3o \u00E9 mais v\u00E1lida. Volte ao seu aplicativo e fa\u00E7a login novamente realmSupportsNoCredentialsMessage=O dom\u00EDnio n\u00E3o suporta qualquer tipo de credencial. credentialSetupRequired=N\u00E3o \u00E9 poss\u00EDvel fazer o login, \u00E9 necess\u00E1ria configura\u00E7\u00E3o de credencial. identityProviderNotUniqueMessage=O dom\u00EDnio suporta m\u00FAltiplos provedores de identidade. N\u00E3o foi poss\u00EDvel determinar qual o provedor de identidade deve ser usado para se autenticar. emailVerifiedMessage=O seu endere\u00E7o de e-mail foi confirmado. staleEmailVerificationLink=O link em que voc\u00EA clicou \u00E9 um link antigo e n\u00E3o \u00E9 mais v\u00E1lido. Talvez voc\u00EA j\u00E1 tenha verificado seu e-mail. identityProviderAlreadyLinkedMessage=A conta retornada do {0} j\u00E1 est\u00E1 vinculada a outro usu\u00E1rio. confirmAccountLinking=Confirme a vincula\u00E7\u00E3o da conta {0} do provedor de identidade {1} \u00E0 sua conta. confirmEmailAddressVerification=Confirme a validade do endere\u00E7o de e-mail {0}. confirmExecutionOfActions=Execute a(s) seguinte(s) a\u00E7\u00E3o(\u00F5es) locale_ca=Catal\u00E0 locale_de=Deutsch locale_en=English locale_es=Espa\u00F1ol locale_fr=Fran\u00E7ais locale_it=Italiano locale_ja=\u65E5\u672C\u8A9E locale_nl=Nederlands locale_no=Norsk locale_pl=Polish 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 locale_zh-CN=\u4E2D\u6587\u7B80\u4F53 locale_sk=Sloven\u010Dina locale_sv=Svenska backToApplication=« Voltar para o aplicativo missingParameterMessage=Par\u00E2metros ausentes\: {0} clientNotFoundMessage=Cliente n\u00E3o encontrado. clientDisabledMessage=Cliente desativado. invalidParameterMessage=Par\u00E2mentro inv\u00E1lido\: {0} alreadyLoggedIn=Voc\u00EA j\u00E1 est\u00E1 logado. differentUserAuthenticated=Voc\u00EA j\u00E1 est\u00E1 autenticado como usu\u00E1rio diferente ''{0}'' nesta sess\u00E3o. Por favor, saia primeiro. brokerLinkingSessionExpired=Vincula\u00E7\u00E3o de conta do provedor de identidade solicitada, mas a sess\u00E3o atual n\u00E3o \u00E9 mais v\u00E1lida. proceedWithAction=» Clique aqui para continuar requiredAction.CONFIGURE_TOTP=Configurar OTP requiredAction.terms_and_conditions=Termos e Condi\u00E7\u00F5es requiredAction.UPDATE_PASSWORD=Atualizar Senha requiredAction.UPDATE_PROFILE=Atualizar Perfil requiredAction.VERIFY_EMAIL=Verificar E-mail doX509Login=Voc\u00EA ser\u00E1 logado como\: clientCertificate=Certificado X509 do cliente\: noCertificate=[Sem Certificado] pageNotFound=P\u00E1gina n\u00E3o encontrada internalServerError=Ocorreu um erro interno no servidor console-username=Nome do usu\u00E1rio: console-password=Senha: console-otp=C\u00F3digo \u00FAnico: console-new-password=Nova Senha: console-confirm-password=Confirma\u00E7\u00E3o de senha: console-update-password=\u00C9 necess\u00E1rio atualizar sua senha. console-verify-email=Voc\u00EA precisa verificar seu endere\u00E7o de e-mail. Enviamos um email para {0} que cont\u00E9m um c\u00F3digo de verifica\u00E7\u00E3o. Digite este c\u00F3digo no campo abaixo. console-email-code=C\u00F3digo do email: console-accept-terms=Aceita os termos? [s/n]: console-accept=s # Openshift messages openshift.scope.user_info=Informa\u00E7\u00E3o do usu\u00E1rio openshift.scope.user_check-access=Informa\u00E7\u00E3o de acesso do usu\u00E1rio openshift.scope.user_full=Acesso Completo openshift.scope.list-projects=Listar projetos # SAML authentication saml.post-form.title=Redirecionamento de autentica\u00E7\u00E3o saml.post-form.message=Redirecionando. Por favor, aguarde. saml.post-form.js-disabled=O JavaScript est\u00E1 desabilitado. \u00C9 altamente recomend\u00E1vel habilit\u00E1-lo. Clique no bot\u00E3o abaixo para continuar. #authenticators otp-display-name=Aplicativo Autenticador otp-help-text=Digite um c\u00F3digo de verifica\u00E7\u00E3o do aplicativo autenticador. password-display-name=Senha password-help-text=Fa\u00E7a o login digitando sua senha. auth-username-form-display-name=Nome de usu\u00E1rio auth-username-form-help-text=Fa\u00E7a o login digitando seu nome de usu\u00E1rio. auth-username-password-form-display-name=Nome de usu\u00E1rio e senha auth-username-password-form-help-text=Fa\u00E7a o login digitando seu nome de usu\u00E1rio e senha. # WebAuthn webauthn-display-name=Chave de Seguran\u00E7a webauthn-help-text=Use sua chave de seguran\u00E7a para fazer login. webauthn-passwordless-display-name=Chave de Seguran\u00E7a webauthn-passwordless-help-text=Use sua chave de seguran\u00E7a para fazer login sem senha. webauthn-login-title=Login com Chave de Seguran\u00E7a webauthn-registration-title=Registro com Chave de Seguran\u00E7a webauthn-available-authenticators=Autenticadores dispon\u00EDveis # WebAuthn Error webauthn-error-title=Erro de Chave de Seguran\u00E7a webauthn-error-registration=Falha ao registrar sua Chave de Seguran\u00E7a. webauthn-error-api-get=Falha ao autenticar usando Chave de Seguran\u00E7a. webauthn-error-different-user=O primeiro usu\u00E1rio autenticado n\u00E3o \u00E9 aquele autenticado pela Chave de Seguran\u00E7a. webauthn-error-auth-verification=O resultado da autentica\u00E7\u00E3o da Chave de Seguran\u00E7a \u00E9 inv\u00E1lido. webauthn-error-register-verification=O resultado do registro da Chave de Seguran\u00E7a \u00E9 inv\u00E1lido. webauthn-error-user-not-found=Usu\u00E1rio desconhecido autenticado pela Chave de Seguran\u00E7a. identity-provider-redirector=Conecte-se com outro Provedor de Identidade ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_ru.properties ================================================ # encoding: utf-8 doLogIn=Вход doRegister=Регистрация doCancel=Отмена doSubmit=Подтвердить doYes=Да doNo=Нет doContinue=Продолжить doAccept=Подтвердить doDecline=Отменить doForgotPassword=Забыли пароль? doClickHere=Нажмите сюда doImpersonate=Имперсонализироваться kerberosNotConfigured=Kerberos не сконфигурирован kerberosNotConfiguredTitle=Kerberos не сконфигурирован bypassKerberosDetail=Либо вы не вошли в систему с помощью Kerberos, либо ваш браузер не настроен для входа в систему Kerberos. Пожалуйста, нажмите кнопку 'Продолжить' для входа в с помощью других средств kerberosNotSetUp=Kerberos не настроен. Вы не можете войти. registerWithTitle=Зарегистрироваться с {0} registerWithTitleHtml={0} loginTitle=Log in to {0} loginTitleHtml={0} impersonateTitle={0} Имперсонализация пользователя impersonateTitleHtml={0} Имперсонализация пользователя realmChoice=Realm unknownUser=Неизвестный пользователь loginTotpTitle=Настройка мобильного аутентификатора loginProfileTitle=Обновление информации учетной записи loginTimeout=Вы слишком долго бездействовали. Процесс аутентификации начнется с начала. oauthGrantTitle=Согласовать доступ oauthGrantTitleHtml={0} errorTitle=Мы сожалеем... errorTitleHtml=Мы сожалеем ... emailVerifyTitle=Подтверждение адреса E-mail emailForgotTitle=Забыли пароль? updatePasswordTitle=Обновление пароля codeSuccessTitle=Успешный код codeErrorTitle=Ошибочный код\: {0} termsTitle=Условия и положения termsTitleHtml=Условия и положения termsText=

Условия и положения должны быть определены

recaptchaFailed=Некорректная Recaptcha recaptchaNotConfigured=Recaptcha требуется, но не сконфигурирована consentDenied=В согласовании отказано. noAccount=Новый пользователь? username=Имя пользователя usernameOrEmail=Имя пользователя или E-mail firstName=Имя givenName=Выданное имя fullName=Полное имя lastName=Фамилия familyName=Фамилия email=E-mail password=Пароль passwordConfirm=Подтверждение пароля passwordNew=Новый пароль passwordNewConfirm=Подтверждение нового пароля rememberMe=Запомнить меня authenticatorCode=Одноразовый код address=Адрес street=Улица locality=Город region=Регион postal_code=Почтовый индекс country=Страна emailVerified=E-mail подтвержден gssDelegationCredential=Делегирование учетных данных GSS loginTotpStep1=Установите FreeOTP или Google Authenticator. Оба приложения доступны в Google Play и Apple App Store. loginTotpStep2=Откройте приложение и просканируйте баркод, либо введите ключ loginTotpStep3=Введите одноразовый пароль, выданный приложением, и нажмите сохранить для завершения установки loginOtpOneTime=Одноразовый пароль oauthGrantRequest=Вы согласуете доступ к этим привелегиям? inResource=в emailVerifyInstruction1=Вам было отправлено письмо с инструкциями для подтверждения адреса E-mail. emailVerifyInstruction2=Не получили письмо с кодом подтверждения? emailVerifyInstruction3=для повторной отправки письма. emailLinkIdpTitle=Связать {0} emailLinkIdp1=Вам было отправлено письмо с инструкциями по объединению {0} учетной записи {1} с вашей учетной записью {2}. emailLinkIdp2=Не получили код подтверждения на ваш E-mail? emailLinkIdp3=для повторной отправки письма. backToLogin=« Назад ко входу emailInstruction=Введите Ваше имя пользователя или E-mail и мы вышлем Вам инструкции по получению нового пароля. copyCodeInstruction=Пожалуйста, скопируйте этот код в приложение: personalInfo=Персональная информация: role_admin=Администратор role_realm-admin=Администратор realm role_create-realm=Создание realm role_create-client=Создание клиента 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=Оффлайн доступ client_account=Учетная запись client_security-admin-console=Консоль администратора безопасности client_admin-cli=Командный интерфейс администратора client_realm-management=Управление realm client_broker=Брокер invalidUserMessage=Неправильное имя пользователя или пароль. invalidEmailMessage=Неправильный E-mail. accountDisabledMessage=Учетная запись заблокирована, свяжитесь с администратором. accountTemporarilyDisabledMessage=Учетная запись временно заблокирована, свяжитесь с администратором или попробуйте позже. expiredCodeMessage=Вход просрочен по таймауту. Пожалуйста, войдите снова. missingFirstNameMessage=Пожалуйста введите имя. missingLastNameMessage=Пожалуйста введите фамилию. missingEmailMessage=Пожалуйста введите E-mail. missingUsernameMessage=Пожалуйста введите имя пользователя. missingPasswordMessage=Пожалуйста введите пароль. missingTotpMessage=Пожалуйста введите код аутентификатора. notMatchPasswordMessage=Пароли не совпадают. invalidPasswordExistingMessage=Неверный существующий пароль. invalidPasswordConfirmMessage=Подтверждение пароля не совпадает. invalidTotpMessage=Неверный код аутентификатора. usernameExistsMessage=Имя пользователя уже занято. emailExistsMessage=E-mail уже существует. federatedIdentityExistsMessage=Пользователь с {0} {1} уже существует. Пожалуйста войдите в управление учетными записями, чтобы связать эту учетную запись. confirmLinkIdpTitle=Учетная запись уже существует federatedIdentityConfirmLinkMessage=Пользователь с {0} {1} уже сущестует. Хотите продолжить? federatedIdentityConfirmReauthenticateMessage=Аутентифицируйтесь, чтобы связать Вашу учетную запись с {0} confirmLinkIdpReviewProfile=Обзор профиля confirmLinkIdpContinue=Добавить в существующую учетную запись configureTotpMessage=Вам необходимо настроить аутентификатор в мобильном устройстве, чтобы активировать учетную запись. updateProfileMessage=Вам необходимо обновить свой профиль, чтобы активировать Вашу учетную запись. updatePasswordMessage=Вам необходимо изменить пароль, чтобы активировать Вашу учетную запись. verifyEmailMessage=Вам необходимо подтвердить Ваш E-mail, чтобы активировать Вашу учетную запись. linkIdpMessage=Вам необходимо подтвердить Ваш E-mail, чтобы связать Вашу учетную запись с {0}. emailSentMessage=В ближайшее время Вы должны получить письмо с дальнейшими инструкциями. emailSendErrorMessage=Не получается отправить письмо. Пожалуйста, повторите позже. accountUpdatedMessage=Ваша учетная запись успешно обновлена. accountPasswordUpdatedMessage=Ваш пароль успешно обновлен. noAccessMessage=Нет доступа invalidPasswordMinLengthMessage=Некорректный пароль: длина пароля должна быть не менее {0} символов(а). invalidPasswordMinDigitsMessage=Некорректный пароль: пароль должен содержать не менее {0} цифр(ы). invalidPasswordMinLowerCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в нижнем регистре. invalidPasswordMinUpperCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в верхнем регистре. invalidPasswordMinSpecialCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} спецсимволов(а). invalidPasswordNotUsernameMessage=Некорректный пароль: пароль не должен совпадать с именем пользователя. invalidPasswordRegexPatternMessage=Некорректный пароль: пароль не прошел проверку по регулярному выражению. invalidPasswordHistoryMessage=Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролем(ями). invalidPasswordGenericMessage=Некорректный пароль: новый пароль не соответствует правилам пароля. failedToProcessResponseMessage=Не удалось обработать ответ httpsRequiredMessage=Требуется HTTPS realmNotEnabledMessage=Realm не включен invalidRequestMessage=Неверный запрос failedLogout=Выйти не удалось unknownLoginRequesterMessage=Неизвестный клиент loginRequesterNotEnabledMessage=Клиент отключен bearerOnlyMessage=Bearer-only приложениям не разрешается инициализация входа через браузер standardFlowDisabledMessage=Клиенту не разрешается инициировать вход через браузер с данным response_type. Standard flow отключен для этого клиента. implicitFlowDisabledMessage=Клиенту не разрешается инициировать вход через браузер с данным response_type. Implicit flow отключен для этого клиента. invalidRedirectUriMessage=Неверный uri для переадресации unsupportedNameIdFormatMessage=Неподдерживаемый NameIDFormat invalidRequesterMessage=Неверный запрашивающий registrationNotAllowedMessage=Регистрация не разрешена resetCredentialNotAllowedMessage=Сброс идентификационных данных не разрешен permissionNotApprovedMessage=Разрешение не подтверждено. noRelayStateInResponseMessage=Нет изменения состояния в ответе от провайдера учетных записей. insufficientPermissionMessage=Недостаточно полномочий для связывания идентификаторов. couldNotProceedWithAuthenticationRequestMessage=Невозможно обработать аутентификационный запрос в провайдере учетных записей. couldNotObtainTokenMessage=Не удалось получить токен от провайдера учетных записей. unexpectedErrorRetrievingTokenMessage=Непредвиденная ошибка при получении токена от провайдера учетных записей. unexpectedErrorHandlingResponseMessage=Непредвиденная ошибка при обработке ответа от провайдера учетных записей. identityProviderAuthenticationFailedMessage=Аутентификация провалена. Невозможно аутентифицировать с поставщиком учетных записей. couldNotSendAuthenticationRequestMessage=Не получается выполнить запрос аутентификации к поставщику учетных записей. unexpectedErrorHandlingRequestMessage=Непредвиденная ошибка при обработке запроса аутентификации поставщика учетных записей. invalidAccessCodeMessage=Неверный код доступа. sessionNotActiveMessage=Сессия не активна. invalidCodeMessage=Произошла ошибка. Пожалуйста, войдите в систему снова через ваше приложение. identityProviderUnexpectedErrorMessage=Непредвиденная ошибка при проверке подлинности поставщика учетных записей. identityProviderNotFoundMessage=Не удалось найти поставщика учетных записей с данным идентификатором. identityProviderLinkSuccess=Ваша учетная запись была успешно соединена с {0} учетной записью {1} . staleCodeMessage=Эта страница больше не действительна, пожалуйста, вернитесь в приложение и снова войдите в систему. realmSupportsNoCredentialsMessage=Realm не поддерживает никакой тип учетных данных. identityProviderNotUniqueMessage=Realm поддерживает несколько поставщиков учетных записей. Не удалось определить, какой именно поставщик должен использоваться для аутентификации. emailVerifiedMessage=Ваш E-mail был подтвержден. staleEmailVerificationLink=Ссылка, по которой Вы перешли, устарела и больше не действует. Может быть, вы уже подтвердили свой E-mail? backToApplication=« Назад в приложение missingParameterMessage=Пропущенные параметры\: {0} clientNotFoundMessage=Клиент не найден. clientDisabledMessage=Клиент отключен. invalidParameterMessage=Неверный параметр\: {0} alreadyLoggedIn=Вы уже вошли. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_sk.properties ================================================ # encoding: utf-8 doLogIn=Prihlásenie doRegister=Registrácia doCancel=Zrušiť doSubmit=Odoslať doYes=Áno doNo=Nie doContinue=Pokračovať doAccept=Potvrdiť doDecline=Odmietnuť doForgotPassword=Zabudli ste heslo? doClickHere=Kliknite tu doImpersonate=Prevteliť kerberosNotConfigured=Kerberos nie je nakonfigurovaný kerberosNotConfiguredTitle=Kerberos nie je nakonfigurovaný bypassKerberosDetail=Buď nie ste prihlásený cez Kerberos, alebo váš prehliadač nie je nastavený na prihlásenie do Kerberos. Kliknutím na tlačidlo Pokračovať sa prihláste iným spôsobom kerberosNotSetUp=Kerberos nie je nastavený. Nemôžete sa prihlásiť. registerWithTitle=Registrácia s {0} registerWithTitleHtml={0} loginTitle=Prihlásenie do {0} loginTitleHtml={0} impersonateTitle={0} prevteliť sa impersonateTitleHtml={0} Prevteliť sa realmChoice=Realm unknownUser=Neznámy používateľ loginTotpTitle=Nastavenie mobilného autentifikátora loginProfileTitle=Aktualizácia informácií o účte loginTimeout=Prihlasovanie trvalo príliš dlho. Prihlasovací proces začína od začiatku. oauthGrantTitle=Poskytnúť prístup oauthGrantTitleHtml={0} errorTitle=Je nám ľúto ... errorTitleHtml=Ospravedlňujeme sa ... emailVerifyTitle=Overenie e-mailom emailForgotTitle=Zabudli ste heslo? updatePasswordTitle=Aktualizácia hesla codeSuccessTitle=Kód úspechu codeErrorTitle=Kód chyby\: {0} termsTitle=Zmluvné podmienky termsTitleHtml=Zmluvné podmienky termsText=

Zmluvné podmienky, ktoré sa majú definovať

recaptchaFailed=Neplatné Recaptcha recaptchaNotConfigured=Recaptcha sa vyžaduje, ale nie je nakonfigurovaná consentDenied=Súhlas bol zamietnutý. noAccount=Nový používateľ? username=Prihlasovacie meno usernameOrEmail=Prihlasovacie meno alebo e-mail firstName=Meno givenName=Meno pri narodení fullName=Celé meno lastName=Priezvisko familyName=Rodné meno email=E-mail password=Heslo passwordConfirm=Potvrdenie hesla passwordNew=Nové heslo passwordNewConfirm=Potvrdenie nového hesla rememberMe=Zapamätať si ma authenticatorCode=Jednorazový kód address=Adresa street=Ulica locality=Mesto alebo lokalita region=Kraj postal_code=PSČ country=Štát emailVerified=E-mail overený gssDelegationCredential=GSS delegované oprávnenie loginTotpStep1=Nainštalujte FreeOTP alebo Google Authenticator na mobil. Obidve aplikácie sú k dispozícii v Google Play a Apple App Store. loginTotpStep2=Otvorte aplikáciu a skenujte čiarový kód alebo zadajte kľúč loginTotpStep3=Zadajte jednorazový kód poskytnutý aplikáciou a kliknutím na tlačidlo Odoslať dokončite nastavenie loginTotpManualStep2=Otvorte aplikáciu a zadajte kľúč loginTotpManualStep3=Používajte nasledujúce hodnoty konfigurácie, ak aplikácia umožňuje ich nastavenie loginTotpUnableToScan=Nemožno skenovať? loginTotpScanBarcode=Skenovať čiarový kód? loginOtpOneTime=Jednorázový kód loginTotpType=Typ loginTotpAlgorithm=Algoritmus loginTotpDigits=Číslica loginTotpInterval=Interval loginTotpCounter=Počítadlo loginTotp.totp=Založené na čase loginTotp.hotp=Založené na počítadle oauthGrantRequest=Udeľujete tieto prístupové oprávnenia? inResource=v emailVerifyInstruction1=Bol Vám odoslaný e-mail s pokynmi na overenie vašej e-mailovej adresy. emailVerifyInstruction2=Nezískali ste v e-maili overovací kód? emailVerifyInstruction3=opätovne odoslať e-mail. emailLinkIdpTitle=Odkaz {0} emailLinkIdp1=Bol vám odoslaný e-mail s pokynmi na prepojenie účtu {0} {1} s vaším účtom {2}. emailLinkIdp2=Nezískali ste v e-maili verifikačný kód? emailLinkIdp3=opätovne poslať e-mail. emailLinkIdp4=Ak ste už overili e-mail v inom prehliadači emailLinkIdp5=pokračovať. backToLogin=« Späť na prihlásenie emailInstruction=Zadajte svoje používateľské meno alebo e-mailovú adresu a my vám zašleme pokyny na vytvorenie nového hesla. copyCodeInstruction=Prosím skopírujte tento kód a vložte ho do vašej aplikácie: pageExpiredTitle=Platnosť stránky vypršala pageExpiredMsg1=Pre reštartovanie prihlasovacieho procesu pageExpiredMsg2=Pokračovanie prihlasovacieho procesu personalInfo=Osobné informácie: role_admin=Administrátor role_realm-admin=Realm administrátor role_create-realm=Vytvoriť realm role_create-client=Vytvoriť klienta role_view-realm=Zobraziť realm role_view-users=Zobraziť používateľov role_view-applications=Zobraziť aplikácie role_view-clients=Zobrazenie klientov role_view-events=Zobraziť udalosti role_view-identity-providers=Zobrazenie poskytovateľov identity role_manage-realm=Spravovať realm role_manage-users=Spravovať používateľov role_manage-applications=Spravovať aplikácie role_manage-identity-providers=Spravovať poskytovateľov identity role_manage-clients=Spravovať klientov role_manage-events=Spravovať udalosti role_view-profile=Zobraziť profil role_manage-account=Spravovať účty role_manage-account-links=Spravovať odkazy na účty role_read-token=Čítať token role_offline-access=Offline prístup client_account=Účet klienta client_security-admin-console=Administrátorská bezpečnostná konzola klienta client_admin-cli=Správca CLI client_realm-management=Správa realmov klienta client_broker=Broker invalidUserMessage=Neplatné používateľské meno alebo heslo. invalidEmailMessage=Neplatná e-mailová adresa. accountDisabledMessage=Účet je zakázaný, kontaktujte administrátora. accountTemporarilyDisabledMessage=Účet je dočasne zakázaný, kontaktujte administrátora alebo skúste neskôr. expiredCodeMessage=Platnosť prihlásenia vypršala. Prihláste sa znova. expiredActionMessage=Akcia vypršala. Pokračujte prihlásením. expiredActionTokenNoSessionMessage=Akcia vypršala. expiredActionTokenSessionExistsMessage=Platnosť vypršala. Začnite znova. missingFirstNameMessage=Zadajte krstné meno. missingLastNameMessage=Zadajte priezvisko. missingEmailMessage=Zadajte e-mail. missingUsernameMessage=Zadajte používateľské meno. missingPasswordMessage=Zadajte prosím heslo. missingTotpMessage=Prosím, zadajte kód autentifikátora. notMatchPasswordMessage=Heslá sa nezhodujú. invalidPasswordExistingMessage=Neplatné existujúce heslo. invalidPasswordBlacklistedMessage=Neplatné heslo: heslo je na čiernej listine. invalidPasswordConfirmMessage=Potvrdenie hesla sa nezhoduje. invalidTotpMessage=Neplatný kód autentifikátora. usernameExistsMessage=Užívateľské meno už existuje. emailExistsMessage=E-mail už existuje. federatedIdentityExistsMessage=Používateľ s {0} {1} už existuje. Ak chcete prepojiť účet, prihláste sa na správu účtov. confirmLinkIdpTitle=Účet už existuje federatedIdentityConfirmLinkMessage=Používateľ s {0} {1} už existuje. Ako chcete pokračovať? federatedIdentityConfirmReauthenticateMessage=Overiť prepojiť váš účet s {0} confirmLinkIdpReviewProfile=Skontrolujte profil confirmLinkIdpContinue=Pridať do existujúceho účtu configureTotpMessage=Na aktiváciu vášho účtu musíte nastaviť aplikáciu Mobile Authenticator. updateProfileMessage=Ak chcete aktivovať svoj účet, musíte aktualizovať svoj užívateľský profil. updatePasswordMessage=Ak chcete aktivovať svoj účet, musíte zmeniť heslo. resetPasswordMessage=Potrebujete zmeniť svoje heslo. verifyEmailMessage=Ak chcete aktivovať svoj účet, musíte overiť svoju e-mailovú adresu. linkIdpMessage=Potrebujete si overiť svoju e-mailovú adresu a prepojiť svoj účet s {0}. emailSentMessage=Zakrátko by ste mali dostať e-mail s ďalšími pokynmi. emailSendErrorMessage=Nepodarilo sa odoslať e-mail, skúste to znova neskôr. accountUpdatedMessage=Váš účet bol aktualizovaný. accountPasswordUpdatedMessage=Vaše heslo bolo aktualizované. noAccessMessage=Žiadny prístup invalidPasswordMinLengthMessage=Neplatné heslo: minimálna dĺžka {0}. invalidPasswordMinDigitsMessage=Neplatné heslo: musí obsahovať aspoň {0} číslic. invalidPasswordMinLowerCaseCharsMessage=Neplatné heslo: musí obsahovať minimálne {0} malé písmená. invalidPasswordMinUpperCaseCharsMessage=Neplatné heslo: musí obsahovať aspoň {0} veľké písmená. invalidPasswordMinSpecialCharsMessage=Neplatné heslo: musí obsahovať aspoň {0} špeciálne znaky. invalidPasswordNotUsernameMessage=Neplatné heslo: nesmie byť rovnaké ako používateľské meno. invalidPasswordRegexPatternMessage=Neplatné heslo: nezhoduje sa vzormi regulérneho výrazu. invalidPasswordHistoryMessage=Neplatné heslo: nesmie sa rovnať žiadnemu z posledných {0} hesiel. invalidPasswordGenericMessage=Neplatné heslo: nové heslo nezodpovedá pravidlám hesiel. failedToProcessResponseMessage=Nepodarilo sa spracovať odpoveď httpsRequiredMessage=Vyžaduje sa HTTPS realmNotEnabledMessage=Realm nie je povolený invalidRequestMessage=Neplatná požiadavka failedLogout=Odhlásenie zlyhalo unknownLoginRequesterMessage=Neznámy žiadateľ o prihlásenie loginRequesterNotEnabledMessage=Žiadateľ o prihlásenie nie je povolený bearerOnlyMessage=Aplikácie bearer-only nesmú inicializovať prihlásenie pomocou prehliadača standardFlowDisabledMessage=Klient nesmie iniciovať prihlásenie do prehliadača s daným typom odpovede. Štandardný tok je pre klienta zakázaný. implicitFlowDisabledMessage=Klient nemôže iniciovať prihlásenie do prehliadača s daným typom odpovede. Implicitný tok je pre klienta zakázaný. invalidRedirectUriMessage=Neplatné redirect uri unsupportedNameIdFormatMessage=Nepodporovaný NameIDFormat invalidRequesterMessage=Neplatný žiadateľ registrationNotAllowedMessage=Registrácia nie je povolená resetCredentialNotAllowedMessage=Obnovenie poverenia nie je povolené permissionNotApprovedMessage=Povolenie nie je schválené. noRelayStateInResponseMessage=Neexistuje relay state v odpovedi od poskytovateľa identity. insufficientPermissionMessage=Nedostatočné povolenia na prepojenie identít. couldNotProceedWithAuthenticationRequestMessage=Nemožno pokračovať s požiadavkou na autentifikáciu poskytovateľa identity. couldNotObtainTokenMessage=Nemožno získať token od poskytovateľa identity. unexpectedErrorRetrievingTokenMessage=Neočakávaná chyba pri získavaní tokenu od poskytovateľa identity. unexpectedErrorHandlingResponseMessage=Neočakávaná chyba pri spracovaní odpovede od poskytovateľa identity. identityProviderAuthenticationFailedMessage=Overenie zlyhalo. Nepodarilo sa autentizovať s poskytovateľom identity. couldNotSendAuthenticationRequestMessage=Nemožno odoslať žiadosť o autentifikáciu poskytovateľovi identity. unexpectedErrorHandlingRequestMessage=Neočakávaná chyba pri spracovaní žiadosti o autentifikáciu poskytovateľovi identity. invalidAccessCodeMessage=Neplatný prístupový kód. sessionNotActiveMessage=Session nie je aktívna. invalidCodeMessage=Vyskytla sa chyba, prihláste sa znova prostredníctvom svojej aplikácie. identityProviderUnexpectedErrorMessage=Neočakávaná chyba pri autentifikácii s poskytovateľom identity identityProviderNotFoundMessage=Nepodarilo sa nájsť poskytovateľa identity s identifikátorom. identityProviderLinkSuccess=Svoj e-mail ste úspešne overili. Vráťte sa späť do pôvodného prehliadača a pokračujte tam s prihlasovacími údajmi. staleCodeMessage=Táto stránka už nie je platná, vráťte sa späť do aplikácie a znova sa prihláste realmSupportsNoCredentialsMessage=Realm nepodporuje žiadny typ poverenia. identityProviderNotUniqueMessage=Realm podporuje viacerých poskytovateľov identity. Nepodarilo sa určiť, ktorý poskytovateľ totožnosti sa má používať na autentifikáciu. emailVerifiedMessage=Vaša e-mailová adresa bola overená. staleEmailVerificationLink=Odkaz, na ktorý ste klikli, je starý starý odkaz a už nie je platný. Možno ste už overili svoj e-mail? identityProviderAlreadyLinkedMessage=Federatívna identita vrátená {0} je už prepojená s iným používateľom. confirmAccountLinking=Potvrďte prepojenie účtu {0} poskytovateľa totožnosti {1} s vaším účtom. confirmEmailAddressVerification=Potvrďte platnosť e-mailovej adresy {0}. confirmExecutionOfActions=Vykonajte nasledujúce akcie backToApplication=« Späť na aplikáciu missingParameterMessage=Chýbajúce parametre : {0} clientNotFoundMessage=Klient sa nenašiel. clientDisabledMessage=Klient bol zneplatnený. invalidParameterMessage=Neplatný parameter : {0} alreadyLoggedIn=Už ste prihlásený. differentUserAuthenticated=V tejto relácii ste už boli overení ako iný používateľ '' {0} ''. Najskôr sa odhláste. brokerLinkingSessionExpired=Požadované prepojenie s účtom brokera, ale aktuálna relácia už nie je platná. proceedWithAction=» Ak chcete pokračovať, kliknite sem requiredAction.CONFIGURE_TOTP=Konfigurácia OTP requiredAction.terms_and_conditions=Zmluvné podmienky requiredAction.UPDATE_PASSWORD=Aktualizovať heslo requiredAction.UPDATE_PROFILE=Aktualizovať profil requiredAction.VERIFY_EMAIL=Overiť e-mail doX509Login=Budete prihlásení ako\: clientCertificate=certifikát klienta X509\: noCertificate=[Bez certifikátu] pageNotFound=Stránka nebola nájdená internalServerError=Vyskytla sa interná chyba servera ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_sv.properties ================================================ # encoding: utf-8 doLogIn=Logga in doRegister=Registrera doCancel=Avbryt doSubmit=Skicka doYes=Ja doNo=Nej doContinue=Fortsätt doAccept=Acceptera doDecline=Avböj doForgotPassword=Glömt lösenord? doClickHere=Klicka här doImpersonate=Imitera kerberosNotConfigured=Kerberos är inte konfigurerat kerberosNotConfiguredTitle=Kerberos är inte konfigurerat bypassKerberosDetail=Antingen så är du inte inloggad via Kerberos eller så är inte din webbläsare inställd för Kerberosinloggning. Vänligen klicka på fortsätt för att logga in på annat sätt. kerberosNotSetUp=Kerberos är inte inställt. Du kan inte logga in. registerWithTitle=Registrera med {0} registerWithTitleHtml={0} loginTitle=Logga in till {0} loginTitleHtml={0} impersonateTitle={0} Imitera användare impersonateTitleHtml={0} Imitera användare realmChoice=Realm unknownUser=Okänd användare loginTotpTitle=Inställning av mobilautentiserare loginProfileTitle=Uppdatera kontoinformation loginTimeout=Det tog för lång tid att logga in. Inloggningsprocessen börjar om. oauthGrantTitle=Bevilja åtkomst oauthGrantTitleHtml={0} errorTitle=Vi ber om ursäkt... errorTitleHtml=Vi ber om ursäkt ... emailVerifyTitle=E-postverifiering emailForgotTitle=Glömt ditt lösenord? updatePasswordTitle=Uppdatera lösenord codeSuccessTitle=Rätt kod codeErrorTitle=Felkod\: {0} termsTitle=Användarvillkor termsTitleHtml=Användarvillkor termsText=

Användarvillkoren har ännu inte definierats

recaptchaFailed=Ogiltig Recaptcha recaptchaNotConfigured=Recaptcha krävs, men är inte inställd consentDenied=Samtycke förnekat. noAccount=Ny användare? username=Användarnamn usernameOrEmail=Användarnamn eller e-post firstName=Förnamn lastName=Efternamn email=E-post password=Lösenord passwordConfirm=Bekräfta lösenord passwordNew=Nytt lösenord passwordNewConfirm=Bekräftelse av nytt lösenord rememberMe=Kom ihåg mig authenticatorCode=Engångskod address=Adress street=Gata locality=Postort region=Stat, Provins eller Region postal_code=Postnummer country=Land emailVerified=E-post verifierad gssDelegationCredential=GSS Delegation Credential loginTotpStep1=Installera FreeOTP eller Google Authenticator på din mobil. Båda applikationerna finns tillgängliga hos Google Play och Apple App Store. loginTotpStep2=Öppna applikationen och skanna streckkoden eller skriv i nyckeln loginTotpStep3=Fyll i engångskoden som tillhandahålls av applikationen och klicka på Spara för att avsluta inställningarna loginOtpOneTime=Engångskod oauthGrantRequest=Godkänner du tillgång till de här rättigheterna? inResource=i emailVerifyInstruction1=Ett e-postmeddelande med instruktioner om hur du verifierar din e-postadress har skickats till dig. emailVerifyInstruction2=Har du inte fått en verifikationskod i din e-post? emailVerifyInstruction3=för att skicka e-postmeddelandet igen. emailLinkIdpTitle=Länkning {0} emailLinkIdp1=Ett e-postmeddelande med instruktioner om hur du länkar {0} kontot {1} med ditt {2} konto har skickats till dig. emailLinkIdp2=Har du inte fått en verifikationskod i din e-post? emailLinkIdp3=för att skicka e-postmeddelandet igen. backToLogin=« Tillbaka till inloggningen emailInstruction=Fyll i ditt användarnamn eller din e-postadress, så kommer vi att skicka instruktioner för hur du skapar ett nytt lösenord. copyCodeInstruction=Vänligen kopiera den här koden och klistra in den i din applikation: personalInfo=Personlig information: role_admin=Administratör role_realm-admin=Realm-administratör role_create-realm=Skapa realm role_create-client=Skapa klient 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 identitetsleverantörer role_manage-realm=Hantera realm role_manage-users=Hantera användare role_manage-applications=Hantera applikationer role_manage-identity-providers=Hantera identitetsleverantörer 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 client_account=Konto client_security-admin-console=Säkerhetsadministratörskonsol client_admin-cli=Administratörs-CLI client_realm-management=Realmhantering invalidUserMessage=Ogiltigt användarnamn eller lösenord. invalidEmailMessage=Ogiltig e-postadress. accountDisabledMessage=Kontot är inaktiverat, kontakta administratör. accountTemporarilyDisabledMessage=Kontot är tillfälligt inaktiverat, kontakta administratör eller försök igen senare. expiredCodeMessage=Inloggningen nådde en maxtidsgräns. Vänligen försök igen. missingFirstNameMessage=Vänligen ange förnamn. missingLastNameMessage=Vänligen ange efternamn. missingEmailMessage=Vänligen ange e-post. missingUsernameMessage=Vänligen ange användarnamn. missingPasswordMessage=Vänligen ange lösenord. missingTotpMessage=Vänligen ange autentiseringskod. notMatchPasswordMessage=Lösenorden matchar inte. invalidPasswordExistingMessage=Det nuvarande lösenordet är ogiltigt. invalidPasswordConfirmMessage=Lösenordsbekräftelsen matchar inte. invalidTotpMessage=Autentiseringskoden är ogiltig. usernameExistsMessage=Användarnamnet finns redan. emailExistsMessage=E-postadressen finns redan. federatedIdentityExistsMessage=Användare med {0} {1} finns redan. Vänligen logga in till kontohanteringen för att länka kontot. confirmLinkIdpTitle=Kontot finns redan federatedIdentityConfirmLinkMessage=Användare med {0} {1} finns redan, Hur vill du forsätta? federatedIdentityConfirmReauthenticateMessage=Autentisera för att länka ditt konto med {0} confirmLinkIdpReviewProfile=Granska profil confirmLinkIdpContinue=Lägg till i existerande konto configureTotpMessage=Du behöver konfigurera mobilautentiseraren för att aktivera ditt konto. updateProfileMessage=Du behöver uppdatera din användarprofil för att aktivera ditt konto. updatePasswordMessage=Du behöver byta ditt lösenord för att aktivera ditt konto. verifyEmailMessage=Du behöver verifiera din e-postadress för att aktivera ditt konto. linkIdpMessage=Du behöver verifiera din e-postadress för att länka ditt konto med {0}. emailSentMessage=Du bör inom kort motta ett epost-meddelande med ytterligare instruktioner inom kort. emailSendErrorMessage=E-postmeddelandet kunde inte skickas, försök igen senare. accountUpdatedMessage=Ditt konto har uppdaterats. accountPasswordUpdatedMessage=Ditt lösenord har uppdaterats. noAccessMessage=Ingen åtkomst invalidPasswordMinLengthMessage=Ogiltigt lösenord. Minsta längd är {0}. invalidPasswordMinDigitsMessage=Ogiltigt lösenord: måste innehålla minst {0} siffror. invalidPasswordMinLowerCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} små bokstäver. 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. failedToProcessResponseMessage=Misslyckades med att behandla svaret httpsRequiredMessage=HTTPS krävs realmNotEnabledMessage=Realm är inte aktiverad invalidRequestMessage=Ogiltig förfrågan failedLogout=Utloggning misslyckades unknownLoginRequesterMessage=Okänd inloggningsförfrågan loginRequesterNotEnabledMessage=Inloggningsförfrågaren är inte aktiverad bearerOnlyMessage=Bearer-only-applikationer tillåts inte att initiera inloggning genom webbläsare standardFlowDisabledMessage=Klienten tillåts inte att initiera inloggning genom webbläsare med det givna response_type. Standardflödet är inaktiverat för klienten. implicitFlowDisabledMessage=Klienten tillåts inte att initiera inloggning genom webbläsare med det givna response_type. Villkorslöst flöde är inaktiverat för klienten. invalidRedirectUriMessage=Ogiltig omdirigeringsadress unsupportedNameIdFormatMessage=NameIDFormat stöds ej invalidRequesterMessage=Ogiltig förfrågare registrationNotAllowedMessage=Registrering tillåts ej resetCredentialNotAllowedMessage=Återställning av uppgifter tillåts ej permissionNotApprovedMessage=Rättigheten ej godkänd. noRelayStateInResponseMessage=Inget vidarebefordrat tillstånd i svaret från identitetsleverantör. insufficientPermissionMessage=Otillräckliga tillstånd för att länka identiteter. couldNotProceedWithAuthenticationRequestMessage=Kunde inte fortsätta med autentiseringsförfrågan till identitetsleverantör. couldNotObtainTokenMessage=Kunde inte motta element från identitetsleverantör. unexpectedErrorRetrievingTokenMessage=Oväntat fel när element hämtas från identitetsleverantör. unexpectedErrorHandlingResponseMessage=Oväntat fel under hantering av svar från från identitetsleverantör. identityProviderAuthenticationFailedMessage=Autentiseringen misslyckades. Kunde inte autentisera med identitetsleverantör. couldNotSendAuthenticationRequestMessage=Kunde inte skicka autentiseringsförfrågan till identitetsleverantör. unexpectedErrorHandlingRequestMessage=Oväntat fel under hantering av autentiseringsförfrågan till identitetsleverantör. invalidAccessCodeMessage=Ogiltig tillträdeskod. sessionNotActiveMessage=Sessionen ej aktiv. invalidCodeMessage=Ett fel uppstod, vänligen logga in igen genom din applikation. identityProviderUnexpectedErrorMessage=Oväntat fel under autentiseringen med identitetsleverantör identityProviderNotFoundMessage=Kunde inte hitta en identitetsleverantör med identifikatorn. identityProviderLinkSuccess=Ditt konto lyckades med att länka {0} med kontot {1}. staleCodeMessage=Den här sidan är inte längre giltig, vänligen gå tillbaka till din applikation och logga in igen realmSupportsNoCredentialsMessage=Realmen stödjer inga inloggningstyper. identityProviderNotUniqueMessage=Realmen stödjer flera identitetsleverantör. Kunde inte avgöra vilken identitetsleverantör som skall användas för autentisering. emailVerifiedMessage=Din e-postadress har blivit verifierad. staleEmailVerificationLink=Länken du klickade på är en gammal, inaktuell länk som inte längre är giltig. Kanske har du redan verifierat din e-post? backToApplication=« Tillbaka till applikationen missingParameterMessage=Parametrar som saknas\: {0} clientNotFoundMessage=Klienten hittades ej. clientDisabledMessage=Klienten är inaktiverad. invalidParameterMessage=Ogiltig parameter\: {0} alreadyLoggedIn=Du är redan inloggad. ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_tr.properties ================================================ doLogIn=Oturum a\u00E7 doRegister=Kay\u0131t ol doCancel=\u0130ptal et doSubmit=G\u00F6nder doYes=Evet doNo=Hay\u0131r doContinue=Devam et doIgnore=Yoksay doAccept=Kabul Et doDecline=Reddet doForgotPassword=Parolan\u0131z\u0131 m\u0131 unuttunuz? doClickHere=Buraya T\u0131klay\u0131n doImpersonate=Ki\u015Fiselle\u015Ftir kerberosNotConfigured=Kerberos Tan\u0131mlanmam\u0131\u015F kerberosNotConfiguredTitle=Kerberos Tan\u0131mlanmam\u0131\u015F bypassKerberosDetail=Ya Kerberos ile giri\u015F yapmad\u0131n\u0131z veya taray\u0131c\u0131n\u0131z Kerberos giri\u015F i\u00E7in ayarlanmam\u0131\u015F. Di\u011Fer yollarla giri\u015F yapmak i\u00E7in l\u00FCtfen devam''a t\u0131klay\u0131n kerberosNotSetUp=Kerberos kurulmad\u0131. Giri\u015F yapamazs\u0131n. registerTitle=Kay\u0131t ol loginTitle={0} adresinde oturum a\u00E7\u0131n loginTitleHtml={0} impersonateTitle={0} Kullan\u0131c\u0131 kimli\u011Fine b\u00FCr\u00FCn impersonateTitleHtml={0} Kullan\u0131c\u0131 kimli\u011Fine b\u00FCr\u00FCn realmChoice=Realm unknownUser=Bilinmeyen kullan\u0131c\u0131 loginTotpTitle=Mobil Kimlik Do\u011Frulama Kurulumu loginProfileTitle=Hesap bilgilerini G\u00FCncelle loginTimeout=Giri\u015F yapmak \u00E7ok uzun s\u00FCrd\u00FC. Giri\u015F s\u00FCreci ba\u015Ftan ba\u015Flayacak. oauthGrantTitle={0} adresine Eri\u015Fim Ver oauthGrantTitleHtml={0} errorTitle=\u00DCzg\u00FCn\u00FCz... errorTitleHtml=\u00DCzg\u00FCn\u00FCz ... emailVerifyTitle=Eposta Do\u011Frulama emailForgotTitle=Parolan\u0131z\u0131 m\u0131 unuttunuz? updatePasswordTitle=\u015Eifre g\u00FCncelle codeSuccessTitle=Ba\u015Far\u0131l\u0131 i\u015Flem kodu codeErrorTitle=Hatal\u0131 i\u015Flem kodu\: {0} displayUnsupported=\u0130stenen g\u00F6sterim t\u00FCr\u00FC desteklenmiyor browserRequired=Giri\u015F i\u00E7in tary\u0131c\u0131 gerekli browserContinue=Giri\u015Fe devam etmek i\u00E7in taray\u0131c\u0131 gerekli browserContinuePrompt=Taray\u0131c\u0131 a\u00E7 ve giri\u015Fe devam et? [e/h]: browserContinueAnswer=h termsTitle=\u015Eartlar ve ko\u015Fullar termsText=

Tan\u0131mlanacak \u015Fartlar ve ko\u015Fullar

termsPlainText=Tan\u0131mlanacak \u015Fartlar ve ko\u015Fullar. recaptchaFailed=Ge\u00E7ersiz Recaptcha recaptchaNotConfigured=Recaptcha gerekli, ancak yap\u0131land\u0131r\u0131lmam\u0131\u015F consentDenied=Onay reddedildi. noAccount=Yeni kullan\u0131c\u0131? username=Kullan\u0131c\u0131 Ad\u0131 usernameOrEmail=Kullan\u0131c\u0131 ad\u0131 veya E-mail firstName=Ad givenName=Ad fullName=Ad Soyad lastName=Soyad familyName=Soyad email=E-Mail password=\u015Eifre passwordConfirm=\u015Eifre Do\u011Frulama passwordNew=Yeni \u015Eifre passwordNewConfirm=eni \u015Eifre Do\u011Frulama rememberMe=Beni Hat\u0131rla authenticatorCode=Kimlik Do\u011Frulama Kodu address=Adres street=Cadde locality=Semt region=B\u00F6lge postal_code=Posta Kodu country=\u00DClke emailVerified=E-Mail Do\u011Fruland\u0131 gssDelegationCredential=GSS Yetki Bilgisi profileScopeConsentText=Kullan\u0131c\u0131 profili emailScopeConsentText=E-Mai Adresi addressScopeConsentText=Adres phoneScopeConsentText=Telefon Numaras\u0131 offlineAccessScopeConsentText=\u00C7evrimd\u0131\u015F\u0131 Eri\u015Fim samlRoleListScopeConsentText=Rollerim rolesScopeConsentText=Kullan\u0131c\u0131 rolleri loginTotpIntro=Bu hesaba eri\u015Fmek i\u00E7in bir Tek Kullan\u0131ml\u0131k \u015Eifre olu\u015Fturmal\u0131s\u0131n\u0131z. loginTotpStep1=Cep telefonunuzda a\u015Fa\u011F\u0131daki uygulamalardan birini y\u00FCkleyin loginTotpStep2=Uygulamay\u0131 a\u00E7\u0131n ve barkodu taray\u0131n loginTotpStep3=Uygulama taraf\u0131ndan sa\u011Flanan tek seferlik kodu girin ve kurulumu tamamlamak i\u00E7in G\u00F6nder''i t\u0131klay\u0131n. loginTotpManualStep2=Uygulamay\u0131 a\u00E7\u0131n ve anahtar\u0131 girin loginTotpManualStep3=Uygulama bunlar\u0131 ayarlamaya izin veriyorsa a\u015Fa\u011F\u0131daki yap\u0131land\u0131rma de\u011Ferlerini kullan\u0131n. loginTotpUnableToScan=Taranam\u0131yor? loginTotpScanBarcode=Barkod tara? loginOtpOneTime=Tek seferlik kod loginTotpType=Tip loginTotpAlgorithm=Algoritma loginTotpDigits=Basamak loginTotpInterval=Aral\u0131k loginTotpCounter=Saya\u00E7 loginTotp.totp=Zaman Tabanl\u0131 loginTotp.hotp=Saya\u00E7 Tabanl\u0131 oauthGrantRequest=Bu eri\u015Fim ayr\u0131cal\u0131klar\u0131 veriyor musunuz? inResource=i\u00E7inde emailVerifyInstruction1=E-posta adresinizi do\u011Frulamak i\u00E7in talimatlar\u0131 i\u00E7eren bir e-posta size g\u00F6nderildi. emailVerifyInstruction2=E-postan\u0131zda do\u011Frulama kodu almad\u0131n\u0131z m\u0131? emailVerifyInstruction3=e-postay\u0131 yeniden g\u00F6ndermek i\u00E7in. emailLinkIdpTitle=Ba\u011Flant\u0131 {0} emailLinkIdp1={1} hesab\u0131n\u0131 {2} hesab\u0131n\u0131za ba\u011Flayan talimatlar\u0131 i\u00E7eren bir e-posta size g\u00F6nderildi. emailLinkIdp2=E-postan\u0131zda do\u011Frulama kodu almad\u0131n\u0131z m\u0131? emailLinkIdp3=e-postay\u0131 yeniden g\u00F6ndermek i\u00E7in. emailLinkIdp4=E-postay\u0131 farkl\u0131 taray\u0131c\u0131da zaten do\u011Frulad\u0131ysan\u0131z emailLinkIdp5=devam etmek. backToLogin=« Giri\u015F''e geri d\u00F6n emailInstruction=Kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 veya e-posta adresinizi girin ve yeni bir \u015Fifre olu\u015Fturmaya ili\u015Fkin talimatlar\u0131 size g\u00F6nderece\u011Fiz. copyCodeInstruction=L\u00FCtfen bu kodu kopyalay\u0131n ve uygulaman\u0131za yap\u0131\u015Ft\u0131r\u0131n: pageExpiredTitle=Sayfan\u0131n S\u00FCresi Doldu pageExpiredMsg1=Giri\u015F i\u015Flemini yeniden ba\u015Flatmak i\u00E7in pageExpiredMsg2=Giri\u015F i\u015Flemine devam etmek i\u00E7in personalInfo=Ki\u015Fisel bilgi: role_admin=Admin role_realm-admin=Realm Admin role_create-realm=Realm Olu\u015Ftur role_create-client=Create client role_view-realm=Realm g\u00F6r\u00FCnt\u00FCle role_view-users=Kullan\u0131c\u0131 g\u00F6r\u00FCnt\u00FCle role_view-applications=Uygulamar\u0131 g\u00F6r role_view-clients=Clients g\u00F6r\u00FCnt\u00FCle role_view-events=Events g\u00F6r\u00FCnt\u00FCle role_view-identity-providers=Kimlik sa\u011Flay\u0131c\u0131lar\u0131n\u0131 g\u00F6r\u00FCnt\u00FCle role_manage-realm=Realm Y\u00F6net role_manage-users=Kullan\u0131c\u0131lar\u0131 Y\u00F6net role_manage-applications=Uygulamalar\u0131 Y\u00F6net role_manage-identity-providers=Kimlik Sa\u011Flay\u0131c\u0131lar\u0131n\u0131 Y\u00F6net role_manage-clients=Clients Y\u00F6net role_manage-events=Events Y\u00F6net role_view-profile=Profil g\u00F6r\u00FCnt\u00FCle role_manage-account=Hesap Y\u00F6net role_manage-account-links=Hesap ba\u011Flant\u0131lar\u0131n\u0131 y\u00F6net role_read-token=Token oku role_offline-access=\u00C7evrimd\u0131\u015F\u0131 eri\u015Fim client_account=Hesap client_security-admin-console=G\u00FCvenlik Y\u00F6netici Konsolu client_admin-cli=Admin CLI client_realm-management=Realm Y\u00F6net client_broker=Broker invalidUserMessage=Ge\u00E7ersiz kullan\u0131c\u0131 ad\u0131 veya \u015Fifre. invalidEmailMessage=Ge\u00E7ersiz e-posta adresi. accountDisabledMessage=Hesap devre d\u0131\u015F\u0131, y\u00F6netici ile ileti\u015Fime ge\u00E7in. accountTemporarilyDisabledMessage=Hesab\u0131n\u0131z ge\u00E7ici olarak kilitlendi, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in veya daha sonra tekrar deneyin. expiredCodeMessage=Oturum zaman a\u015F\u0131m\u0131na u\u011Frad\u0131. L\u00FCtfen tekrar giri\u015F yap\u0131n. expiredActionMessage=Eylem s\u00FCresi doldu. L\u00FCtfen \u015Fimdi giri\u015F yapmaya devam edin. expiredActionTokenNoSessionMessage=Eylemin s\u00FCresi doldu. expiredActionTokenSessionExistsMessage=Eylem s\u00FCresi doldu. L\u00FCtfen tekrar ba\u015Flay\u0131n. missingFirstNameMessage=L\u00FCtfen ilk ad\u0131 belirtin. missingLastNameMessage=L\u00FCtfen soyad\u0131 belirtin. missingEmailMessage=L\u00FCtfen email belirtin. missingUsernameMessage=L\u00FCtfen kullan\u0131c\u0131 ad\u0131n\u0131 belirtin. missingPasswordMessage=L\u00FCtfen \u015Fifre belirtin. missingTotpMessage=L\u00FCtfen kimlik do\u011Frulama kodunu belirtin. notMatchPasswordMessage=\u015Eifreler e\u015Fle\u015Fmiyor. invalidPasswordExistingMessage=Mevcut \u015Fifre ge\u00E7ersiz. invalidPasswordBlacklistedMessage=Ge\u00E7ersiz \u015Fifre: \u015Fifre kara listeye al\u0131nd\u0131. invalidPasswordConfirmMessage=\u015Eifre onay\u0131 e\u015Fle\u015Fmiyor. invalidTotpMessage=Ge\u00E7ersiz kimlik do\u011Frulama kodu. usernameExistsMessage=Kullan\u0131c\u0131 ad\u0131 zaten var. emailExistsMessage=Bu e-posta zaten var. federatedIdentityExistsMessage={0} {1} kullan\u0131c\u0131 zaten var. Hesab\u0131 ba\u011Flamak i\u00E7in l\u00FCtfen hesap y\u00F6netimine giri\u015F yap\u0131n. confirmLinkIdpTitle=Bu Hesap Zaten Mevcut federatedIdentityConfirmLinkMessage={0} {1} kullan\u0131c\u0131 zaten var. Nas\u0131l devam etmek istersin? #federatedIdentityConfirmReauthenticateMessage=Hesab\u0131n\u0131z\u0131 {1} ile ba\u011Flamak i\u00E7in {0} olarak do\u011Frulay\u0131n confirmLinkIdpReviewProfile=Profili g\u00F6zden ge\u00E7ir confirmLinkIdpContinue=Mevcut hesaba ekle configureTotpMessage=Hesab\u0131n\u0131z\u0131 etkinle\u015Ftirmek i\u00E7in Mobil Kimlik Do\u011Frulama''y\u0131 ayarlaman\u0131z gerekiyor. updateProfileMessage=Hesab\u0131n\u0131z\u0131 etkinle\u015Ftirmek i\u00E7in kullan\u0131c\u0131 profilinizi g\u00FCncellemeniz gerekiyor. updatePasswordMessage=Hesab\u0131n\u0131z\u0131 etkinle\u015Ftirmek i\u00E7in \u015Fifrenizi de\u011Fi\u015Ftirmeniz gerekiyor. resetPasswordMessage=\u015Eifreni de\u011Fi\u015Ftirmelisin. verifyEmailMessage=Hesab\u0131n\u0131z\u0131 etkinle\u015Ftirmek i\u00E7in e-posta adresinizi do\u011Frulaman\u0131z gerekiyor. linkIdpMessage=Hesab\u0131n\u0131z\u0131 {0} ile ba\u011Flamak i\u00E7in e-posta adresinizi do\u011Frulaman\u0131z gerekiyor. emailSentMessage=Daha fazla talimatla k\u0131sa s\u00FCrede bir e-posta almal\u0131s\u0131n\u0131z. emailSendErrorMessage=E-posta g\u00F6nderilemedi, l\u00FCtfen daha sonra tekrar deneyin. accountUpdatedMessage=Hesab\u0131n g\u00FCncellendi. accountPasswordUpdatedMessage=\u015Eifreniz g\u00FCncellenmi\u015Ftir. delegationCompleteHeader=Giri\u015F ba\u015Far\u0131l\u0131 delegationCompleteMessage=Bu taray\u0131c\u0131 penceresini kapatabilir ve konsol uygulaman\u0131za geri d\u00F6nebilirsiniz. delegationFailedHeader=Giri\u015F ba\u015Far\u0131s\u0131z delegationFailedMessage=Bu taray\u0131c\u0131 penceresini kapatabilir ve konsol uygulaman\u0131za geri d\u00F6n\u00FCp tekrar giri\u015F yapmay\u0131 deneyebilirsiniz.. noAccessMessage=Eri\u015Fim yok invalidPasswordMinLengthMessage=Ge\u00E7ersiz \u015Eifre: En az {0} karakter uzunlu\u011Funda olmal\u0131. invalidPasswordMinDigitsMessage=Ge\u00E7ersiz \u015Eifre: En az {0} say\u0131(lar) i\u00E7ermelidir. invalidPasswordMinLowerCaseCharsMessage=Ge\u00E7ersiz \u015Eifre \: En az {0} k\u00FC\u00E7\u00FCk harf i\u00E7ermelidir. invalidPasswordMinUpperCaseCharsMessage=Ge\u00E7ersiz \u015Eifre: En az {0} b\u00FCy\u00FCk harf i\u00E7ermelidir. invalidPasswordMinSpecialCharsMessage=Ge\u00E7ersiz \u015Eifre: En az {0} \u00F6zel karakter i\u00E7ermelidir. invalidPasswordNotUsernameMessage=Ge\u00E7ersiz \u015Eifre: Kullan\u0131c\u0131 ad\u0131yla ayn\u0131 olamaz. invalidPasswordRegexPatternMessage=Ge\u00E7ersiz \u015Eifre: Regex Patternine uygun de\u011Fil. invalidPasswordHistoryMessage=Ge\u00E7ersiz \u015Eifre: Son {0} \u015Fifreden biri olamaz. invalidPasswordGenericMessage=Ge\u00E7ersiz \u015Eifre: yeni \u015Fifre \u015Fifre politikalar\u0131yla e\u015Fle\u015Fmiyor. failedToProcessResponseMessage=Yan\u0131t i\u015Flenemedi httpsRequiredMessage=HTTPS zorunlu realmNotEnabledMessage=Realm aktif de\u011Fil invalidRequestMessage=Ge\u00E7ersiz \u0130stek failedLogout=\u00C7\u0131k\u0131\u015F ba\u015Far\u0131s\u0131z unknownLoginRequesterMessage=Bilinmeyen giri\u015F iste\u011Fi loginRequesterNotEnabledMessage=Giri\u015F istemi etkin de\u011Fil bearerOnlyMessage=Yaln\u0131zca ta\u015F\u0131y\u0131c\u0131 uygulamalar\u0131 taray\u0131c\u0131 giri\u015Fini ba\u015Flatmaya izinli de\u011Fil 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=Ge\u00E7ersiz y\u00F6nlendirme url''i unsupportedNameIdFormatMessage=Desteklenmeyen NameIDFormat invalidRequesterMessage=Ge\u00E7ersiz istek registrationNotAllowedMessage=Kay\u0131t yap\u0131lamaz resetCredentialNotAllowedMessage=S\u0131f\u0131rlamas\u0131na izin verilmiyor permissionNotApprovedMessage=\u0130zin onaylanmad\u0131. noRelayStateInResponseMessage=Kimlik sa\u011Flay\u0131c\u0131dan yan\u0131t olarak ge\u00E7i\u015F durumu yok. insufficientPermissionMessage=Kimliklerin ba\u011Flanmas\u0131 i\u00E7in yetersiz izinler. couldNotProceedWithAuthenticationRequestMessage=Kimlik sa\u011Flay\u0131c\u0131ya kimlik do\u011Frulama iste\u011Fi ile devam edilemedi. couldNotObtainTokenMessage=Kimlik sa\u011Flay\u0131c\u0131dan token al\u0131namad\u0131. unexpectedErrorRetrievingTokenMessage=Kimlik sa\u011Flay\u0131c\u0131dan token al\u0131rken beklenmeyen bir hata olu\u015Ftu. unexpectedErrorHandlingResponseMessage=Kimlik sa\u011Flay\u0131c\u0131dan yan\u0131t al\u0131n\u0131rken beklenmeyen bir hata olu\u015Ftu. identityProviderAuthenticationFailedMessage=Kimlik do\u011Frulama ba\u015Far\u0131s\u0131z oldu. Kimlik sa\u011Flay\u0131c\u0131yla kimlik do\u011Frulamas\u0131 yap\u0131lamad\u0131. couldNotSendAuthenticationRequestMessage=Kimlik sa\u011Flay\u0131c\u0131ya kimlik do\u011Frulama iste\u011Fi g\u00F6nderilemedi. unexpectedErrorHandlingRequestMessage=Kimlik sa\u011Flay\u0131c\u0131ya kimlik do\u011Frulama iste\u011Fi i\u015Flenirken beklenmeyen bir hata olu\u015Ftu. invalidAccessCodeMessage=Ge\u00E7ersiz giri\u015F kodu. sessionNotActiveMessage=Oturum etkin de\u011Fil. invalidCodeMessage=Bir hata olu\u015Ftu, l\u00FCtfen ba\u015Fvurunuz arac\u0131l\u0131\u011F\u0131yla tekrar giri\u015F yap\u0131n. identityProviderUnexpectedErrorMessage=Kimlik sa\u011Flay\u0131c\u0131yla kimlik do\u011Frulamas\u0131 yap\u0131l\u0131rken beklenmeyen bir hata olu\u015Ftu identityProviderNotFoundMessage=Tan\u0131mlay\u0131c\u0131 ile kimlik sa\u011Flay\u0131c\u0131 bulunamad\u0131. identityProviderLinkSuccess=E-postan\u0131z\u0131 ba\u015Far\u0131yla do\u011Frulad\u0131n\u0131z. L\u00FCtfen orijinal taray\u0131c\u0131n\u0131za geri d\u00F6n\u00FCn ve giri\u015F yap\u0131n. staleCodeMessage=Bu sayfa art\u0131k ge\u00E7erli de\u011Fil, l\u00FCtfen uygulaman\u0131za geri d\u00F6n\u00FCn ve tekrar giri\u015F yap\u0131n realmSupportsNoCredentialsMessage=Realm herhangi bir kimlik bilgisi t\u00FCr\u00FCn\u00FC desteklemiyor. identityProviderNotUniqueMessage=Realm \u00E7oklu kimlik sa\u011Flay\u0131c\u0131lar\u0131n\u0131 destekler. Kimlik do\u011Frulamak i\u00E7in hangi kimlik sa\u011Flay\u0131c\u0131s\u0131n\u0131n kullan\u0131lmas\u0131 gerekti\u011Fini belirleyemedi. emailVerifiedMessage=E-posta adresiniz do\u011Fruland\u0131. staleEmailVerificationLink=T\u0131klad\u0131\u011F\u0131n\u0131z ba\u011Flant\u0131 eski bir ba\u011Flant\u0131d\u0131r ve art\u0131k ge\u00E7erli de\u011Fil. Belki de e-postan\u0131z\u0131 zaten do\u011Frulad\u0131n\u0131z. identityProviderAlreadyLinkedMessage={0} taraf\u0131ndan d\u00F6nd\u00FCr\u00FClen birle\u015Fik kimlik, ba\u015Fka bir kullan\u0131c\u0131yla zaten ba\u011Flant\u0131l\u0131. confirmAccountLinking={1} kimlik sa\u011Flay\u0131c\u0131s\u0131n\u0131n hesab\u0131n\u0131 {0} hesab\u0131n\u0131zla ili\u015Fkilendirmeyi onaylay\u0131n. confirmEmailAddressVerification={0} e-posta adresinin ge\u00E7erlili\u011Fini onaylay\u0131n. confirmExecutionOfActions=A\u015Fa\u011F\u0131daki eylemleri ger\u00E7ekle\u015Ftirin locale_ca=Katalanca locale_de=Almanca locale_en=\u0130ngilizce locale_es=\u0130spanyolca locale_fr=Frans\u0131zca locale_it=\u0130talyanca locale_ja=Afrikanca locale_nl=Felemenk\u00E7e locale_no=Norve\u00E7ce locale_pl=Leh\u00E7e locale_pt_BR=Portekizce locale_pt-BR=Portekizce locale_ru=Rus\u00E7a locale_lt=Litvanca locale_zh-CN=\u00C7ince locale_sk=Slovak\u00E7a locale_sv=\u0130sve\u00E7\u00E7e locale_tr=T\u00FCrk\u00E7e backToApplication=« Uygulamaya D\u00F6n missingParameterMessage=Eksik parametreler\: {0} clientNotFoundMessage=\u0130stemci Bulunamad\u0131. clientDisabledMessage=\u0130stemci engelli. invalidParameterMessage=Ge\u00E7ersiz Paremetreler\: {0} alreadyLoggedIn=Zaten giri\u015F yapt\u0131n\u0131z. differentUserAuthenticated=Bu oturumda zaten farkl\u0131 kullan\u0131c\u0131 '' {0} '' olarak do\u011Frulanm\u0131\u015Fs\u0131n\u0131z. L\u00FCtfen \u00F6nce \u00E7\u0131k\u0131\u015F yap\u0131n\u0131z. brokerLinkingSessionExpired=\u0130stenen broker hesab\u0131 ba\u011Flan\u0131yor, ancak mevcut oturum art\u0131k ge\u00E7erli de\u011Fil. proceedWithAction=» Devam etmek i\u00E7in buraya t\u0131klay\u0131n requiredAction.CONFIGURE_TOTP=OTP Ayarla requiredAction.terms_and_conditions=\u015Eartlar ve Ko\u015Fullar requiredAction.UPDATE_PASSWORD=\u015Eifre g\u00FCncelle requiredAction.UPDATE_PROFILE=Profili G\u00FCncelle requiredAction.VERIFY_EMAIL=E-mail''i do\u011Frula doX509Login=Olarak giri\u015F yapacaks\u0131n\u0131z\: clientCertificate=X509 istemci sertifikas\u0131\: noCertificate=[Sertifika Yok] pageNotFound=Sayfa Bulunamad\u0131 internalServerError=Bir i\u00E7 sunucu hatas\u0131 olu\u015Ftu console-username=Kullan\u0131c\u0131 ad\u0131: console-password=Parola: console-otp=Tek seferlik \u015Fifre: console-new-password=Yeni \u015Fifre: console-confirm-password=\u015Eifreyi Onayla: console-update-password=\u015Eifrenizin g\u00FCncellenmesi gerekiyor. console-verify-email=E-posta adresinizi do\u011Frulaman\u0131z gerekiyor. Bir do\u011Frulama kodu i\u00E7eren {0} adresine bir e-posta g\u00F6nderildi. L\u00FCtfen bu kodu a\u015Fa\u011F\u0131daki girdiye giriniz. console-email-code=E-posta Kodu: console-accept-terms=\u015Eartlar\u0131 kabul et? [e/h]: console-accept=e ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/messages/messages_zh_CN.properties ================================================ # encoding: utf-8 doLogIn=登录 doRegister=注册 doCancel=取消 doSubmit=提交 doYes=是 doNo=否 doContinue=继续 doAccept=接受 doDecline=拒绝 doForgotPassword=忘记密码? doClickHere=点击这里 doImpersonate=模拟 kerberosNotConfigured=Kerberos 没有配置 kerberosNotConfiguredTitle=Kerberos 没有配置 bypassKerberosDetail=您没有通过Kerberos登录 或者您的浏览器没有设置Kerberos登录. 请点击继续通过其他途径登录。 kerberosNotSetUp=Kerberos没有配置,您不可以登录 registerWithTitle=用 {0} 注册 registerWithTitleHtml={0} loginTitle=登录到 {0} loginTitleHtml={0} impersonateTitle={0} 模拟用户 impersonateTitleHtml={0}模拟用户 realmChoice=域 unknownUser=未知用户 loginTotpTitle=手机验证者配置 loginProfileTitle=更新账户信息 loginTimeout=登录超时,请重新开始登录 oauthGrantTitle=授权 oauthGrantTitleHtml={0} errorTitle=很抱歉... errorTitleHtml=我们很抱歉 ... emailVerifyTitle=验证电子邮件地址 emailForgotTitle=忘记密码? updatePasswordTitle=更新密码 codeSuccessTitle=成功码 codeErrorTitle=错误码\: {0} termsTitle=条款 termsTitleHtml=条款 termsText=

需要确定的条款

recaptchaFailed=无效的验证码 recaptchaNotConfigured=需要验证码,但是没有配置 consentDenied=许可被拒绝。 noAccount=新用户? username=用户名 usernameOrEmail=用户名 或 电子邮箱地址 firstName=名 givenName=姓 fullName=全名 lastName=姓 familyName=姓 email=Email password=密码 passwordConfirm=确认密码 passwordNew=新密码 passwordNewConfirm=新密码确认 rememberMe=记住我 authenticatorCode=一次性验证码 address=地址 street=街道 locality=市 region=省,自治区,直辖市 postal_code=邮政编码 country=国家 emailVerified=电子邮件已验证 gssDelegationCredential=GSS Delegation Credential loginTotpStep1=在手机安装 FreeOTP 或 Google Authenticator. 这两个应用可以在 Google Play 和 Apple App Store找到. loginTotpStep2=打开应用扫描二维码或者输入一次性码 loginTotpStep3=输入应用提供的一次性码点击提交完成设置 loginOtpOneTime=一次性验证码 oauthGrantRequest=您是否想要授予下列权限? inResource=in emailVerifyInstruction1=一封包含验证邮箱具体步骤的邮件已经发送到您的邮箱。 emailVerifyInstruction2=邮箱没有收到验证码? emailVerifyInstruction3=重新发送电子邮件 emailLinkIdpTitle=链接 {0} emailLinkIdp1=一封包含链接账户 {0} 和账户 {1} 到账户 {2} 的邮件已经发送到您的邮箱。 emailLinkIdp2=邮箱没有收到验证码邮件? emailLinkIdp3=重新发送电子邮件 backToLogin=« 回到登录 emailInstruction=输入您的用户名和邮箱,我们会发送一封带有设置新密码步骤的邮件到您的邮箱。 copyCodeInstruction=请复制这段验证码并粘贴到应用: personalInfo=个人信息\: role_admin=管理员 role_realm-admin=域管理员 role_create-realm=创建域 role_create-client=创建客户 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=读取 token role_offline-access=离线访问 client_account=账户 client_security-admin-console=安全管理控制台 client_admin-cli=管理命令行工具 client_realm-management=域管理 client_broker=代理 invalidUserMessage=无效的用户名或密码。 invalidEmailMessage=无效的电子邮件地址 accountDisabledMessage=账户被禁用,请联系管理员。 accountTemporarilyDisabledMessage=账户被暂时禁用,请稍后再试或联系管理员。 expiredCodeMessage=登录超时,请重新登陆。 missingFirstNameMessage=请输入名 missingLastNameMessage=请输入姓 missingEmailMessage=请输入email. missingUsernameMessage=请输入用户名 missingPasswordMessage=请输入密码 missingTotpMessage=请输入验证码 notMatchPasswordMessage=密码不匹配。 invalidPasswordExistingMessage=无效的旧密码 invalidPasswordConfirmMessage=确认密码不相同 invalidTotpMessage=无效的验证码 usernameExistsMessage=用户名已被占用 emailExistsMessage=电子邮件已存在。 federatedIdentityExistsMessage=用户 {0} {1} 已存在. 请登录账户管理界面链接账户. confirmLinkIdpTitle=账户已存在 federatedIdentityConfirmLinkMessage=用户{0} {1} 已存在. 怎么继续? #federatedIdentityConfirmReauthenticateMessage=以 {0} 登录来将 {1} 连接到您的账户 confirmLinkIdpReviewProfile=审查您的信息 confirmLinkIdpContinue=添加到已知账户 configureTotpMessage=您需要设置验证码模块来激活您的账户 updateProfileMessage=您需要更新您的简介来激活您的账户 updatePasswordMessage=您需要更新您的密码来激活您的账户 verifyEmailMessage=您需要验证您的电子邮箱来激活您的账户 linkIdpMessage=您需要验证您的电子邮箱来连接到账户{0}. emailSentMessage=您很快会收到一封关于接下来操作的邮件。 emailSendErrorMessage=无法发送邮件,请稍后再试 accountUpdatedMessage=您的账户已经更新。 accountPasswordUpdatedMessage=您的密码已经更新 noAccessMessage=无权限 invalidPasswordMinLengthMessage=无效的密码:最短长度 {0}. invalidPasswordMinDigitsMessage=无效的密码: 至少包含{0} 个数字 invalidPasswordMinLowerCaseCharsMessage=无效的密码:至少包含 {0} 小写字母. invalidPasswordMinUpperCaseCharsMessage=无效的密码:至少包含 {0} 大写字母. invalidPasswordMinSpecialCharsMessage=无效的密码:至少包含 {0} 特殊字符. invalidPasswordNotUsernameMessage=无效的密码: 不能与用户名相同. invalidPasswordRegexPatternMessage=无效的密码: 无法与正则表达式匹配. invalidPasswordHistoryMessage=无效的密码: 不能与前 {0} 个旧密码相同. failedToProcessResponseMessage=无法处理回复 httpsRequiredMessage=需要HTTPS realmNotEnabledMessage=域未启用 invalidRequestMessage=非法的请求 failedLogout=无法登出 unknownLoginRequesterMessage=未知的登录请求发起方 loginRequesterNotEnabledMessage=登录请求发起方为启用 bearerOnlyMessage=Bearer-only 的应用不允许通过浏览器登录 standardFlowDisabledMessage=客户程序不允许发起指定返回类型的浏览器登录. 标准的登录流程已禁用。 implicitFlowDisabledMessage=客户程序不允许发起指定返回类型的浏览器登录. 隐式的登录流程已禁用。 invalidRedirectUriMessage=无效的跳转链接 unsupportedNameIdFormatMessage=不支持的 nameID格式 invalidRequesterMessage=无效的发起者 registrationNotAllowedMessage=注册不允许 resetCredentialNotAllowedMessage=不允许重置密码 permissionNotApprovedMessage=许可没有批准 noRelayStateInResponseMessage=身份提供者没有返回中继状态信息 insufficientPermissionMessage=权限不足以链接新的身份 couldNotProceedWithAuthenticationRequestMessage=无法与身份提供者处理认证请求 couldNotObtainTokenMessage=未从身份提供者获得token unexpectedErrorRetrievingTokenMessage=从身份提供者获得Token时遇到未知错误 unexpectedErrorHandlingResponseMessage=从身份提供者获得回复时遇到未知错误 identityProviderAuthenticationFailedMessage=认证失败,无法通过身份提供者认证 couldNotSendAuthenticationRequestMessage=无法向身份提供方发送认证请求 unexpectedErrorHandlingRequestMessage=在处理发向认证提供方的请求时,出现未知错误。 invalidAccessCodeMessage=无效的验证码 sessionNotActiveMessage=会话不在活动状态 invalidCodeMessage=发生错误,请重新通过应用登录 identityProviderUnexpectedErrorMessage=在与认证提供者认证过程中发生未知错误 identityProviderNotFoundMessage=无法找到认证提供方 identityProviderLinkSuccess=您的账户已经将账户{0} 与账户 {1} 链接. staleCodeMessage=当前页面已无效,请到登录界面重新登录 realmSupportsNoCredentialsMessage=域不支持特定类型密码 identityProviderNotUniqueMessage=域支持通过多个身份提供者登录,不知道应用哪一种方式登录 emailVerifiedMessage=您的电子邮箱已经验证。 staleEmailVerificationLink=您点击的链接已无效。可能您已经验证过您的电子邮箱? locale_ca=Català locale_de=Deutsch locale_en=English locale_es=Español locale_fr=Français locale_it=Italian locale_ja=日本語 locale_nl=Nederlands locale_no=Norsk locale_pt_BR=Português (Brasil) locale_pt-BR=Português (Brasil) locale_ru=Русский locale_lt=Lietuvių locale_zh-CN=中文简体 backToApplication=« 回到应用 missingParameterMessage=缺少参数 \: {0} clientNotFoundMessage=客户端未找到 clientDisabledMessage=客户端已禁用 invalidParameterMessage=无效的参数 \: {0} alreadyLoggedIn=您已经登录 ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/register.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${msg("registerTitle")} <#elseif section = "form">
<#if !realm.registrationEmailAsUsername>
<#if passwordRequired??>
<#if recaptchaRequired??>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/resources/css/login.css ================================================ .login-pf body { background: url("../img/keycloak-bg.png") no-repeat center center fixed; background-size: cover; height: 100%; } .alert-error { background-color: #ffffff; border-color: #cc0000; color: #333333; } #kc-locale ul { display: none; position: absolute; background-color: #fff; list-style: none; right: 0; top: 20px; min-width: 100px; padding: 2px 0; border: solid 1px #bbb; } #kc-locale:hover ul { display: block; margin: 0; } #kc-locale ul li a { display: block; padding: 5px 14px; color: #000 !important; text-decoration: none; line-height: 20px; } #kc-locale ul li a:hover { color: #4d5258; background-color: #d4edfa; } #kc-locale-dropdown a { color: #4d5258; background: 0 0; padding: 0 15px 0 0; font-weight: 300; } #kc-locale-dropdown a:hover { text-decoration: none; } a#kc-current-locale-link { display: block; padding: 0 5px; } /* a#kc-current-locale-link:hover { background-color: rgba(0,0,0,0.2); } */ a#kc-current-locale-link::after { content: "\2c5"; margin-left: 4px; } .login-pf .container { padding-top: 40px; } .login-pf a:hover { color: #0099d3; } #kc-logo { width: 100%; } #kc-logo-wrapper { background-image: url(../img/keycloak-logo-2.png); background-repeat: no-repeat; height: 63px; width: 300px; margin: 62px auto 0; } div.kc-logo-text { background-image: url(../img/keycloak-logo-text.png); background-repeat: no-repeat; height: 63px; width: 300px; margin: 0 auto; } div.kc-logo-text span { display: none; } #kc-header { color: #ededed; overflow: visible; white-space: nowrap; } #kc-header-wrapper { font-size: 29px; text-transform: uppercase; letter-spacing: 3px; line-height: 1.2em; padding: 62px 10px 20px; white-space: normal; } #kc-content { width: 100%; } #kc-attempted-username{ font-size: 20px; font-family:inherit; font-weight: normal; padding-right:10px; } #kc-username{ text-align: center; } #kc-webauthn-settings-form{ padding-top:8px; } /* #kc-content-wrapper { overflow-y: hidden; } */ #kc-info { padding-bottom: 200px; margin-bottom: -200px; } #kc-info-wrapper { font-size: 13px; } #kc-form-options span { display: block; } #kc-form-options .checkbox { margin-top: 0; color: #72767b; } #kc-terms-text { margin-bottom: 20px; } #kc-registration { margin-bottom: 15px; } /* TOTP */ .subtitle { text-align: right; margin-top: 30px; color: #909090; } .required { color: #CB2915; } ol#kc-totp-settings { margin: 0; padding-left: 20px; } ul#kc-totp-supported-apps { margin-bottom: 10px; } #kc-totp-secret-qr-code { max-width:150px; max-height:150px; } #kc-totp-secret-key { background-color: #fff; color: #333333; font-size: 16px; padding: 10px 0; } /* OAuth */ #kc-oauth h3 { margin-top: 0; } #kc-oauth ul { list-style: none; padding: 0; margin: 0; } #kc-oauth ul li { border-top: 1px solid rgba(255, 255, 255, 0.1); font-size: 12px; padding: 10px 0; } #kc-oauth ul li:first-of-type { border-top: 0; } #kc-oauth .kc-role { display: inline-block; width: 50%; } /* Code */ #kc-code textarea { width: 100%; height: 8em; } /* Social */ #kc-social-providers ul { padding: 0; } #kc-social-providers li { display: block; } #kc-social-providers li:first-of-type { margin-top: 0; } .kc-login-tooltip{ position:relative; display: inline-block; } .kc-login-tooltip .kc-tooltip-text{ top:-3px; left:160%; background-color: black; visibility: hidden; color: #fff; min-width:130px; text-align: center; border-radius: 2px; box-shadow:0 1px 8px rgba(0,0,0,0.6); padding: 5px; position: absolute; opacity:0; transition:opacity 0.5s; } /* Show tooltip */ .kc-login-tooltip:hover .kc-tooltip-text { visibility: visible; opacity:0.7; } /* Arrow for tooltip */ .kc-login-tooltip .kc-tooltip-text::after { content: " "; position: absolute; top: 15px; right: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent black transparent transparent; } .zocial, a.zocial { width: 100%; font-weight: normal; font-size: 14px; text-shadow: none; border: 0; background: #f5f5f5; color: #72767b; border-radius: 0; white-space: normal; } .zocial:before { border-right: 0; margin-right: 0; } .zocial span:before { padding: 7px 10px; font-size: 14px; } .zocial:hover { background: #ededed !important; } .zocial.facebook, .zocial.github, .zocial.google, .zocial.microsoft, .zocial.stackoverflow, .zocial.linkedin, .zocial.twitter { background-image: none; border: 0; box-shadow: none; text-shadow: none; } /* Copy of zocial windows classes to be used for microsoft's social provider button */ .zocial.microsoft:before{ content: "\f15d"; } .zocial.stackoverflow:before{ color: inherit; } @media (min-width: 768px) { #kc-container-wrapper { position: absolute; width: 100%; } .login-pf .container { padding-right: 80px; } #kc-locale { position: relative; text-align: right; z-index: 9999; } } @media (max-width: 767px) { .login-pf body { background: white; } #kc-header { padding-left: 15px; padding-right: 15px; float: none; text-align: left; } #kc-header-wrapper { font-size: 16px; font-weight: bold; padding: 20px 60px 0 0; color: #72767b; letter-spacing: 0; } div.kc-logo-text { margin: 0; width: 150px; height: 32px; background-size: 100%; } #kc-form { float: none; } #kc-info-wrapper { border-top: 1px solid rgba(255, 255, 255, 0.1); margin-top: 15px; padding-top: 15px; padding-left: 0px; padding-right: 15px; } #kc-social-providers li { display: block; margin-right: 5px; } .login-pf .container { padding-top: 15px; padding-bottom: 15px; } #kc-locale { position: absolute; width: 200px; top: 20px; right: 20px; text-align: right; z-index: 9999; } #kc-logo-wrapper { background-size: 100px 21px; height: 21px; width: 100px; margin: 20px 0 0 20px; } } @media (min-height: 646px) { #kc-container-wrapper { bottom: 12%; } } @media (max-height: 645px) { #kc-container-wrapper { padding-top: 50px; top: 20%; } } .card-pf form.form-actions .btn { float: right; margin-left: 10px; } #kc-form-buttons { margin-top: 40px; } .login-pf-page .login-pf-brand { margin-top: 20px; max-width: 360px; width: 40%; } .card-pf { background: #fff; margin: 0 auto; padding: 0 20px; max-width: 500px; border-top: 0; box-shadow: 0 0 0; } /*tablet*/ @media (max-width: 840px) { .login-pf-page .card-pf{ max-width: none; margin-left: 20px; margin-right: 20px; padding: 20px 20px 30px 20px; } } @media (max-width: 767px) { .login-pf-page .card-pf{ max-width: none; margin-left: 0; margin-right: 0; padding-top: 0; } .card-pf.login-pf-accounts{ max-width: none; } } .login-pf-page .login-pf-signup { font-size: 15px; color: #72767b; } #kc-content-wrapper .row { margin-left: 0; margin-right: 0; } @media (min-width: 768px) { .login-pf-page .login-pf-social-section:first-of-type { padding-right: 39px; border-right: 1px solid #d1d1d1; margin-right: -1px; } .login-pf-page .login-pf-social-section:last-of-type { padding-left: 40px; } .login-pf-page .login-pf-social-section .login-pf-social-link:last-of-type { margin-bottom: 0; } } .login-pf-page .login-pf-social-link { margin-bottom: 25px; } .login-pf-page .login-pf-social-link a { padding: 2px 0; } .login-pf-page.login-pf-page-accounts { margin-left: auto; margin-right: auto; } .login-pf-page .btn-primary { margin-top: 0; } .login-pf-page .list-view-pf .list-group-item { border-bottom: 1px solid #ededed; } .login-pf-page .list-view-pf-description { width: 100%; } .login-pf-page .card-pf{ margin-bottom: 10px; } #kc-form-login div.form-group:last-of-type, #kc-register-form div.form-group:last-of-type, #kc-update-profile-form div.form-group:last-of-type { margin-bottom: 0px; } #kc-back { margin-top: 5px; } form#kc-select-back-form div.login-pf-social-section { padding-left: 0px; border-left: 0px; } ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/resources/js/base64url.js ================================================ // for embedded scripts, quoted and modified from https://github.com/swansontec/rfc4648.js by William Swanson 'use strict'; var base64url = base64url || {}; (function(base64url) { function parse (string, encoding, opts = {}) { // Build the character lookup table: if (!encoding.codes) { encoding.codes = {}; for (let i = 0; i < encoding.chars.length; ++i) { encoding.codes[encoding.chars[i]] = i; } } // The string must have a whole number of bytes: if (!opts.loose && (string.length * encoding.bits) & 7) { throw new SyntaxError('Invalid padding'); } // Count the padding bytes: let end = string.length; while (string[end - 1] === '=') { --end; // If we get a whole number of bytes, there is too much padding: if (!opts.loose && !(((string.length - end) * encoding.bits) & 7)) { throw new SyntaxError('Invalid padding'); } } // Allocate the output: const out = new (opts.out || Uint8Array)(((end * encoding.bits) / 8) | 0); // Parse the data: let bits = 0; // Number of bits currently in the buffer let buffer = 0; // Bits waiting to be written out, MSB first let written = 0; // Next byte to write for (let i = 0; i < end; ++i) { // Read one character from the string: const value = encoding.codes[string[i]]; if (value === void 0) { throw new SyntaxError('Invalid character ' + string[i]); } // Append the bits to the buffer: buffer = (buffer << encoding.bits) | value; bits += encoding.bits; // Write out some bits if the buffer has a byte's worth: if (bits >= 8) { bits -= 8; out[written++] = 0xff & (buffer >> bits); } } // Verify that we have received just enough bits: if (bits >= encoding.bits || 0xff & (buffer << (8 - bits))) { throw new SyntaxError('Unexpected end of data'); } return out } function stringify (data, encoding, opts = {}) { const { pad = true } = opts; const mask = (1 << encoding.bits) - 1; let out = ''; let bits = 0; // Number of bits currently in the buffer let buffer = 0; // Bits waiting to be written out, MSB first for (let i = 0; i < data.length; ++i) { // Slurp data into the buffer: buffer = (buffer << 8) | (0xff & data[i]); bits += 8; // Write out as much as we can: while (bits > encoding.bits) { bits -= encoding.bits; out += encoding.chars[mask & (buffer >> bits)]; } } // Partial character: if (bits) { out += encoding.chars[mask & (buffer << (encoding.bits - bits))]; } // Add padding characters until we hit a byte boundary: if (pad) { while ((out.length * encoding.bits) & 7) { out += '='; } } return out } const encoding = { chars: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_', bits: 6 } base64url.decode = function (string, opts) { return parse(string, encoding, opts); } base64url.encode = function (data, opts) { return stringify(data, encoding, opts) } return base64url; }(base64url)); ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/saml-post-form.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "header"> ${kcSanitize(msg("saml.post-form.title"))} <#elseif section = "form">

${kcSanitize(msg("saml.post-form.message"))}

<#if samlPost.SAMLRequest??> <#if samlPost.SAMLResponse??> <#if samlPost.relayState??>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/select-authenticator.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayInfo=true; section> <#if section = "header" || section = "show-username"> <#if section = "header"> ${msg("loginChooseAuthenticator")} <#elseif section = "form">
<#list auth.authenticationSelections as authenticationSelection>
${msg('${authenticationSelection.displayName}')}
${msg('${authenticationSelection.helpText}')}
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/template.ftl ================================================ <#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true displayRequiredFields=false displayWide=false showAnotherWayIfPresent=true> <#if properties.meta?has_content> <#list properties.meta?split(' ') as meta> ${msg("loginTitle",(realm.displayName!''))} <#if properties.stylesCommon?has_content> <#list properties.stylesCommon?split(' ') as style> <#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>
${kcSanitize(msg("loginTitleHtml",(realm.displayNameHtml!'')))?no_esc}
<#if realm.internationalizationEnabled && locale.supported?size gt 1>
${locale.current}
<#if !(auth?has_content && auth.showUsername() && !auth.showResetCredentials())> <#if displayRequiredFields>
* ${msg("requiredFields")}

<#nested "header">

<#else>

<#nested "header">

<#else> <#if displayRequiredFields>
* ${msg("requiredFields")}
<#nested "show-username">
<#else> <#nested "show-username">
<#-- App-initiated actions should not see warning messages about the need to complete the action --> <#-- during login. --> <#if displayMessage && message?has_content && (message.type != 'warning' || !isAppInitiatedAction??)>
<#if message.type = 'success'> <#if message.type = 'warning'> <#if message.type = 'error'> <#if message.type = 'info'>
<#nested "form"> <#if auth?has_content && auth.showTryAnotherWayLink() && showAnotherWayIfPresent>
class="${properties.kcContentWrapperClass!}">
class="${properties.kcFormSocialAccountContentClass!} ${properties.kcFormSocialAccountClass!}">
<#if displayInfo>
<#nested "info">
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/terms.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayMessage=false; section> <#if section = "header"> ${msg("termsTitle")} <#elseif section = "form">
${kcSanitize(msg("termsText"))?no_esc}
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/theme.properties ================================================ import=common/keycloak styles=css/login.css stylesCommon=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css lib/zocial/zocial.css meta=viewport==width=device-width,initial-scale=1 kcHtmlClass=login-pf kcLoginClass=login-pf-page kcLogoLink=http://www.keycloak.org kcLogoClass=login-pf-brand kcContainerClass=container-fluid kcContentClass=col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-6 col-lg-offset-3 kcContentWrapperClass=row kcHeaderClass=login-pf-page-header kcFeedbackAreaClass=col-md-12 kcLocaleClass=col-xs-12 col-sm-1 kcAlertIconClasserror=pficon pficon-error-circle-o kcFormAreaClass=col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2 kcFormCardClass=card-pf kcFormCardAccountClass=login-pf-accounts kcFormSocialAccountClass=login-pf-social-section kcFormSocialAccountContentClass=col-xs-12 col-sm-6 kcFormSocialAccountListClass=login-pf-social list-unstyled login-pf-social-all kcFormSocialAccountDoubleListClass=login-pf-social-double-col kcFormSocialAccountListLinkClass=login-pf-social-link kcFormHeaderClass=login-pf-header kcFeedbackErrorIcon=pficon pficon-error-circle-o kcFeedbackWarningIcon=pficon pficon-warning-triangle-o kcFeedbackSuccessIcon=pficon pficon-ok kcFeedbackInfoIcon=pficon pficon-info kcResetFlowIcon=pficon pficon-arrow fa-2x kcWebAuthnKeyIcon=pficon pficon-key kcFormClass=form-horizontal kcFormGroupClass=form-group kcFormGroupErrorClass=has-error kcLabelClass=control-label kcLabelWrapperClass=col-xs-12 col-sm-12 col-md-12 col-lg-12 kcInputClass=form-control kcInputWrapperClass=col-xs-12 col-sm-12 col-md-12 col-lg-12 kcFormOptionsClass=col-xs-12 col-sm-12 col-md-12 col-lg-12 kcFormButtonsClass=col-xs-12 col-sm-12 col-md-12 col-lg-12 kcFormSettingClass=login-pf-settings kcTextareaClass=form-control kcSignUpClass=login-pf-signup kcInfoAreaClass=col-xs-12 col-sm-4 col-md-4 col-lg-5 details ##### css classes for form buttons # main class used for all buttons kcButtonClass=btn # classes defining priority of the button - primary or default (there is typically only one priority button for the form) kcButtonPrimaryClass=btn-primary kcButtonDefaultClass=btn-default # classes defining size of the button kcButtonLargeClass=btn-lg kcButtonBlockClass=btn-block ##### css classes for input kcInputLargeClass=input-lg ##### css classes for form accessability kcSrOnlyClass=sr-only ##### css classes for select-authenticator form kcSelectAuthListClass=list-group list-view-pf kcSelectAuthListItemClass=list-group-item list-view-pf-stacked kcSelectAuthListItemInfoClass=list-view-pf-main-info kcSelectAuthListItemLeftClass=list-view-pf-left kcSelectAuthListItemBodyClass=list-view-pf-body kcSelectAuthListItemDescriptionClass=list-view-pf-description kcSelectAuthListItemHeadingClass=list-group-item-heading kcSelectAuthListItemHelpTextClass=list-group-item-text ##### css classes for the authenticators kcAuthenticatorDefaultClass=fa list-view-pf-icon-lg kcAuthenticatorPasswordClass=fa fa-unlock list-view-pf-icon-lg kcAuthenticatorOTPClass=fa fa-mobile list-view-pf-icon-lg kcAuthenticatorWebAuthnClass=fa fa-key list-view-pf-icon-lg kcAuthenticatorWebAuthnPasswordlessClass=fa fa-key list-view-pf-icon-lg ##### css classes for the OTP Login Form kcSelectOTPListClass=card-pf card-pf-view card-pf-view-select card-pf-view-single-select kcSelectOTPListItemClass=card-pf-body card-pf-top-element kcAuthenticatorOtpCircleClass=fa fa-mobile card-pf-icon-circle kcSelectOTPItemHeadingClass=card-pf-title text-center ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/webauthn-authenticate.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout showAnotherWayIfPresent=false; section> <#if section = "title"> title <#elseif section = "header"> ${kcSanitize(msg("webauthn-login-title"))?no_esc} <#elseif section = "form">
<#if authenticators??>
<#list authenticators.authenticators as authenticator>
<#elseif section = "info"> ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/webauthn-error.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout displayMessage=true; section> <#if section = "header"> ${kcSanitize(msg("webauthn-error-title"))?no_esc} <#elseif section = "form">
<#if authenticators??> <#list authenticators.authenticators as authenticator>
${kcSanitize(msg("webauthn-available-authenticators"))?no_esc}
${kcSanitize(authenticator.label)?no_esc}
<#if isAppInitiatedAction??>
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/login/webauthn-register.ftl ================================================ <#import "template.ftl" as layout> <@layout.registrationLayout; section> <#if section = "title"> title <#elseif section = "header"> ${kcSanitize(msg("webauthn-registration-title"))?no_esc} <#elseif section = "form">
<#if !isSetRetry?has_content && isAppInitiatedAction?has_content>
<#else> ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/welcome/index.ftl ================================================   Welcome to ${productNameFull} <#if properties.stylesCommon?has_content> <#list properties.stylesCommon?split(' ') as style> <#if properties.styles?has_content> <#list properties.styles?split(' ') as style>
${productName}

Welcome to ${productNameFull} using ${properties.testExternalVar}

<#if successMessage?has_content>

${successMessage}

<#elseif errorMessage?has_content>

${errorMessage}

Administration Console

<#elseif bootstrap> <#if localUser>

Administration Console

Please create an initial admin user to get started.

<#else>

You need local access to create the initial admin user.

Open http://localhost:8080/auth
or use the add-user-keycloak script.

<#if bootstrap && localUser>

Documentation

User Guide, Admin REST API and Javadocs
<#if properties.displayCommunityLinks = "true">
================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/welcome/resources/css/welcome.css ================================================ body { background: #fff url(../bg.png) no-repeat center bottom fixed; background-size: cover; } .welcome-header { margin-top: 10px; margin-bottom: 50px; margin-left: -10px; } .welcome-header img { width: 150px; margin-bottom: 40px; } .welcome-message { margin-top: 20px; } .h-l { min-height: 370px; padding: 10px 20px 10px; overflow: hidden; } .h-l h3 { margin-bottom: 10px; } .h-m { height: 110px; padding-top: 23px; } .card-pf img { width: 22px; margin-right: 10px; vertical-align: bottom; } img.doc-img { width: auto; height: 22px; } .link { font-size: 16px; vertical-align: baseline; margin-left: 5px; } h3 { font-weight: 550; } h3 a:link, h3 a:visited { color: #333; font-weight: 550; } h3 a:hover, h3 a:hover .link { text-decoration: none; color: #00659c; } .h-l h3 a img { height: 30px; width: auto; } .description { margin-top: 30px; } .card-pf { border-top: 1px solid rgba(3, 3, 3, 0.1); box-shadow: 0 1px 1px rgba(3, 3, 3, 0.275); } .welcome-form label, .welcome-form input { display: block; width: 100%; } .welcome-form label { color: #828486; font-weight: normal; margin-top: 18px; } .welcome-form input { border: 0; border-bottom: solid 1px #cbcbcb; } .welcome-form input:focus { border-bottom: solid 1px #5e99c6; outline-width: 0; } .welcome-form button { margin-top: 10px; } .error { color: #c00; border-color: #c00; padding: 5px 10px; } .success { color: #3f9c35; border-color: #3f9c35; padding: 5px 10px; } .welcome-form + .welcome-primary-link, .welcome-message + .welcome-primary-link { display: none; } .footer img { float: right; width: 150px; margin-top: 30px; } @media (max-width: 768px) { .welcome-header { margin-top: 10px; margin-bottom: 20px; } .welcome-header img { margin-bottom: 20px; } h3 { margin-top: 10px; } .h-l, .h-m { height: auto; min-height: auto; padding: 5px 10px; } .h-l img { display: inline; margin-bottom: auto; } .description { display: none; } .footer img { margin-top: 10px; } } ================================================ FILE: theme-minimal/src/main/resources/theme/theme-minimal/welcome/theme.properties ================================================ import=common/keycloak styles=css/welcome.css stylesCommon=node_modules/patternfly/dist/css/patternfly.css node_modules/patternfly/dist/css/patternfly-additions.css documentationUrl=https://www.keycloak.org/documentation.html displayCommunityLinks=true testExternalVar=${env.KEYCLOAK_WELCOME_THEME}