From 91b01ffd7b8a4193d6ba94245a55a44a581446e4 Mon Sep 17 00:00:00 2001 From: Jan Polonsky Date: Tue, 8 Oct 2024 13:05:41 +0200 Subject: [PATCH] - fixed keycloak logout - fix not working Keycloak build/deploy (download not valid anymore) - Keycloak upgrade 15.0.2 -> 25.0.6 - new realm export (old renamed to realm-export_v16.1.1.json) - new modern keycloak login screen (old one was broken, not updated for long time, we will use native keycloak login, nicer, support all new things) --- docker/.env.example | 1 - docker/Dockerfile.keycloak | 6 +- docker/README.md | 2 +- docker/docker-compose-keycloak-serv.yml | 85 +- docker/docker-compose-keycloak.yml | 51 +- src/core/README.md | 33 +- src/core/api/keycloak.py | 23 +- src/core/auth/keycloak_authenticator.py | 25 +- src/gui/src/components/UserMenu.vue | 5 +- src/gui/src/store/store.js | 7 +- src/keycloak/disable-theme-cache.cli | 5 - src/keycloak/realm-export.json | 4428 +++++++++-------- src/keycloak/realm-export_v16.1.1.json | 2190 ++++++++ .../theme/admin/resources/change-title.js | 6 - .../admin/resources/css/admin_taranis-ng.css | 493 -- .../theme/admin/resources/img/cogs.png | Bin 26991 -> 0 bytes .../theme/admin/resources/img/favicon.ico | Bin 1086 -> 0 bytes .../admin/resources/img/taranis-ng-logo.png | Bin 7654 -> 0 bytes src/keycloak/theme/admin/theme.properties | 6 - .../login/messages/messages_ca.properties | 200 - .../login/messages/messages_de.properties | 265 - .../login/messages/messages_en.properties | 336 -- .../login/messages/messages_es.properties | 200 - .../login/messages/messages_fr.properties | 276 - .../login/messages/messages_it.properties | 214 - .../login/messages/messages_ja.properties | 311 -- .../login/messages/messages_lt.properties | 217 - .../login/messages/messages_nl.properties | 295 -- .../login/messages/messages_no.properties | 229 - .../login/messages/messages_pl.properties | 312 -- .../login/messages/messages_pt_BR.properties | 214 - .../login/messages/messages_ru.properties | 218 - .../login/messages/messages_sk.properties | 263 - .../login/messages/messages_sv.properties | 214 - .../login/messages/messages_tr.properties | 314 -- .../login/messages/messages_zh_CN.properties | 232 - .../theme/login/resources/css/styles.css | 119 - .../theme/login/resources/img/favicon.ico | Bin 1086 -> 0 bytes .../theme/login/resources/img/logo-tng.png | Bin 20905 -> 0 bytes .../theme/login/resources/login-taranis-ng.js | 19 - src/keycloak/theme/login/theme.properties | 22 - 41 files changed, 4650 insertions(+), 7186 deletions(-) delete mode 100644 src/keycloak/disable-theme-cache.cli create mode 100644 src/keycloak/realm-export_v16.1.1.json delete mode 100644 src/keycloak/theme/admin/resources/change-title.js delete mode 100644 src/keycloak/theme/admin/resources/css/admin_taranis-ng.css delete mode 100644 src/keycloak/theme/admin/resources/img/cogs.png delete mode 100644 src/keycloak/theme/admin/resources/img/favicon.ico delete mode 100644 src/keycloak/theme/admin/resources/img/taranis-ng-logo.png delete mode 100644 src/keycloak/theme/admin/theme.properties delete mode 100644 src/keycloak/theme/login/messages/messages_ca.properties delete mode 100644 src/keycloak/theme/login/messages/messages_de.properties delete mode 100644 src/keycloak/theme/login/messages/messages_en.properties delete mode 100644 src/keycloak/theme/login/messages/messages_es.properties delete mode 100644 src/keycloak/theme/login/messages/messages_fr.properties delete mode 100644 src/keycloak/theme/login/messages/messages_it.properties delete mode 100644 src/keycloak/theme/login/messages/messages_ja.properties delete mode 100644 src/keycloak/theme/login/messages/messages_lt.properties delete mode 100644 src/keycloak/theme/login/messages/messages_nl.properties delete mode 100644 src/keycloak/theme/login/messages/messages_no.properties delete mode 100644 src/keycloak/theme/login/messages/messages_pl.properties delete mode 100644 src/keycloak/theme/login/messages/messages_pt_BR.properties delete mode 100644 src/keycloak/theme/login/messages/messages_ru.properties delete mode 100644 src/keycloak/theme/login/messages/messages_sk.properties delete mode 100644 src/keycloak/theme/login/messages/messages_sv.properties delete mode 100644 src/keycloak/theme/login/messages/messages_tr.properties delete mode 100644 src/keycloak/theme/login/messages/messages_zh_CN.properties delete mode 100644 src/keycloak/theme/login/resources/css/styles.css delete mode 100644 src/keycloak/theme/login/resources/img/favicon.ico delete mode 100644 src/keycloak/theme/login/resources/img/logo-tng.png delete mode 100644 src/keycloak/theme/login/resources/login-taranis-ng.js delete mode 100644 src/keycloak/theme/login/theme.properties diff --git a/docker/.env.example b/docker/.env.example index c336fa091..fec0430d5 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -42,7 +42,6 @@ DB_MAX_CONNECTIONS=1000 PRESENTER_PORT=5002 # Standalone Keycloak -KEYCLOAK_VERSION=16.1.1 KEYCLOAK_USER=admin KEYCLOAK_PASSWORD=supersecret POSTGRES_KEYCLOAK_PASSWORD=supersecret diff --git a/docker/Dockerfile.keycloak b/docker/Dockerfile.keycloak index a9fdabbda..8b8eeae77 100644 --- a/docker/Dockerfile.keycloak +++ b/docker/Dockerfile.keycloak @@ -1,6 +1,4 @@ -FROM jboss/keycloak:15.0.2 +FROM quay.io/keycloak/keycloak:25.0.6 -COPY ./src/keycloak/realm-export.json /opt/jboss/keycloak/realm-export.json +COPY ./src/keycloak/realm-export.json /opt/keycloak/data/import/realm-export.json -COPY ./src/keycloak/disable-theme-cache.cli /opt/jboss/startup-scripts/disable-theme-cache.cli -COPY ./src/keycloak/theme /opt/jboss/keycloak/themes/taranis-ng diff --git a/docker/README.md b/docker/README.md index 6935df32a..871a190ab 100644 --- a/docker/README.md +++ b/docker/README.md @@ -150,7 +150,7 @@ Any configuration options are available at [https://hub.docker.com/_/postgres](h | `DB_POOL_SIZE` | SQLAlchemy QueuePool number of active connections to the database. | `100` | | `DB_POOL_RECYCLE` | SQLAlchemy QueuePool maximum connection age. | `300` | | `DB_POOL_TIMEOUT` | SQLAlchemy QueuePool connection timeout. | `5` | -| `OPENID_LOGOUT_URL` | Keycloak logout URL. | `https://example.com/auth/realms/master/protocol/openid-connect/logout` | +| `OPENID_LOGOUT_URL` | Keycloak logout URL. | `https://example.com/realms/master/protocol/openid-connect/logout` | | `WORKERS_PER_CORE` | Number of gunicorn worker threads to spawn per CPU core. | `4` | | `SKIP_DEFAULT_COLLECTOR` | Set to `true` to prevent initialization of a default docker collector at first run | `` | diff --git a/docker/docker-compose-keycloak-serv.yml b/docker/docker-compose-keycloak-serv.yml index 17f2c3aa1..7fd0f2c56 100644 --- a/docker/docker-compose-keycloak-serv.yml +++ b/docker/docker-compose-keycloak-serv.yml @@ -1,63 +1,64 @@ -version: "3.9" - services: keycloak_db: image: "postgres:${POSTGRES_TAG}" restart: unless-stopped environment: - POSTGRES_DB: "taranis-ng-keycloak" - POSTGRES_USER: "taranis-ng-keycloak" - POSTGRES_PASSWORD: "${POSTGRES_KEYCLOAK_PASSWORD}" + POSTGRES_DB: "taranis-ng-keycloak" + POSTGRES_USER: "taranis-ng-keycloak" + POSTGRES_PASSWORD: "${POSTGRES_KEYCLOAK_PASSWORD}" command: ["postgres", "-c", "shared_buffers=${DB_SHARED_BUFFERS}", "-c", "max_connections=${DB_MAX_CONNECTIONS}"] volumes: - - "keycloak_db_data:/var/lib/postgresql/data" + - "keycloak_db_data:/var/lib/postgresql/data" logging: - driver: "json-file" - options: - max-size: "200k" - max-file: "10" + driver: "json-file" + options: + max-size: "200k" + max-file: "10" keycloak: image: "skcert/taranis-ng-keycloak:${TARANIS_NG_TAG}" build: - context: .. - dockerfile: ./docker/Dockerfile.keycloak + context: .. + dockerfile: ./docker/Dockerfile.keycloak restart: unless-stopped depends_on: - - keycloak_db + - keycloak_db environment: - DB_VENDOR: postgres - DB_ADDR: keycloak_db - DB_PORT: 5432 - DB_DATABASE: taranis-ng-keycloak - DB_USER: taranis-ng-keycloak - DB_PASSWORD: "${POSTGRES_KEYCLOAK_PASSWORD}" - KEYCLOAK_IMPORT: "/opt/jboss/keycloak/realm-export.json" - KEYCLOAK_FRONTEND_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/keycloak/auth" - KEYCLOAK_USER: "${KEYCLOAK_USER}" - KEYCLOAK_PASSWORD: "${KEYCLOAK_PASSWORD}" - KEYCLOAK_DEFAULT_THEME: "taranis-ng" - PROXY_ADDRESS_FORWARDING: "false" - JAVA_OPTS: "-Dkeycloak.profile.feature.upload_scripts=enabled" + DB_VENDOR: postgres + DB_ADDR: keycloak_db + DB_PORT: 5432 + DB_DATABASE: taranis-ng-keycloak + DB_USER: taranis-ng-keycloak + DB_PASSWORD: "${POSTGRES_KEYCLOAK_PASSWORD}" + KEYCLOAK_FRONTEND_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/keycloak/auth" + KEYCLOAK_USER: "${KEYCLOAK_USER}" + KEYCLOAK_PASSWORD: "${KEYCLOAK_PASSWORD}" + KEYCLOAK_ADMIN: "${KEYCLOAK_USER}" + KEYCLOAK_ADMIN_PASSWORD: "${KEYCLOAK_PASSWORD}" + KEYCLOAK_DEFAULT_THEME: "taranis-ng" + PROXY_ADDRESS_FORWARDING: "false" + command: ["-Dkeycloak.profile.feature.upload_scripts=enabled", "start-dev", "--import-realm"] volumes: - - "keycloak_data:/opt/jboss/keycloak/standalone/data" + - "keycloak_data:/opt/jboss/keycloak/standalone/data" + # ports: + # - 127.0.0.1:4445:8080 logging: - driver: "json-file" - options: - max-size: "200k" - max-file: "10" + driver: "json-file" + options: + max-size: "200k" + max-file: "10" labels: - traefik.enable: "true" - traefik.http.services.taranis-keycloak.loadbalancer.server.port: "8080" - traefik.http.middlewares.taranis-keycloak-stripprefix.stripprefix.prefixes: "/api/v1/keycloak" + traefik.enable: "true" + traefik.http.services.taranis-keycloak.loadbalancer.server.port: "8080" + traefik.http.middlewares.taranis-keycloak-stripprefix.stripprefix.prefixes: "/api/v1/keycloak" - traefik.http.routers.taranis-keycloak-443.entrypoints: "websecure" - traefik.http.routers.taranis-keycloak-443.rule: "PathPrefix(`/api/v1/keycloak/auth`)" - traefik.http.routers.taranis-keycloak-443.tls: "true" - traefik.http.routers.taranis-keycloak-443.tls.domains[0].main: "${TARANIS_NG_HOSTNAME}" - traefik.http.routers.taranis-keycloak-443.middlewares: "taranis-keycloak-stripprefix" - traefik.http.routers.taranis-keycloak-443.service: "taranis-keycloak" + traefik.http.routers.taranis-keycloak-443.entrypoints: "websecure" + traefik.http.routers.taranis-keycloak-443.rule: "PathPrefix(`/api/v1/keycloak/auth`)" + traefik.http.routers.taranis-keycloak-443.tls: "true" + traefik.http.routers.taranis-keycloak-443.tls.domains[0].main: "${TARANIS_NG_HOSTNAME}" + traefik.http.routers.taranis-keycloak-443.middlewares: "taranis-keycloak-stripprefix" + traefik.http.routers.taranis-keycloak-443.service: "taranis-keycloak" volumes: - keycloak_db_data: - keycloak_data: + keycloak_db_data: + keycloak_data: diff --git a/docker/docker-compose-keycloak.yml b/docker/docker-compose-keycloak.yml index 2406f026f..debc856f8 100644 --- a/docker/docker-compose-keycloak.yml +++ b/docker/docker-compose-keycloak.yml @@ -1,31 +1,30 @@ -version: "3.9" - services: - core: - environment: - TARANIS_NG_AUTHENTICATOR: "keycloak" + core: + environment: + TARANIS_NG_AUTHENTICATOR: "keycloak" - OPENID_LOGOUT_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/keycloak/auth/realms/taranis-ng/protocol/openid-connect/logout?redirect_uri=GOTO_URL" - # CLIENT (external Keycloak) - TARANIS_NG_KEYCLOAK_URL: "https://keycloak.example.com" - TARANIS_NG_KEYCLOAK_INTERNAL_URL: "https://keycloak.int.example.com" - TARANIS_NG_KEYCLOAK_CLIENT_ID: "taranis-ng" - KEYCLOAK_REALM_NAME: "taranis-ng" - KEYCLOAK_USER_MANAGEMENT: "false" - # needed if KEYCLOAK_USER_MANAGEMENT = true - KEYCLOAK_ADMIN_USERNAME: "admin" - KEYCLOAK_VERIFY: "true" - secrets: - - keycloak_client_secret_key - - keycloak_admin_password + OPENID_LOGOUT_URL: "${TARANIS_NG_KEYCLOAK_URL}/realms/taranis-ng/protocol/openid-connect/logout?redirect_uri=GOTO_URL" + # CLIENT (external Keycloak) + TARANIS_NG_KEYCLOAK_URL: "https://keycloak.example.com" + TARANIS_NG_KEYCLOAK_INTERNAL_URL: "https://keycloak.int.example.com" + TARANIS_NG_KEYCLOAK_CLIENT_ID: "taranis-ng" + KEYCLOAK_VERSION: "25.0.6" + KEYCLOAK_REALM_NAME: "taranis-ng" + KEYCLOAK_USER_MANAGEMENT: "false" + # needed if KEYCLOAK_USER_MANAGEMENT = true + KEYCLOAK_ADMIN_USERNAME: "admin" + KEYCLOAK_VERIFY: "true" + secrets: + - keycloak_client_secret_key + #- keycloak_admin_password - gui: - environment: - VUE_APP_TARANIS_NG_LOGOUT_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/auth/logout?gotoUrl=TARANIS_GUI_URI" - VUE_APP_TARANIS_NG_LOGIN_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/keycloak/auth/realms/taranis-ng/protocol/openid-connect/auth?response_type=code&client_id=taranis-ng&redirect_uri=TARANIS_GUI_URI" + gui: + environment: + VUE_APP_TARANIS_NG_LOGIN_URL: "${TARANIS_NG_KEYCLOAK_URL}/realms/taranis-ng/protocol/openid-connect/auth?response_type=code&client_id=taranis-ng&redirect_uri=TARANIS_GUI_URI" + VUE_APP_TARANIS_NG_LOGOUT_URL: "${TARANIS_NG_KEYCLOAK_URL}/realms/taranis-ng/protocol/openid-connect/logout" secrets: - keycloak_client_secret_key: - file: ./secrets/keycloak_client_secret_key.txt - keycloak_admin_password: - file: ./secrets/keycloak_admin_password.txt + keycloak_client_secret_key: + file: ./secrets/keycloak_client_secret_key.txt + keycloak_admin_password: + file: ./secrets/keycloak_admin_password.txt diff --git a/src/core/README.md b/src/core/README.md index 53e940130..fe3fbb5ee 100644 --- a/src/core/README.md +++ b/src/core/README.md @@ -25,6 +25,13 @@ 6. Test accounts are user with password user and admin with password admin # **Keycloak setup** + +Keycloak in Docker: + +You can use the existing `docker-compose-keycloak-serv.yml` for creating keycloak server inside docker container. + +Manual install: + This quick setup guide demonstrates installation for early test purposes running on localhost and default ports. Everything in Keycloak can be reconfigured to specific needs as well as Login screen template. Keycloak is not needed to run test version of TaranisNG at the moment. You can use default _TestAuthenticator_ instead. 1. Requires JAVA 8 to run so download and install JDK from Oracle or OpenJDK e.g. `apt install openjdk-8-jdk` @@ -38,39 +45,39 @@ Keycloak is not needed to run test version of TaranisNG at the moment. You can u 9. In CLIENTS choose taranis-ng and regenerate secret in CREDENTIALS -> REGENERATE SECRET and put secret it _into client_secrets.json_ inside **taranis-ng-core** root (_NOTE: this will be properly configurable inside admin interface in the future_) 10. Create 2 users **user** and **admin** in USERS -> ADD USER. These are test users in TaranisNG at the moment. 11. In **taranis-ng-core** add environment variable TARANIS_NG_AUTHENTICATOR=openid (just for sign in) or TARANIS_NG_AUTHENTICATOR=keycloak (for identy management) -12. In **taranis-ng-core** add environment variable OPENID_LOGOUT_URL and set it according to your Keycloak installation e.g. http://127.0.0.1:8081/auth/realms/taranisng/protocol/openid-connect/logout?redirect_uri= -13. In **taranis-ng-gui** add these environment variables to activate external login: - ``` - VUE_APP_TARANIS_NG_LOGIN_URL=http://127.0.0.1:5000/api/auth/login - VUE_APP_TARANIS_NG_LOGOUT_URL=http://127.0.0.1:5000/api/auth/logout - ``` +12. In **taranis-ng-core** add environment variable OPENID_LOGOUT_URL and set it according to your Keycloak installation +13. In **taranis-ng-gui** add these environment variables VUE_APP_TARANIS_NG_LOGIN_URL, VUE_APP_TARANIS_NG_LOGOUT_URL to activate external login: ## Keycloak client example of docker-compose.yml: **taranis-ng-core** section: ``` TARANIS_NG_AUTHENTICATOR: "keycloak" -OPENID_LOGOUT_URL: "https://keycloak.example.com/auth/realms/jiskb/protocol/openid-connect/logout?redirect_uri=GOTO_URL" TARANIS_NG_KEYCLOAK_URL: "https://keycloak.example.com" TARANIS_NG_KEYCLOAK_INTERNAL_URL: "https://keycloak.int.example.com" TARANIS_NG_KEYCLOAK_CLIENT_ID: "taranis-ng" +OPENID_LOGOUT_URL: "${TARANIS_NG_KEYCLOAK_URL}/realms/taranis-ng/protocol/openid-connect/logout?redirect_uri=GOTO_URL" +KEYCLOAK_VERSION: "25.0.6" KEYCLOAK_REALM_NAME: "taranis-ng" KEYCLOAK_USER_MANAGEMENT: "false" ``` -If you configure keycloak only as client (not administration) please comment (#) or delete this value: +If you configure keycloak in client mode check this secret definition: ``` secrets: - keycloak_admin_password ``` - - and update key inside file: ``` ./secrets/keycloak_client_secret_key.txt ``` -If you configure keycloak for administration please update password inside file: +If you configure keycloak also for administration check this secret definition: +``` +secrets: + - keycloak_admin_password +``` +and update password inside file: ``` ./secrets/keycloak_admin_password.txt ``` @@ -78,8 +85,8 @@ If you configure keycloak for administration please update password inside file: **taranis-ng-gui** section: ``` -VUE_APP_TARANIS_NG_LOGOUT_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/auth/logout?gotoUrl=TARANIS_GUI_URI" -VUE_APP_TARANIS_NG_LOGIN_URL: "${TARANIS_NG_HTTPS_URI}/api/v1/keycloak/auth/realms/taranis-ng/protocol/openid-connect/auth?response_type=code&client_id=taranis-ng&redirect_uri=TARANIS_GUI_URI" +VUE_APP_TARANIS_NG_LOGIN_URL: "${TARANIS_NG_KEYCLOAK_URL}/realms/taranis-ng/protocol/openid-connect/auth?response_type=code&client_id=taranis-ng&redirect_uri=TARANIS_GUI_URI" +VUE_APP_TARANIS_NG_LOGOUT_URL: "${TARANIS_NG_KEYCLOAK_URL}/realms/taranis-ng/protocol/openid-connect/logout" ``` You can use and modify the existing `docker-compose-keycloak.yml` example in the repository and diff --git a/src/core/api/keycloak.py b/src/core/api/keycloak.py index 2ff49c6f2..2b5ba1b7f 100644 --- a/src/core/api/keycloak.py +++ b/src/core/api/keycloak.py @@ -7,25 +7,26 @@ from flask_restful import Resource from managers.auth_manager import no_auth - +from packaging import version class Keycloak(Resource): + keycloak_url = re.escape(str(environ['TARANIS_NG_KEYCLOAK_URL'])) + realm = str(environ['KEYCLOAK_REALM_NAME']) + # there's a change in API endpoints from version 17.0.0 + auth_path = "" + if version.parse(environ.get("KEYCLOAK_VERSION")) < version.parse("17.0.0"): + auth_path += r"\/auth" matchers = [ - re.compile(r"^" + re.escape(str(environ[ - 'TARANIS_NG_KEYCLOAK_URL'])) + r"\/auth\/realms\/" + str(environ['KEYCLOAK_REALM_NAME']) + "\/protocol\/openid-connect\/auth\?(response_type\=code)\&(client_id\=taranis_ng)\&(redirect_uri\=(https?%3[aA]\/\/[a-z0-9A-Z%\/\.\-_]*|https?%3[aA]%2[fF]%2[fF][a-z0-9A-Z%\/\.\-_]*))$"), # login url - re.compile(r"^" + re.escape(str(environ[ - 'TARANIS_NG_KEYCLOAK_URL'])) + r"\/auth\/realms\/" + str(environ['KEYCLOAK_REALM_NAME']) + "\/login-actions\/authenticate(\??session_code\=[a-zA-Z0-9\-_]+)?(\&?\??execution\=[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})?(\&?\??client_id\=taranis_ng)?(\&?\??tab_id=[a-zA-Z0-9\-_]+)?$"), + re.compile(r"^" + keycloak_url + auth_path + r"\/realms\/" + realm + "\/protocol\/openid-connect\/auth\?(response_type\=code)\&(client_id\=taranis_ng)\&(redirect_uri\=(https?%3[aA]\/\/[a-z0-9A-Z%\/\.\-_]*|https?%3[aA]%2[fF]%2[fF][a-z0-9A-Z%\/\.\-_]*))$"), # login submit url - re.compile(r"^" + re.escape(str(environ[ - 'TARANIS_NG_KEYCLOAK_URL'])) + r"\/auth\/realms\/" + str(environ['KEYCLOAK_REALM_NAME']) + "\/protocol\/openid-connect\/logout\?(redirect_uri\=(https?%3[aA]\/\/[a-z0-9A-Z%\/\.\-_]*|https?%3[aA]%2[fF]%2[fF][a-z0-9A-Z%\/\.\-_]*))$"), + re.compile(r"^" + keycloak_url + auth_path + r"\/realms\/" + realm + "\/login-actions\/authenticate(\??session_code\=[a-zA-Z0-9\-_]+)?(\&?\??execution\=[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})?(\&?\??client_id\=taranis_ng)?(\&?\??tab_id=[a-zA-Z0-9\-_]+)?$"), # logout url - re.compile(r"^" + re.escape(str( - environ['TARANIS_NG_KEYCLOAK_URL'])) + r"\/auth\/resources\/([^\.]*|[^\.]*\.[^\.]*|[^\.]*\.[^\.]*\.[^\.]*)$"), + re.compile(r"^" + keycloak_url + auth_path + r"\/realms\/" + realm + "\/protocol\/openid-connect\/logout\?(redirect_uri\=(https?%3[aA]\/\/[a-z0-9A-Z%\/\.\-_]*|https?%3[aA]%2[fF]%2[fF][a-z0-9A-Z%\/\.\-_]*))$"), # resources url - re.compile(r"^" + re.escape(str(environ[ - 'TARANIS_NG_KEYCLOAK_URL'])) + r"\/auth\/realms\/" + str(environ['KEYCLOAK_REALM_NAME']) + "\/login-actions\/required-action(\??session_code\=[a-zA-Z0-9\-_]+)?(\??\&?execution\=(UPDATE_PASSWORD))(\&?\??client_id\=taranis_ng)?(\&?\??tab_id=[a-zA-Z0-9\-_]+)?$"), + re.compile(r"^" + keycloak_url + auth_path + r"/resources\/([^\.]*|[^\.]*\.[^\.]*|[^\.]*\.[^\.]*\.[^\.]*)$"), # reset password url + re.compile(r"^" + keycloak_url + auth_path + r"\/realms\/" + realm + "\/login-actions\/required-action(\??session_code\=[a-zA-Z0-9\-_]+)?(\??\&?execution\=(UPDATE_PASSWORD))(\&?\??client_id\=taranis_ng)?(\&?\??tab_id=[a-zA-Z0-9\-_]+)?$"), ] @no_auth diff --git a/src/core/auth/keycloak_authenticator.py b/src/core/auth/keycloak_authenticator.py index 714eecae4..76ccff9aa 100644 --- a/src/core/auth/keycloak_authenticator.py +++ b/src/core/auth/keycloak_authenticator.py @@ -6,7 +6,7 @@ from managers import log_manager, external_auth_manager from auth.base_authenticator import BaseAuthenticator - +from packaging import version class KeycloakAuthenticator(BaseAuthenticator): @@ -16,29 +16,34 @@ def authenticate(self, credentials): if "code" not in request.args or "session_state" not in request.args: return {'error': 'Missing code or session_state parameters'}, 400 + link = environ.get("TARANIS_NG_KEYCLOAK_INTERNAL_URL") + # there's a change in API endpoints from version 17.0.0 + if version.parse(environ.get("KEYCLOAK_VERSION")) < version.parse("17.0.0"): + link += "/auth" + link += "/realms/" + environ.get("KEYCLOAK_REALM_NAME") + "/protocol/openid-connect/token" + # verify code and get JWT token from keycloak response = post( - url=environ.get( - 'TARANIS_NG_KEYCLOAK_INTERNAL_URL') + '/auth/realms/' + environ.get('KEYCLOAK_REALM_NAME') + '/protocol/openid-connect/token', - data={ + url = link, + data = { 'grant_type': 'authorization_code', 'code': request.args['code'], # code from url 'redirect_uri': '/'.join(request.headers.get('Referer').split('/')[0:3]) + '/login' # original redirect_uri (host needs to match) }, - auth=HTTPBasicAuth(environ.get('TARANIS_NG_KEYCLOAK_CLIENT_ID'), - external_auth_manager.get_keycloak_client_secret_key()), + auth = HTTPBasicAuth(environ.get('TARANIS_NG_KEYCLOAK_CLIENT_ID'), + external_auth_manager.get_keycloak_client_secret_key()), # do not forget credentials - proxies={'http': None, 'https': None}, - allow_redirects=False, verify=False) + proxies = {'http': None, 'https': None}, + allow_redirects = False, verify = False) data = None try: # get json data from response data = response.json() - log_manager.log_debug('Keycloak authentication response:') - log_manager.log_debug(data) + # log_manager.log_debug('Keycloak authentication response:') + # log_manager.log_debug(data) except Exception: log_manager.store_auth_error_activity("Keycloak returned an unexpected response.") return {'error': 'Internal server error'}, 500 diff --git a/src/gui/src/components/UserMenu.vue b/src/gui/src/components/UserMenu.vue index 9ddd20ef2..bc0fcc1e6 100644 --- a/src/gui/src/components/UserMenu.vue +++ b/src/gui/src/components/UserMenu.vue @@ -68,10 +68,7 @@ export default { }, methods: { logout() { - this.$store.dispatch('logout') - .then(() => { - window.location.reload() - }) + this.$store.dispatch('logout'); }, settings() { this.$root.$emit('show-user-settings'); diff --git a/src/gui/src/store/store.js b/src/gui/src/store/store.js index 833790f31..d0a7a345d 100644 --- a/src/gui/src/store/store.js +++ b/src/gui/src/store/store.js @@ -30,7 +30,12 @@ const actions = { }, logout(context) { - context.commit('clearJwtToken') + context.commit('clearJwtToken'); + if (this.getters.hasExternalLogoutUrl) { + window.location = this.getters.getLogoutURL; + } else { + window.location.reload(); + } }, setVerticalView(context, data) { diff --git a/src/keycloak/disable-theme-cache.cli b/src/keycloak/disable-theme-cache.cli deleted file mode 100644 index 4eca62b37..000000000 --- a/src/keycloak/disable-theme-cache.cli +++ /dev/null @@ -1,5 +0,0 @@ -embed-server --std-out=echo --server-config=standalone-ha.xml -/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheThemes,value=false) -/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheTemplates,value=false) -/subsystem=keycloak-server/theme=defaults/:write-attribute(name=staticMaxAge,value=-1) -stop-embedded-server \ No newline at end of file diff --git a/src/keycloak/realm-export.json b/src/keycloak/realm-export.json index 321ccc760..29cc41441 100644 --- a/src/keycloak/realm-export.json +++ b/src/keycloak/realm-export.json @@ -1,2190 +1,2432 @@ { - "id": "taranis-ng", - "realm": "taranis-ng", - "displayName": "Taranis NG", - "displayNameHtml": "
Taranis NG
", - "notBefore": 0, - "defaultSignatureAlgorithm": "RS256", - "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, - "oauth2DeviceCodeLifespan": 600, - "oauth2DevicePollingInterval": 600, - "enabled": true, - "sslRequired": "external", - "registrationAllowed": false, - "registrationEmailAsUsername": false, - "rememberMe": true, - "verifyEmail": false, - "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": "496b40bc-02c7-4a40-bbd1-dad7b8eb76b0", - "name": "offline_access", - "description": "${role_offline-access}", - "composite": false, - "clientRole": false, - "containerId": "taranis-ng", - "attributes": {} - }, - { - "id": "3549be42-957b-42f5-9c40-a1e643aeded4", - "name": "uma_authorization", - "description": "${role_uma_authorization}", - "composite": false, - "clientRole": false, - "containerId": "taranis-ng", - "attributes": {} - }, - { - "id": "09873508-6035-4c70-92c7-c319940181fe", - "name": "default-roles-taranis-ng", - "description": "${role_default-roles}", - "composite": true, - "composites": { - "realm": [ - "offline_access", - "uma_authorization" - ], - "client": { - "account": [ - "manage-account", - "view-profile" - ] - } - }, - "clientRole": false, - "containerId": "taranis-ng", - "attributes": {} - } - ], - "client": { - "realm-management": [ - { - "id": "c5419b0e-0acf-4e86-8a97-2b7f45133725", - "name": "query-users", - "description": "${role_query-users}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "ca4820f3-ebb8-4259-a31b-2aa77c9a4a3e", - "name": "manage-identity-providers", - "description": "${role_manage-identity-providers}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "cda8a112-0f54-4198-bc7c-530facb0c256", - "name": "query-groups", - "description": "${role_query-groups}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "ffb15e72-cd14-4706-b759-fa71fc2937b0", - "name": "query-realms", - "description": "${role_query-realms}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "99b029b7-2a74-404f-b257-09d27e10eb68", - "name": "manage-events", - "description": "${role_manage-events}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "7ac15b92-09be-488a-b3fc-06e9ff0d84aa", - "name": "view-identity-providers", - "description": "${role_view-identity-providers}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "c628fec1-dc4c-40a1-9bf5-613b93d09436", - "name": "view-events", - "description": "${role_view-events}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "ddcce348-7784-4e25-a1a8-8a7d72e72d15", - "name": "view-authorization", - "description": "${role_view-authorization}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "b7e0bdaf-3612-4071-9d60-ce7c7f735765", - "name": "view-clients", - "description": "${role_view-clients}", - "composite": true, - "composites": { - "client": { - "realm-management": [ - "query-clients" - ] - } - }, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "949a18ce-aa01-4c70-8163-978029aeebc1", - "name": "manage-authorization", - "description": "${role_manage-authorization}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "16cc0a1d-7b1d-4c1a-ab07-265a7bf07c88", - "name": "query-clients", - "description": "${role_query-clients}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "e52c6d6c-377c-4120-b93a-c7f6c0a01933", - "name": "manage-clients", - "description": "${role_manage-clients}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "56a8c1ec-1d65-4424-bf3e-d3d5eaa9e805", - "name": "view-users", - "description": "${role_view-users}", - "composite": true, - "composites": { - "client": { - "realm-management": [ - "query-users", - "query-groups" - ] - } - }, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "9446d242-f92b-4b82-89eb-d20e2a7b77d2", - "name": "create-client", - "description": "${role_create-client}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "70fa0e13-ed2b-4903-84f4-8fd38c11a4e7", - "name": "manage-users", - "description": "${role_manage-users}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "c32b090b-9610-4766-bf94-134d5b60058e", - "name": "impersonation", - "description": "${role_impersonation}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "a635dcc4-a591-40ea-8e67-ef02fde2d377", - "name": "realm-admin", - "description": "${role_realm-admin}", - "composite": true, - "composites": { - "client": { - "realm-management": [ - "query-users", - "manage-identity-providers", - "query-groups", - "query-realms", - "manage-events", - "view-identity-providers", - "view-events", - "view-authorization", - "view-clients", - "manage-authorization", - "query-clients", - "view-users", - "manage-clients", - "create-client", - "manage-users", - "impersonation", - "view-realm", - "manage-realm" - ] - } - }, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "ebd6fba2-0fd1-46c4-a657-ae2a47f8e3bb", - "name": "view-realm", - "description": "${role_view-realm}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - }, - { - "id": "82f30e40-272a-497d-a456-3e7836de3b0d", - "name": "manage-realm", - "description": "${role_manage-realm}", - "composite": false, - "clientRole": true, - "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "attributes": {} - } - ], - "taranis-ng": [], - "security-admin-console": [], - "admin-cli": [], - "account-console": [], - "broker": [ - { - "id": "aa1dadb2-063d-4bdf-9193-d1071644f609", - "name": "read-token", - "description": "${role_read-token}", - "composite": false, - "clientRole": true, - "containerId": "71f9b58b-86d9-4bee-bcf6-edad47720891", - "attributes": {} - } - ], - "account": [ - { - "id": "ba3be302-afb5-4101-a521-593568df135f", - "name": "delete-account", - "description": "${role_delete-account}", - "composite": false, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - }, - { - "id": "eca8431c-7532-4497-8caa-3ed5a8bf67c6", - "name": "manage-consent", - "description": "${role_manage-consent}", - "composite": true, - "composites": { - "client": { - "account": [ - "view-consent" - ] - } - }, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - }, - { - "id": "74507bf9-fc54-4735-a9f5-096c08816366", - "name": "manage-account", - "description": "${role_manage-account}", - "composite": true, - "composites": { - "client": { - "account": [ - "manage-account-links" - ] - } - }, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - }, - { - "id": "3b84dbd8-1ab5-4404-9f22-0b0a17216465", - "name": "view-consent", - "description": "${role_view-consent}", - "composite": false, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - }, - { - "id": "fead173d-4659-4464-9b3f-58dbb882c443", - "name": "manage-account-links", - "description": "${role_manage-account-links}", - "composite": false, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - }, - { - "id": "f6f0d119-86a3-43f0-955d-c5f6612bd5db", - "name": "view-profile", - "description": "${role_view-profile}", - "composite": false, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - }, - { - "id": "b404b232-aae6-4086-ad94-f024ecb4dd6b", - "name": "view-applications", - "description": "${role_view-applications}", - "composite": false, - "clientRole": true, - "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "attributes": {} - } - ] - } - }, - "groups": [], - "defaultRole": { + "id": "taranis-ng", + "realm": "taranis-ng", + "displayName": "Taranis NG", + "displayNameHtml": "Taranis NG", + "notBefore": 0, + "defaultSignatureAlgorithm": "RS256", + "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, + "oauth2DeviceCodeLifespan": 600, + "oauth2DevicePollingInterval": 5, + "enabled": true, + "sslRequired": "external", + "registrationAllowed": false, + "registrationEmailAsUsername": false, + "rememberMe": true, + "verifyEmail": false, + "loginWithEmailAllowed": true, + "duplicateEmailsAllowed": false, + "resetPasswordAllowed": true, + "editUsernameAllowed": true, + "bruteForceProtected": false, + "permanentLockout": false, + "maxTemporaryLockouts": 0, + "maxFailureWaitSeconds": 900, + "minimumQuickLoginWaitSeconds": 60, + "waitIncrementSeconds": 60, + "quickLoginCheckMilliSeconds": 1000, + "maxDeltaTimeSeconds": 43200, + "failureFactor": 30, + "roles": { + "realm": [ + { + "id": "496b40bc-02c7-4a40-bbd1-dad7b8eb76b0", + "name": "offline_access", + "description": "${role_offline-access}", + "composite": false, + "clientRole": false, + "containerId": "taranis-ng", + "attributes": {} + }, + { + "id": "3549be42-957b-42f5-9c40-a1e643aeded4", + "name": "uma_authorization", + "description": "${role_uma_authorization}", + "composite": false, + "clientRole": false, + "containerId": "taranis-ng", + "attributes": {} + }, + { "id": "09873508-6035-4c70-92c7-c319940181fe", "name": "default-roles-taranis-ng", "description": "${role_default-roles}", "composite": true, - "clientRole": false, - "containerId": "taranis-ng" - }, - "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" + "composites": { + "realm": [ + "offline_access", + "uma_authorization" + ], + "client": { + "account": [ + "manage-account", + "view-profile" ] - } + } + }, + "clientRole": false, + "containerId": "taranis-ng", + "attributes": {} + } ], - "clientScopeMappings": { - "account": [ - { - "client": "account-console", - "roles": [ - "manage-account" - ] + "client": { + "realm-management": [ + { + "id": "c5419b0e-0acf-4e86-8a97-2b7f45133725", + "name": "query-users", + "description": "${role_query-users}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ca4820f3-ebb8-4259-a31b-2aa77c9a4a3e", + "name": "manage-identity-providers", + "description": "${role_manage-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "cda8a112-0f54-4198-bc7c-530facb0c256", + "name": "query-groups", + "description": "${role_query-groups}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ffb15e72-cd14-4706-b759-fa71fc2937b0", + "name": "query-realms", + "description": "${role_query-realms}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "99b029b7-2a74-404f-b257-09d27e10eb68", + "name": "manage-events", + "description": "${role_manage-events}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "7ac15b92-09be-488a-b3fc-06e9ff0d84aa", + "name": "view-identity-providers", + "description": "${role_view-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "c628fec1-dc4c-40a1-9bf5-613b93d09436", + "name": "view-events", + "description": "${role_view-events}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ddcce348-7784-4e25-a1a8-8a7d72e72d15", + "name": "view-authorization", + "description": "${role_view-authorization}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "b7e0bdaf-3612-4071-9d60-ce7c7f735765", + "name": "view-clients", + "description": "${role_view-clients}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-clients" + ] } - ] - }, - "clients": [ - { - "id": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", - "clientId": "account", - "name": "${client_account}", - "rootUrl": "${authBaseUrl}", - "baseUrl": "/realms/taranis-ng/account/", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", - "redirectUris": [ - "http://localhost:8080/*", - "https://localhost:4443/*" - ], - "webOrigins": [], - "notBefore": 0, - "bearerOnly": false, - "consentRequired": false, - "standardFlowEnabled": true, - "implicitFlowEnabled": false, - "directAccessGrantsEnabled": false, - "serviceAccountsEnabled": false, - "publicClient": true, - "frontchannelLogout": false, - "protocol": "openid-connect", - "attributes": {}, - "authenticationFlowBindingOverrides": {}, - "fullScopeAllowed": false, - "nodeReRegistrationTimeout": 0, - "defaultClientScopes": [ - "web-origins", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] + }, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "e02078b8-d388-455d-a19c-0bd6f886c3cb", - "clientId": "account-console", - "name": "${client_account-console}", - "rootUrl": "${authBaseUrl}", - "baseUrl": "/realms/taranis-ng/account/", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", - "redirectUris": [ - "/realms/taranis-ng/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": "b78fdcfd-a4a8-45a6-bdb3-e87fdd40b602", - "name": "audience resolve", - "protocol": "openid-connect", - "protocolMapper": "oidc-audience-resolve-mapper", - "consentRequired": false, - "config": {} - } - ], - "defaultClientScopes": [ - "web-origins", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] + "id": "949a18ce-aa01-4c70-8163-978029aeebc1", + "name": "manage-authorization", + "description": "${role_manage-authorization}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "8ae28eab-de8d-4f6e-b1a8-74cb5cff2183", - "clientId": "admin-cli", - "secret": "supersecret", - "name": "${client_admin-cli}", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", - "redirectUris": [], - "webOrigins": [], - "notBefore": 0, - "bearerOnly": false, - "consentRequired": false, - "standardFlowEnabled": false, - "implicitFlowEnabled": false, - "directAccessGrantsEnabled": true, - "serviceAccountsEnabled": true, - "publicClient": false, - "frontchannelLogout": false, - "protocol": "openid-connect", - "attributes": {}, - "authenticationFlowBindingOverrides": {}, - "fullScopeAllowed": false, - "nodeReRegistrationTimeout": 0, - "defaultClientScopes": [ - "web-origins", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] + "id": "16cc0a1d-7b1d-4c1a-ab07-265a7bf07c88", + "name": "query-clients", + "description": "${role_query-clients}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "71f9b58b-86d9-4bee-bcf6-edad47720891", - "clientId": "broker", - "name": "${client_broker}", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", - "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": [ - "web-origins", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] + "id": "e52c6d6c-377c-4120-b93a-c7f6c0a01933", + "name": "manage-clients", + "description": "${role_manage-clients}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "7000ff58-569f-411c-a0da-b6a18e169a1e", - "clientId": "realm-management", - "name": "${client_realm-management}", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", - "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": [ - "web-origins", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] + "id": "56a8c1ec-1d65-4424-bf3e-d3d5eaa9e805", + "name": "view-users", + "description": "${role_view-users}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-users", + "query-groups" + ] + } + }, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "e727e771-c715-4aac-b08b-4fe5565f8b0d", - "clientId": "security-admin-console", - "name": "${client_security-admin-console}", - "rootUrl": "${authAdminUrl}", - "baseUrl": "/admin/taranis-ng/console/", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", - "redirectUris": [ - "/admin/taranis-ng/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": "2cd68c31-126b-408e-81a5-74b6238b8e15", - "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", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] + "id": "9446d242-f92b-4b82-89eb-d20e2a7b77d2", + "name": "create-client", + "description": "${role_create-client}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "5e7d848a-3af9-48c1-af42-c3849ec7d94c", - "clientId": "taranis-ng", - "surrogateAuthRequired": false, - "enabled": true, - "alwaysDisplayInConsole": false, - "secret": "supersecret", - "clientAuthenticatorType": "client-secret", - "redirectUris": [ - "http://*", - "https://*" - ], - "webOrigins": [], - "notBefore": 0, - "bearerOnly": false, - "consentRequired": false, - "standardFlowEnabled": true, - "implicitFlowEnabled": true, - "directAccessGrantsEnabled": false, - "serviceAccountsEnabled": true, - "authorizationServicesEnabled": true, - "publicClient": false, - "frontchannelLogout": false, - "protocol": "openid-connect", - "attributes": { - "backchannel.logout.session.required": "false", - "backchannel.logout.revoke.offline.tokens": "false", - "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", - "profile", - "roles", - "email" - ], - "optionalClientScopes": [ - "address", - "phone", - "offline_access", - "microprofile-jwt" - ] - } - ], - "clientScopes": [ - { - "id": "7092f514-4f3f-45a6-8624-875b5aba64ff", - "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": "2c7671ed-d808-42b5-aec5-f38dc5eadbf9", - "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": "edc039af-f3f5-4092-9a22-236b1223af15", - "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": "70fa0e13-ed2b-4903-84f4-8fd38c11a4e7", + "name": "manage-users", + "description": "${role_manage-users}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "c32b090b-9610-4766-bf94-134d5b60058e", + "name": "impersonation", + "description": "${role_impersonation}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "74500fdc-eef1-4306-b6ba-7b6d6ef3db26", - "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": "a635dcc4-a591-40ea-8e67-ef02fde2d377", + "name": "realm-admin", + "description": "${role_realm-admin}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-users", + "manage-identity-providers", + "query-groups", + "query-realms", + "manage-events", + "view-identity-providers", + "view-events", + "view-authorization", + "view-clients", + "manage-authorization", + "query-clients", + "view-users", + "manage-clients", + "create-client", + "manage-users", + "impersonation", + "view-realm", + "manage-realm" + ] } + }, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "1ee77057-1d4b-4e07-b0ce-fe3d808eb232", - "name": "role_list", - "description": "SAML role list", - "protocol": "saml", - "attributes": { - "consent.screen.text": "${samlRoleListScopeConsentText}", - "display.on.consent.screen": "true" - }, - "protocolMappers": [ - { - "id": "034b90a0-53df-4d37-8f54-bad1e841660a", - "name": "role list", - "protocol": "saml", - "protocolMapper": "saml-role-list-mapper", - "consentRequired": false, - "config": { - "single": "false", - "attribute.nameformat": "Basic", - "attribute.name": "Role" - } - } - ] + "id": "ebd6fba2-0fd1-46c4-a657-ae2a47f8e3bb", + "name": "view-realm", + "description": "${role_view-realm}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} }, { - "id": "b7c8a9fb-5812-4506-aa19-e5ab9a029ac6", - "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": "2a6e7198-de77-42e9-9617-9d62215b5a17", - "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": "a8184356-e77a-485a-a72b-1944551a4551", - "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": "6965fa5e-1612-4b32-aa72-b0325f444d4f", - "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": "552bc230-d0db-4450-ace8-7d1925c3e40d", - "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": "daa7cd8d-83bd-46bb-bbcb-07943b704606", - "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": "6e5cd9ff-75b7-46b4-81f4-8f3ab7b50c4a", - "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": "4566ee04-3bf3-4bbf-bd15-bffcb4cdc60b", - "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": "a81a0cd4-0190-41cf-b478-633cfb55dfd7", - "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": "49eb91c5-8bde-485a-bf7a-1fa4b113a000", - "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": "ae83bc34-2e0c-44e0-897f-4fca15a16456", - "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": "59100d9e-7430-4d67-9227-226f51300d8b", - "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": "00d940e7-9142-4da2-9e1e-dbe17967ff9a", - "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": "be034c8c-339c-452e-98bd-8cbc7e7e0690", - "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": "7ffbfc10-6074-4bff-b211-2d2692ea1ed3", - "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": "82f30e40-272a-497d-a456-3e7836de3b0d", + "name": "manage-realm", + "description": "${role_manage-realm}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + } + ], + "taranis-ng": [ + { + "id": "c0435858-d0d2-4b33-af8e-d688eba41c5c", + "name": "uma_protection", + "composite": false, + "clientRole": true, + "containerId": "5e7d848a-3af9-48c1-af42-c3849ec7d94c", + "attributes": {} + } + ], + "security-admin-console": [], + "admin-cli": [], + "account-console": [], + "broker": [ + { + "id": "aa1dadb2-063d-4bdf-9193-d1071644f609", + "name": "read-token", + "description": "${role_read-token}", + "composite": false, + "clientRole": true, + "containerId": "71f9b58b-86d9-4bee-bcf6-edad47720891", + "attributes": {} + } + ], + "account": [ + { + "id": "ba3be302-afb5-4101-a521-593568df135f", + "name": "delete-account", + "description": "${role_delete-account}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} }, { - "id": "a88ce9c5-380d-4213-ab6d-3c8300427e77", - "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": "c485dbda-7271-454a-b81b-76a082c6117f", - "name": "audience resolve", - "protocol": "openid-connect", - "protocolMapper": "oidc-audience-resolve-mapper", - "consentRequired": false, - "config": {} - }, - { - "id": "978afdba-6547-4bd8-ad25-8ba1658df28e", - "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": "be6081a7-f82e-4f47-a5fe-17df458f9105", - "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": "eca8431c-7532-4497-8caa-3ed5a8bf67c6", + "name": "manage-consent", + "description": "${role_manage-consent}", + "composite": true, + "composites": { + "client": { + "account": [ + "view-consent" + ] + } + }, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} }, { - "id": "23116162-e5bb-4a4e-8ca2-9a985e3c9a25", - "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": "f15f7887-a071-4cee-ab26-4f92c30e106c", - "name": "groups", - "protocol": "openid-connect", - "protocolMapper": "oidc-usermodel-realm-role-mapper", - "consentRequired": false, - "config": { - "multivalued": "true", - "user.attribute": "foo", - "id.token.claim": "true", - "access.token.claim": "true", - "claim.name": "groups", - "jsonType.label": "String" - } - }, - { - "id": "b0eca5eb-94c6-45a0-9c4e-79a8377b085c", - "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": "74507bf9-fc54-4735-a9f5-096c08816366", + "name": "manage-account", + "description": "${role_manage-account}", + "composite": true, + "composites": { + "client": { + "account": [ + "manage-account-links" + ] + } + }, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} }, { - "id": "3d66fc63-bd45-413f-a62d-a8a57763ee1b", - "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": "14fdb4b7-6a34-4881-b6c0-d053564f1971", - "name": "allowed web origins", - "protocol": "openid-connect", - "protocolMapper": "oidc-allowed-origins-mapper", - "consentRequired": false, - "config": {} - } - ] + "id": "3b84dbd8-1ab5-4404-9f22-0b0a17216465", + "name": "view-consent", + "description": "${role_view-consent}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} }, { - "id": "7a7edb7e-fd5e-406e-b749-b9888ed19b0a", - "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": "478e6921-c140-4f81-a1a9-595797a75a72", - "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": "fead173d-4659-4464-9b3f-58dbb882c443", + "name": "manage-account-links", + "description": "${role_manage-account-links}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} }, { - "id": "c060529d-82a3-4b8d-9858-f102d8dd1ca2", - "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": "9b45f386-62ed-4813-8128-14b16838f73e", - "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": "2b33822d-fd73-4af8-bb18-01e0125e1e67", - "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": "f6f0d119-86a3-43f0-955d-c5f6612bd5db", + "name": "view-profile", + "description": "${role_view-profile}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "b404b232-aae6-4086-ad94-f024ecb4dd6b", + "name": "view-applications", + "description": "${role_view-applications}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "999007b7-7350-468c-afa0-14365a9d6027", + "name": "view-groups", + "description": "${role_view-groups}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} } - ], - "defaultDefaultClientScopes": [ - "role_list", + ] + } + }, + "groups": [], + "defaultRole": { + "id": "09873508-6035-4c70-92c7-c319940181fe", + "name": "default-roles-taranis-ng", + "description": "${role_default-roles}", + "composite": true, + "clientRole": false, + "containerId": "taranis-ng" + }, + "requiredCredentials": [ + "password" + ], + "otpPolicyType": "totp", + "otpPolicyAlgorithm": "HmacSHA1", + "otpPolicyInitialCounter": 0, + "otpPolicyDigits": 6, + "otpPolicyLookAheadWindow": 1, + "otpPolicyPeriod": 30, + "otpPolicyCodeReusable": false, + "otpSupportedApplications": [ + "totpAppFreeOTPName", + "totpAppGoogleName", + "totpAppMicrosoftAuthenticatorName" + ], + "localizationTexts": {}, + "webAuthnPolicyRpEntityName": "keycloak", + "webAuthnPolicySignatureAlgorithms": [ + "ES256" + ], + "webAuthnPolicyRpId": "", + "webAuthnPolicyAttestationConveyancePreference": "not specified", + "webAuthnPolicyAuthenticatorAttachment": "not specified", + "webAuthnPolicyRequireResidentKey": "not specified", + "webAuthnPolicyUserVerificationRequirement": "not specified", + "webAuthnPolicyCreateTimeout": 0, + "webAuthnPolicyAvoidSameAuthenticatorRegister": false, + "webAuthnPolicyAcceptableAaguids": [], + "webAuthnPolicyExtraOrigins": [], + "webAuthnPolicyPasswordlessRpEntityName": "keycloak", + "webAuthnPolicyPasswordlessSignatureAlgorithms": [ + "ES256" + ], + "webAuthnPolicyPasswordlessRpId": "", + "webAuthnPolicyPasswordlessAttestationConveyancePreference": "not specified", + "webAuthnPolicyPasswordlessAuthenticatorAttachment": "not specified", + "webAuthnPolicyPasswordlessRequireResidentKey": "not specified", + "webAuthnPolicyPasswordlessUserVerificationRequirement": "not specified", + "webAuthnPolicyPasswordlessCreateTimeout": 0, + "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister": false, + "webAuthnPolicyPasswordlessAcceptableAaguids": [], + "webAuthnPolicyPasswordlessExtraOrigins": [], + "users": [ + { + "id": "5c225017-d2ba-403d-be3f-4517bfa8daff", + "username": "service-account-admin-cli", + "emailVerified": false, + "createdTimestamp": 1611929920559, + "enabled": true, + "totp": false, + "serviceAccountClientId": "admin-cli", + "disableableCredentialTypes": [], + "requiredActions": [], + "realmRoles": [ + "offline_access", + "uma_authorization" + ], + "clientRoles": { + "realm-management": [ + "query-users", + "manage-identity-providers", + "query-groups", + "query-realms", + "manage-events", + "manage-authorization", + "query-clients", + "manage-clients", + "create-client", + "manage-users", + "impersonation", + "realm-admin", + "manage-realm" + ], + "account": [ + "manage-account", + "view-profile" + ] + }, + "notBefore": 0, + "groups": [] + }, + { + "id": "6eaa7f35-8b01-4456-b05e-f1c7f4d0c7e0", + "username": "service-account-taranis-ng", + "emailVerified": false, + "createdTimestamp": 1727460582776, + "enabled": true, + "totp": false, + "serviceAccountClientId": "taranis-ng", + "disableableCredentialTypes": [], + "requiredActions": [], + "realmRoles": [ + "default-roles-taranis-ng" + ], + "clientRoles": { + "taranis-ng": [ + "uma_protection" + ] + }, + "notBefore": 0, + "groups": [] + } + ], + "scopeMappings": [ + { + "clientScope": "offline_access", + "roles": [ + "offline_access" + ] + } + ], + "clientScopeMappings": { + "account": [ + { + "client": "account-console", + "roles": [ + "manage-account", + "view-groups" + ] + } + ] + }, + "clients": [ + { + "id": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "clientId": "account", + "name": "${client_account}", + "rootUrl": "${authBaseUrl}", + "baseUrl": "/realms/taranis-ng/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "http://localhost:8080/*", + "https://localhost:4443/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "post.logout.redirect.uris": "+" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", "profile", - "email", "roles", - "web-origins" - ], - "defaultOptionalClientScopes": [ + "basic", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "e02078b8-d388-455d-a19c-0bd6f886c3cb", + "clientId": "account-console", + "name": "${client_account-console}", + "rootUrl": "${authBaseUrl}", + "baseUrl": "/realms/taranis-ng/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/realms/taranis-ng/account/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "post.logout.redirect.uris": "+", + "pkce.code.challenge.method": "S256" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "protocolMappers": [ + { + "id": "b78fdcfd-a4a8-45a6-bdb3-e87fdd40b602", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": {} + } + ], + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "basic", + "email" + ], + "optionalClientScopes": [ "address", "phone", + "offline_access", "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, - "identityProviders": [], - "identityProviderMappers": [], - "components": { - "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ - { - "id": "6f23aa7d-20f0-40f5-a929-b13046f2313e", - "name": "Max Clients Limit", - "providerId": "max-clients", - "subType": "anonymous", - "subComponents": {}, - "config": { - "max-clients": [ - "200" - ] - } - }, - { - "id": "3d530cfb-1cb0-40de-b291-68312b70c0c4", - "name": "Allowed Client Scopes", - "providerId": "allowed-client-templates", - "subType": "authenticated", - "subComponents": {}, - "config": { - "allow-default-scopes": [ - "true" - ] - } - }, - { - "id": "d0bc56c0-f934-4ead-8ff9-d4718da1ae3c", - "name": "Consent Required", - "providerId": "consent-required", - "subType": "anonymous", - "subComponents": {}, - "config": {} - }, - { - "id": "e0bb835e-4834-4188-9867-77878038b1d8", - "name": "Allowed Protocol Mapper Types", - "providerId": "allowed-protocol-mappers", - "subType": "authenticated", - "subComponents": {}, - "config": { - "allowed-protocol-mapper-types": [ - "oidc-sha256-pairwise-sub-mapper", - "oidc-full-name-mapper", - "oidc-usermodel-property-mapper", - "oidc-address-mapper", - "saml-user-attribute-mapper", - "saml-role-list-mapper", - "oidc-usermodel-attribute-mapper", - "saml-user-property-mapper" - ] - } - }, - { - "id": "4e5ebd10-09b6-4fb6-a705-5ee1c3dcf080", - "name": "Full Scope Disabled", - "providerId": "scope", - "subType": "anonymous", - "subComponents": {}, - "config": {} - }, - { - "id": "4f75be97-5bd8-4252-a9e4-1f47fa62e32e", - "name": "Allowed Client Scopes", - "providerId": "allowed-client-templates", - "subType": "anonymous", - "subComponents": {}, - "config": { - "allow-default-scopes": [ - "true" - ] - } - }, - { - "id": "2476a230-be2c-4a72-8994-57e3b8979df2", - "name": "Trusted Hosts", - "providerId": "trusted-hosts", - "subType": "anonymous", - "subComponents": {}, - "config": { - "host-sending-registration-request-must-match": [ - "true" - ], - "client-uris-must-match": [ - "true" - ] - } - }, - { - "id": "2c352a1a-b344-4302-a437-3087835aac56", - "name": "Allowed Protocol Mapper Types", - "providerId": "allowed-protocol-mappers", - "subType": "anonymous", - "subComponents": {}, - "config": { - "allowed-protocol-mapper-types": [ - "saml-user-property-mapper", - "oidc-usermodel-property-mapper", - "oidc-sha256-pairwise-sub-mapper", - "oidc-usermodel-attribute-mapper", - "oidc-full-name-mapper", - "saml-role-list-mapper", - "saml-user-attribute-mapper", - "oidc-address-mapper" - ] - } - } - ], - "org.keycloak.userprofile.UserProfileProvider": [ - { - "id": "8a063f9f-5742-40bf-9953-c1677255549c", - "providerId": "declarative-user-profile", - "subComponents": {}, - "config": {} - } - ], - "org.keycloak.keys.KeyProvider": [ - { - "id": "e1b543e2-dac7-484f-8133-e395f3fdcadd", - "name": "aes-generated", - "providerId": "aes-generated", - "subComponents": {}, - "config": { - "priority": [ - "100" - ] - } - }, - { - "id": "41b44e7d-13a0-42b2-81d3-b7688fb6673d", - "name": "hmac-generated", - "providerId": "hmac-generated", - "subComponents": {}, - "config": { - "priority": [ - "100" - ], - "algorithm": [ - "HS256" - ] - } - }, - { - "id": "37da0098-d931-4263-8595-bb1f82318397", - "name": "rsa-generated", - "providerId": "rsa-generated", - "subComponents": {}, - "config": { - "priority": [ - "100" - ] - } - }, - { - "id": "cdf2bf46-ba32-4235-8a8d-7b6989a93f23", - "name": "rsa-enc-generated", - "providerId": "rsa-enc-generated", - "subComponents": {}, - "config": { - "priority": [ - "100" - ], - "algorithm": [ - "RSA-OAEP" - ] - } - } - ] + { + "id": "8ae28eab-de8d-4f6e-b1a8-74cb5cff2183", + "clientId": "admin-cli", + "name": "${client_admin-cli}", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "secret": "supersecret", + "redirectUris": [], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": false, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": true, + "serviceAccountsEnabled": true, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "post.logout.redirect.uris": "+" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "basic", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] }, - "internationalizationEnabled": false, - "supportedLocales": [], - "authenticationFlows": [ - { - "id": "e125a642-f0a4-4bcc-bffd-06e4b9f08e96", - "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", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "ALTERNATIVE", - "priority": 20, - "flowAlias": "Verify Existing Account by Re-authentication", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + { + "id": "71f9b58b-86d9-4bee-bcf6-edad47720891", + "clientId": "broker", + "name": "${client_broker}", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": true, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "post.logout.redirect.uris": "+" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "clientId": "realm-management", + "name": "${client_realm-management}", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": true, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "post.logout.redirect.uris": "+" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "e727e771-c715-4aac-b08b-4fe5565f8b0d", + "clientId": "security-admin-console", + "name": "${client_security-admin-console}", + "rootUrl": "${authAdminUrl}", + "baseUrl": "/admin/taranis-ng/console/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/admin/taranis-ng/console/*" + ], + "webOrigins": [ + "+" + ], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "post.logout.redirect.uris": "+", + "pkce.code.challenge.method": "S256" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "protocolMappers": [ + { + "id": "2cd68c31-126b-408e-81a5-74b6238b8e15", + "name": "locale", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "locale", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "locale", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } + } + ], + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "basic", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "5e7d848a-3af9-48c1-af42-c3849ec7d94c", + "clientId": "taranis-ng", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "secret": "supersecret", + "redirectUris": [ + "http://*", + "https://*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": true, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": true, + "authorizationServicesEnabled": true, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "saml.assertion.signature": "false", + "saml.force.post.binding": "false", + "saml.multivalued.roles": "false", + "saml.encrypt": "false", + "post.logout.redirect.uris": "+", + "backchannel.logout.revoke.offline.tokens": "false", + "saml.server.signature": "false", + "saml.server.signature.keyinfo.ext": "false", + "exclude.session.state.from.auth.response": "false", + "backchannel.logout.session.required": "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, + "protocolMappers": [ + { + "id": "0ec60a47-e6ff-4304-a495-e58cea9f53f3", + "name": "Client ID", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "config": { + "user.session.note": "client_id", + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true", + "claim.name": "client_id", + "jsonType.label": "String" + } }, { - "id": "c866e524-0223-4e4d-8e41-0e243093b5d0", - "alias": "Authentication Options", - "description": "Authentication options.", - "providerId": "basic-flow", - "topLevel": false, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "basic-auth", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "basic-auth-otp", - "authenticatorFlow": false, - "requirement": "DISABLED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "auth-spnego", - "authenticatorFlow": false, - "requirement": "DISABLED", - "priority": 30, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "449bc9d2-bb26-4699-8b7d-313c75cc1e73", + "name": "Client IP Address", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "config": { + "user.session.note": "clientAddress", + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientAddress", + "jsonType.label": "String" + } }, { - "id": "32113f3e-edae-4746-a106-ea78b4777402", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "auth-otp-form", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "5ebae80d-dc1e-4eef-8e62-a7e3b10ef668", + "name": "Client Host", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "config": { + "user.session.note": "clientHost", + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientHost", + "jsonType.label": "String" + } + } + ], + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "basic", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ], + "authorizationSettings": { + "allowRemoteResourceManagement": true, + "policyEnforcementMode": "ENFORCING", + "resources": [], + "policies": [], + "scopes": [], + "decisionStrategy": "UNANIMOUS" + } + } + ], + "clientScopes": [ + { + "id": "7092f514-4f3f-45a6-8624-875b5aba64ff", + "name": "email", + "description": "OpenID Connect built-in scope: email", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "true", + "consent.screen.text": "${emailScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "2c7671ed-d808-42b5-aec5-f38dc5eadbf9", + "name": "email verified", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "user.attribute": "emailVerified", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email_verified", + "jsonType.label": "boolean", + "userinfo.token.claim": "true" + } }, { - "id": "fc5d4d90-869e-41e8-bf1a-7c2943c15248", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "direct-grant-validate-otp", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "edc039af-f3f5-4092-9a22-236b1223af15", + "name": "email", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "user.attribute": "email", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } + } + ] + }, + { + "id": "74500fdc-eef1-4306-b6ba-7b6d6ef3db26", + "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": "1ee77057-1d4b-4e07-b0ce-fe3d808eb232", + "name": "role_list", + "description": "SAML role list", + "protocol": "saml", + "attributes": { + "consent.screen.text": "${samlRoleListScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "034b90a0-53df-4d37-8f54-bad1e841660a", + "name": "role list", + "protocol": "saml", + "protocolMapper": "saml-role-list-mapper", + "consentRequired": false, + "config": { + "single": "false", + "attribute.nameformat": "Basic", + "attribute.name": "Role" + } + } + ] + }, + { + "id": "b7c8a9fb-5812-4506-aa19-e5ab9a029ac6", + "name": "profile", + "description": "OpenID Connect built-in scope: profile", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "true", + "consent.screen.text": "${profileScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "2a6e7198-de77-42e9-9617-9d62215b5a17", + "name": "nickname", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "nickname", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "nickname", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "f847c7d1-37ff-40f4-97a5-87dab9c92354", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "auth-otp-form", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "a8184356-e77a-485a-a72b-1944551a4551", + "name": "username", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "preferred_username", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "659fece3-7c13-489f-bd4c-ff9291c6ad54", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "REQUIRED", - "priority": 20, - "flowAlias": "Account verification options", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "6965fa5e-1612-4b32-aa72-b0325f444d4f", + "name": "given name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "user.attribute": "firstName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "given_name", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "a896363e-372f-4dd3-afd9-0b0b69c612d3", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "reset-otp", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "552bc230-d0db-4450-ace8-7d1925c3e40d", + "name": "zoneinfo", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "zoneinfo", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "zoneinfo", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "0dc7f4f5-b0e5-4f3b-99e2-d3d94759ba11", - "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", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "ALTERNATIVE", - "priority": 20, - "flowAlias": "Handle Existing Account", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "daa7cd8d-83bd-46bb-bbcb-07943b704606", + "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": "e5e30e53-d613-4cd8-84ed-ec907d9b6c74", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "CONDITIONAL", - "priority": 20, - "flowAlias": "First broker login - Conditional OTP", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "6e5cd9ff-75b7-46b4-81f4-8f3ab7b50c4a", + "name": "picture", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "picture", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "picture", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "612b7248-8168-4481-8de4-5336bb494462", - "alias": "browser", - "description": "browser based authentication", - "providerId": "basic-flow", - "topLevel": true, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "auth-cookie", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "auth-spnego", - "authenticatorFlow": false, - "requirement": "DISABLED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "identity-provider-redirector", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 25, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "ALTERNATIVE", - "priority": 30, - "flowAlias": "forms", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "4566ee04-3bf3-4bbf-bd15-bffcb4cdc60b", + "name": "birthdate", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "birthdate", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "birthdate", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "4218ed53-ff94-47f3-b1c4-38ce088aed97", - "alias": "clients", - "description": "Base authentication for clients", - "providerId": "client-flow", - "topLevel": true, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "client-secret", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "client-jwt", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "client-secret-jwt", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 30, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "client-x509", - "authenticatorFlow": false, - "requirement": "ALTERNATIVE", - "priority": 40, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "a81a0cd4-0190-41cf-b478-633cfb55dfd7", + "name": "middle name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "middleName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "middle_name", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "5b7027ea-276f-4fdb-856a-f3779f599fea", - "alias": "direct grant", - "description": "OpenID Connect Resource Owner Grant", - "providerId": "basic-flow", - "topLevel": true, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "direct-grant-validate-username", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "direct-grant-validate-password", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "CONDITIONAL", - "priority": 30, - "flowAlias": "Direct Grant - Conditional OTP", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "49eb91c5-8bde-485a-bf7a-1fa4b113a000", + "name": "profile", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "profile", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "profile", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "cecd18fc-929d-4622-97cd-eb6367e7f6e1", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "ae83bc34-2e0c-44e0-897f-4fca15a16456", + "name": "website", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "website", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "website", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "1bfa9700-d492-4de5-ab53-1b8ff3191e53", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "REQUIRED", - "priority": 20, - "flowAlias": "User creation or linking", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "59100d9e-7430-4d67-9227-226f51300d8b", + "name": "gender", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "gender", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "gender", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "2317637d-8382-4bc0-bd01-8b490d513204", - "alias": "forms", - "description": "Username, password, otp and other auth forms.", - "providerId": "basic-flow", - "topLevel": false, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "auth-username-password-form", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "CONDITIONAL", - "priority": 20, - "flowAlias": "Browser - Conditional OTP", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "00d940e7-9142-4da2-9e1e-dbe17967ff9a", + "name": "locale", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "locale", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "locale", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "d59beee3-b9f6-4e1b-bda2-6e458568203e", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "REQUIRED", - "priority": 20, - "flowAlias": "Authentication Options", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "be034c8c-339c-452e-98bd-8cbc7e7e0690", + "name": "family name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "user.attribute": "lastName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "family_name", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } }, { - "id": "98268f04-0f11-434f-9fa8-0def816b920a", - "alias": "registration", - "description": "registration flow", - "providerId": "basic-flow", - "topLevel": true, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "registration-page-form", - "authenticatorFlow": true, - "requirement": "REQUIRED", - "priority": 10, - "flowAlias": "registration form", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "7ffbfc10-6074-4bff-b211-2d2692ea1ed3", + "name": "updated at", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "updatedAt", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "updated_at", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } + } + ] + }, + { + "id": "a88ce9c5-380d-4213-ab6d-3c8300427e77", + "name": "roles", + "description": "OpenID Connect scope for add user roles to the access token", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "false", + "consent.screen.text": "${rolesScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "c485dbda-7271-454a-b81b-76a082c6117f", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": {} }, { - "id": "d09c7ca9-11b1-46e4-855c-b6bea70c157f", - "alias": "registration form", - "description": "registration form", - "providerId": "form-flow", - "topLevel": false, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "registration-user-creation", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "registration-profile-action", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 40, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "registration-password-action", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 50, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "registration-recaptcha-action", - "authenticatorFlow": false, - "requirement": "DISABLED", - "priority": 60, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "978afdba-6547-4bd8-ad25-8ba1658df28e", + "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": "4339b562-b903-478c-91d9-cbbc152afb07", - "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", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "reset-credential-email", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 20, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticator": "reset-password", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 30, - "userSetupAllowed": false, - "autheticatorFlow": false - }, - { - "authenticatorFlow": true, - "requirement": "CONDITIONAL", - "priority": 40, - "flowAlias": "Reset - Conditional OTP", - "userSetupAllowed": false, - "autheticatorFlow": true - } - ] + "id": "be6081a7-f82e-4f47-a5fe-17df458f9105", + "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": "23116162-e5bb-4a4e-8ca2-9a985e3c9a25", + "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": "f15f7887-a071-4cee-ab26-4f92c30e106c", + "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" + } }, { - "id": "858c5a23-8d7b-43ae-bf57-b211a8df7bd8", - "alias": "saml ecp", - "description": "SAML ECP Profile Authentication Flow", - "providerId": "basic-flow", - "topLevel": true, - "builtIn": true, - "authenticationExecutions": [ - { - "authenticator": "http-basic-authenticator", - "authenticatorFlow": false, - "requirement": "REQUIRED", - "priority": 10, - "userSetupAllowed": false, - "autheticatorFlow": false - } - ] + "id": "b0eca5eb-94c6-45a0-9c4e-79a8377b085c", + "name": "upn", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "upn", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } } - ], - "authenticatorConfig": [ + ] + }, + { + "id": "ab0874c0-0808-486a-9431-6ff68c8fa6e3", + "name": "acr", + "description": "OpenID Connect scope for add acr (authentication context class reference) to the token", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "false", + "display.on.consent.screen": "false" + }, + "protocolMappers": [ { - "id": "a0ff7479-6dc1-4aa4-a83c-913c8031dd2f", - "alias": "create unique user config", - "config": { - "require.password.update.after.registration": "false" - } + "id": "1361b086-323d-4ed2-9043-ed507797f8a1", + "name": "acr loa level", + "protocol": "openid-connect", + "protocolMapper": "oidc-acr-mapper", + "consentRequired": false, + "config": { + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true" + } + } + ] + }, + { + "id": "3d66fc63-bd45-413f-a62d-a8a57763ee1b", + "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", + "consent.screen.text": "", + "display.on.consent.screen": "false" + }, + "protocolMappers": [ + { + "id": "14fdb4b7-6a34-4881-b6c0-d053564f1971", + "name": "allowed web origins", + "protocol": "openid-connect", + "protocolMapper": "oidc-allowed-origins-mapper", + "consentRequired": false, + "config": {} + } + ] + }, + { + "id": "9a8d6e15-c1be-4810-ab6c-687ac1d6f9e1", + "name": "basic", + "description": "OpenID Connect scope for add all basic claims to the token", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "false", + "display.on.consent.screen": "false" + }, + "protocolMappers": [ + { + "id": "dcaf1272-9873-4349-9993-77dccb0adf03", + "name": "auth_time", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "config": { + "user.session.note": "AUTH_TIME", + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true", + "claim.name": "auth_time", + "jsonType.label": "long" + } }, { - "id": "167e2b98-d880-484e-a76f-3c600aefdc6b", - "alias": "review profile config", - "config": { - "update.profile.on.first.login": "missing" - } + "id": "6715ccf8-62ee-4a85-a032-643bbe32c221", + "name": "sub", + "protocol": "openid-connect", + "protocolMapper": "oidc-sub-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "access.token.claim": "true" + } + } + ] + }, + { + "id": "7a7edb7e-fd5e-406e-b749-b9888ed19b0a", + "name": "address", + "description": "OpenID Connect built-in scope: address", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "true", + "consent.screen.text": "${addressScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "478e6921-c140-4f81-a1a9-595797a75a72", + "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": "c060529d-82a3-4b8d-9858-f102d8dd1ca2", + "name": "phone", + "description": "OpenID Connect built-in scope: phone", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "true", + "consent.screen.text": "${phoneScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "9b45f386-62ed-4813-8128-14b16838f73e", + "name": "phone number verified", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "phoneNumberVerified", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "phone_number_verified", + "jsonType.label": "boolean", + "userinfo.token.claim": "true" + } + }, + { + "id": "2b33822d-fd73-4af8-bb18-01e0125e1e67", + "name": "phone number", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "phoneNumber", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "phone_number", + "jsonType.label": "String", + "userinfo.token.claim": "true" + } + } + ] + } + ], + "defaultDefaultClientScopes": [ + "role_list", + "profile", + "email", + "roles", + "web-origins", + "acr", + "basic" + ], + "defaultOptionalClientScopes": [ + "offline_access", + "address", + "phone", + "microprofile-jwt" + ], + "browserSecurityHeaders": { + "contentSecurityPolicyReportOnly": "", + "xContentTypeOptions": "nosniff", + "referrerPolicy": "no-referrer", + "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": true, + "eventsListeners": [ + "jboss-logging" + ], + "enabledEventTypes": [ + "SEND_RESET_PASSWORD", + "UPDATE_CONSENT_ERROR", + "GRANT_CONSENT", + "VERIFY_PROFILE_ERROR", + "REMOVE_TOTP", + "REVOKE_GRANT", + "UPDATE_TOTP", + "LOGIN_ERROR", + "CLIENT_LOGIN", + "RESET_PASSWORD_ERROR", + "IMPERSONATE_ERROR", + "CODE_TO_TOKEN_ERROR", + "CUSTOM_REQUIRED_ACTION", + "OAUTH2_DEVICE_CODE_TO_TOKEN_ERROR", + "RESTART_AUTHENTICATION", + "IMPERSONATE", + "UPDATE_PROFILE_ERROR", + "LOGIN", + "OAUTH2_DEVICE_VERIFY_USER_CODE", + "UPDATE_PASSWORD_ERROR", + "CLIENT_INITIATED_ACCOUNT_LINKING", + "OAUTH2_EXTENSION_GRANT", + "USER_DISABLED_BY_PERMANENT_LOCKOUT", + "TOKEN_EXCHANGE", + "AUTHREQID_TO_TOKEN", + "LOGOUT", + "REGISTER", + "DELETE_ACCOUNT_ERROR", + "CLIENT_REGISTER", + "IDENTITY_PROVIDER_LINK_ACCOUNT", + "USER_DISABLED_BY_TEMPORARY_LOCKOUT", + "DELETE_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", + "FEDERATED_IDENTITY_OVERRIDE_LINK", + "SEND_IDENTITY_PROVIDER_LINK_ERROR", + "EXECUTE_ACTION_TOKEN_ERROR", + "OAUTH2_EXTENSION_GRANT_ERROR", + "SEND_VERIFY_EMAIL", + "OAUTH2_DEVICE_AUTH", + "EXECUTE_ACTIONS_ERROR", + "REMOVE_FEDERATED_IDENTITY", + "OAUTH2_DEVICE_CODE_TO_TOKEN", + "IDENTITY_PROVIDER_POST_LOGIN", + "IDENTITY_PROVIDER_LINK_ACCOUNT_ERROR", + "FEDERATED_IDENTITY_OVERRIDE_LINK_ERROR", + "OAUTH2_DEVICE_VERIFY_USER_CODE_ERROR", + "UPDATE_EMAIL", + "REGISTER_ERROR", + "REVOKE_GRANT_ERROR", + "EXECUTE_ACTION_TOKEN", + "LOGOUT_ERROR", + "UPDATE_EMAIL_ERROR", + "CLIENT_UPDATE_ERROR", + "AUTHREQID_TO_TOKEN_ERROR", + "INVITE_ORG_ERROR", + "UPDATE_PROFILE", + "CLIENT_REGISTER_ERROR", + "FEDERATED_IDENTITY_LINK", + "INVITE_ORG", + "SEND_IDENTITY_PROVIDER_LINK", + "SEND_VERIFY_EMAIL_ERROR", + "RESET_PASSWORD", + "CLIENT_INITIATED_ACCOUNT_LINKING_ERROR", + "OAUTH2_DEVICE_AUTH_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", + "VERIFY_PROFILE", + "GRANT_CONSENT_ERROR", + "IDENTITY_PROVIDER_FIRST_LOGIN_ERROR" + ], + "adminEventsEnabled": false, + "adminEventsDetailsEnabled": false, + "identityProviders": [], + "identityProviderMappers": [], + "components": { + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ + { + "id": "6f23aa7d-20f0-40f5-a929-b13046f2313e", + "name": "Max Clients Limit", + "providerId": "max-clients", + "subType": "anonymous", + "subComponents": {}, + "config": { + "max-clients": [ + "200" + ] + } + }, + { + "id": "3d530cfb-1cb0-40de-b291-68312b70c0c4", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "d0bc56c0-f934-4ead-8ff9-d4718da1ae3c", + "name": "Consent Required", + "providerId": "consent-required", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "e0bb835e-4834-4188-9867-77878038b1d8", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "oidc-address-mapper", + "saml-user-attribute-mapper", + "oidc-sha256-pairwise-sub-mapper", + "oidc-full-name-mapper", + "oidc-usermodel-property-mapper", + "oidc-usermodel-attribute-mapper", + "saml-user-property-mapper", + "saml-role-list-mapper" + ] } + }, + { + "id": "4e5ebd10-09b6-4fb6-a705-5ee1c3dcf080", + "name": "Full Scope Disabled", + "providerId": "scope", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "4f75be97-5bd8-4252-a9e4-1f47fa62e32e", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "2476a230-be2c-4a72-8994-57e3b8979df2", + "name": "Trusted Hosts", + "providerId": "trusted-hosts", + "subType": "anonymous", + "subComponents": {}, + "config": { + "host-sending-registration-request-must-match": [ + "true" + ], + "client-uris-must-match": [ + "true" + ] + } + }, + { + "id": "2c352a1a-b344-4302-a437-3087835aac56", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "oidc-full-name-mapper", + "oidc-usermodel-property-mapper", + "saml-user-property-mapper", + "oidc-usermodel-attribute-mapper", + "oidc-address-mapper", + "oidc-sha256-pairwise-sub-mapper", + "saml-role-list-mapper", + "saml-user-attribute-mapper" + ] + } + } ], - "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": {} + "org.keycloak.userprofile.UserProfileProvider": [ + { + "id": "8a063f9f-5742-40bf-9953-c1677255549c", + "providerId": "declarative-user-profile", + "subComponents": {}, + "config": { + "kc.user.profile.config": [ + "{\"attributes\":[{\"name\":\"username\",\"displayName\":\"${username}\",\"validations\":{\"length\":{\"min\":3,\"max\":255},\"username-prohibited-characters\":{},\"up-username-not-idn-homograph\":{}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"email\",\"displayName\":\"${email}\",\"validations\":{\"email\":{},\"length\":{\"max\":255}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"firstName\",\"displayName\":\"${firstName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"lastName\",\"displayName\":\"${lastName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false}],\"groups\":[{\"name\":\"user-metadata\",\"displayHeader\":\"User metadata\",\"displayDescription\":\"Attributes, which refer to user metadata\"}],\"unmanagedAttributePolicy\":\"ENABLED\"}" + ] } + } ], - "browserFlow": "browser", - "registrationFlow": "registration", - "directGrantFlow": "direct grant", - "resetCredentialsFlow": "reset credentials", - "clientAuthenticationFlow": "clients", - "dockerAuthenticationFlow": "docker auth", - "attributes": { - "cibaBackchannelTokenDeliveryMode": "poll", - "cibaExpiresIn": "120", - "cibaAuthRequestedUserHint": "login_hint", - "oauth2DeviceCodeLifespan": "600", - "oauth2DevicePollingInterval": "5", - "clientOfflineSessionMaxLifespan": "0", - "clientSessionIdleTimeout": "0", - "parRequestUriLifespan": "60", - "clientSessionMaxLifespan": "0", - "clientOfflineSessionIdleTimeout": "0", - "cibaInterval": "5" + "org.keycloak.keys.KeyProvider": [ + { + "id": "e1b543e2-dac7-484f-8133-e395f3fdcadd", + "name": "aes-generated", + "providerId": "aes-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "41b44e7d-13a0-42b2-81d3-b7688fb6673d", + "name": "hmac-generated", + "providerId": "hmac-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "HS256" + ] + } + }, + { + "id": "e3819e46-c9c8-4ddb-b107-d697144359f8", + "name": "hmac-generated-hs512", + "providerId": "hmac-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "HS512" + ] + } + }, + { + "id": "37da0098-d931-4263-8595-bb1f82318397", + "name": "rsa-generated", + "providerId": "rsa-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "cdf2bf46-ba32-4235-8a8d-7b6989a93f23", + "name": "rsa-enc-generated", + "providerId": "rsa-enc-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "RSA-OAEP" + ] + } + } + ] + }, + "internationalizationEnabled": false, + "supportedLocales": [], + "authenticationFlows": [ + { + "id": "e125a642-f0a4-4bcc-bffd-06e4b9f08e96", + "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", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "ALTERNATIVE", + "priority": 20, + "autheticatorFlow": true, + "flowAlias": "Verify Existing Account by Re-authentication", + "userSetupAllowed": false + } + ] }, - "keycloakVersion": "16.1.1", - "userManagedAccessAllowed": false, - "clientProfiles": { - "profiles": [] + { + "id": "32113f3e-edae-4746-a106-ea78b4777402", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "auth-otp-form", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] }, - "clientPolicies": { - "policies": [] + { + "id": "fc5d4d90-869e-41e8-bf1a-7c2943c15248", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "direct-grant-validate-otp", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] }, - "users": [ - { - "id": "5c225017-d2ba-403d-be3f-4517bfa8daff", - "createdTimestamp": 1611929920559, - "username": "service-account-admin-cli", - "enabled": true, - "totp": false, - "emailVerified": false, - "serviceAccountClientId": "admin-cli", - "disableableCredentialTypes": [], - "requiredActions": [], - "realmRoles": [ - "offline_access", - "uma_authorization" - ], - "clientRoles": { - "realm-management": [ - "query-realms", - "manage-identity-providers", - "create-client", - "query-clients", - "manage-users", - "manage-realm", - "realm-admin", - "manage-authorization", - "manage-events", - "query-users", - "impersonation", - "query-groups", - "manage-clients" - ], - "account": [ - "view-profile", - "manage-account" - ] - }, - "notBefore": 0, - "groups": [] + { + "id": "f847c7d1-37ff-40f4-97a5-87dab9c92354", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "auth-otp-form", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false } - ] + ] + }, + { + "id": "659fece3-7c13-489f-bd4c-ff9291c6ad54", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": true, + "flowAlias": "Account verification options", + "userSetupAllowed": false + } + ] + }, + { + "id": "a896363e-372f-4dd3-afd9-0b0b69c612d3", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "reset-otp", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + }, + { + "id": "0dc7f4f5-b0e5-4f3b-99e2-d3d94759ba11", + "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", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "ALTERNATIVE", + "priority": 20, + "autheticatorFlow": true, + "flowAlias": "Handle Existing Account", + "userSetupAllowed": false + } + ] + }, + { + "id": "e5e30e53-d613-4cd8-84ed-ec907d9b6c74", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 20, + "autheticatorFlow": true, + "flowAlias": "First broker login - Conditional OTP", + "userSetupAllowed": false + } + ] + }, + { + "id": "612b7248-8168-4481-8de4-5336bb494462", + "alias": "browser", + "description": "browser based authentication", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "auth-cookie", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "auth-spnego", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "identity-provider-redirector", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 25, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "ALTERNATIVE", + "priority": 30, + "autheticatorFlow": true, + "flowAlias": "forms", + "userSetupAllowed": false + } + ] + }, + { + "id": "4218ed53-ff94-47f3-b1c4-38ce088aed97", + "alias": "clients", + "description": "Base authentication for clients", + "providerId": "client-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "client-secret", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "client-jwt", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "client-secret-jwt", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 30, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "client-x509", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 40, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + }, + { + "id": "5b7027ea-276f-4fdb-856a-f3779f599fea", + "alias": "direct grant", + "description": "OpenID Connect Resource Owner Grant", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "direct-grant-validate-username", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "direct-grant-validate-password", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 30, + "autheticatorFlow": true, + "flowAlias": "Direct Grant - Conditional OTP", + "userSetupAllowed": false + } + ] + }, + { + "id": "cecd18fc-929d-4622-97cd-eb6367e7f6e1", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + }, + { + "id": "1bfa9700-d492-4de5-ab53-1b8ff3191e53", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": true, + "flowAlias": "User creation or linking", + "userSetupAllowed": false + } + ] + }, + { + "id": "2317637d-8382-4bc0-bd01-8b490d513204", + "alias": "forms", + "description": "Username, password, otp and other auth forms.", + "providerId": "basic-flow", + "topLevel": false, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "auth-username-password-form", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 20, + "autheticatorFlow": true, + "flowAlias": "Browser - Conditional OTP", + "userSetupAllowed": false + } + ] + }, + { + "id": "98268f04-0f11-434f-9fa8-0def816b920a", + "alias": "registration", + "description": "registration flow", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "registration-page-form", + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": true, + "flowAlias": "registration form", + "userSetupAllowed": false + } + ] + }, + { + "id": "d09c7ca9-11b1-46e4-855c-b6bea70c157f", + "alias": "registration form", + "description": "registration form", + "providerId": "form-flow", + "topLevel": false, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "registration-user-creation", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "registration-password-action", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 50, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "registration-recaptcha-action", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 60, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + }, + { + "id": "4339b562-b903-478c-91d9-cbbc152afb07", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "reset-credential-email", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticator": "reset-password", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 30, + "autheticatorFlow": false, + "userSetupAllowed": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 40, + "autheticatorFlow": true, + "flowAlias": "Reset - Conditional OTP", + "userSetupAllowed": false + } + ] + }, + { + "id": "858c5a23-8d7b-43ae-bf57-b211a8df7bd8", + "alias": "saml ecp", + "description": "SAML ECP Profile Authentication Flow", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "http-basic-authenticator", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + } + ], + "authenticatorConfig": [ + { + "id": "a0ff7479-6dc1-4aa4-a83c-913c8031dd2f", + "alias": "create unique user config", + "config": { + "require.password.update.after.registration": "false" + } + }, + { + "id": "167e2b98-d880-484e-a76f-3c600aefdc6b", + "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": "delete_account", + "name": "Delete Account", + "providerId": "delete_account", + "enabled": false, + "defaultAction": false, + "priority": 60, + "config": {} + }, + { + "alias": "delete_credential", + "name": "Delete Credential", + "providerId": "delete_credential", + "enabled": true, + "defaultAction": false, + "priority": 100, + "config": {} + } + ], + "browserFlow": "browser", + "registrationFlow": "registration", + "directGrantFlow": "direct grant", + "resetCredentialsFlow": "reset credentials", + "clientAuthenticationFlow": "clients", + "dockerAuthenticationFlow": "docker auth", + "firstBrokerLoginFlow": "first broker login", + "attributes": { + "cibaBackchannelTokenDeliveryMode": "poll", + "cibaExpiresIn": "120", + "cibaAuthRequestedUserHint": "login_hint", + "oauth2DeviceCodeLifespan": "600", + "clientOfflineSessionMaxLifespan": "0", + "oauth2DevicePollingInterval": "5", + "clientSessionIdleTimeout": "0", + "parRequestUriLifespan": "60", + "clientSessionMaxLifespan": "0", + "clientOfflineSessionIdleTimeout": "0", + "cibaInterval": "5", + "realmReusableOtpCode": "false" + }, + "keycloakVersion": "25.0.6", + "userManagedAccessAllowed": false, + "organizationsEnabled": false, + "clientProfiles": { + "profiles": [] + }, + "clientPolicies": { + "policies": [] + } } \ No newline at end of file diff --git a/src/keycloak/realm-export_v16.1.1.json b/src/keycloak/realm-export_v16.1.1.json new file mode 100644 index 000000000..321ccc760 --- /dev/null +++ b/src/keycloak/realm-export_v16.1.1.json @@ -0,0 +1,2190 @@ +{ + "id": "taranis-ng", + "realm": "taranis-ng", + "displayName": "Taranis NG", + "displayNameHtml": "
Taranis NG
", + "notBefore": 0, + "defaultSignatureAlgorithm": "RS256", + "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, + "oauth2DeviceCodeLifespan": 600, + "oauth2DevicePollingInterval": 600, + "enabled": true, + "sslRequired": "external", + "registrationAllowed": false, + "registrationEmailAsUsername": false, + "rememberMe": true, + "verifyEmail": false, + "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": "496b40bc-02c7-4a40-bbd1-dad7b8eb76b0", + "name": "offline_access", + "description": "${role_offline-access}", + "composite": false, + "clientRole": false, + "containerId": "taranis-ng", + "attributes": {} + }, + { + "id": "3549be42-957b-42f5-9c40-a1e643aeded4", + "name": "uma_authorization", + "description": "${role_uma_authorization}", + "composite": false, + "clientRole": false, + "containerId": "taranis-ng", + "attributes": {} + }, + { + "id": "09873508-6035-4c70-92c7-c319940181fe", + "name": "default-roles-taranis-ng", + "description": "${role_default-roles}", + "composite": true, + "composites": { + "realm": [ + "offline_access", + "uma_authorization" + ], + "client": { + "account": [ + "manage-account", + "view-profile" + ] + } + }, + "clientRole": false, + "containerId": "taranis-ng", + "attributes": {} + } + ], + "client": { + "realm-management": [ + { + "id": "c5419b0e-0acf-4e86-8a97-2b7f45133725", + "name": "query-users", + "description": "${role_query-users}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ca4820f3-ebb8-4259-a31b-2aa77c9a4a3e", + "name": "manage-identity-providers", + "description": "${role_manage-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "cda8a112-0f54-4198-bc7c-530facb0c256", + "name": "query-groups", + "description": "${role_query-groups}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ffb15e72-cd14-4706-b759-fa71fc2937b0", + "name": "query-realms", + "description": "${role_query-realms}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "99b029b7-2a74-404f-b257-09d27e10eb68", + "name": "manage-events", + "description": "${role_manage-events}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "7ac15b92-09be-488a-b3fc-06e9ff0d84aa", + "name": "view-identity-providers", + "description": "${role_view-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "c628fec1-dc4c-40a1-9bf5-613b93d09436", + "name": "view-events", + "description": "${role_view-events}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ddcce348-7784-4e25-a1a8-8a7d72e72d15", + "name": "view-authorization", + "description": "${role_view-authorization}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "b7e0bdaf-3612-4071-9d60-ce7c7f735765", + "name": "view-clients", + "description": "${role_view-clients}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-clients" + ] + } + }, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "949a18ce-aa01-4c70-8163-978029aeebc1", + "name": "manage-authorization", + "description": "${role_manage-authorization}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "16cc0a1d-7b1d-4c1a-ab07-265a7bf07c88", + "name": "query-clients", + "description": "${role_query-clients}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "e52c6d6c-377c-4120-b93a-c7f6c0a01933", + "name": "manage-clients", + "description": "${role_manage-clients}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "56a8c1ec-1d65-4424-bf3e-d3d5eaa9e805", + "name": "view-users", + "description": "${role_view-users}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-users", + "query-groups" + ] + } + }, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "9446d242-f92b-4b82-89eb-d20e2a7b77d2", + "name": "create-client", + "description": "${role_create-client}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "70fa0e13-ed2b-4903-84f4-8fd38c11a4e7", + "name": "manage-users", + "description": "${role_manage-users}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "c32b090b-9610-4766-bf94-134d5b60058e", + "name": "impersonation", + "description": "${role_impersonation}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "a635dcc4-a591-40ea-8e67-ef02fde2d377", + "name": "realm-admin", + "description": "${role_realm-admin}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-users", + "manage-identity-providers", + "query-groups", + "query-realms", + "manage-events", + "view-identity-providers", + "view-events", + "view-authorization", + "view-clients", + "manage-authorization", + "query-clients", + "view-users", + "manage-clients", + "create-client", + "manage-users", + "impersonation", + "view-realm", + "manage-realm" + ] + } + }, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "ebd6fba2-0fd1-46c4-a657-ae2a47f8e3bb", + "name": "view-realm", + "description": "${role_view-realm}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + }, + { + "id": "82f30e40-272a-497d-a456-3e7836de3b0d", + "name": "manage-realm", + "description": "${role_manage-realm}", + "composite": false, + "clientRole": true, + "containerId": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "attributes": {} + } + ], + "taranis-ng": [], + "security-admin-console": [], + "admin-cli": [], + "account-console": [], + "broker": [ + { + "id": "aa1dadb2-063d-4bdf-9193-d1071644f609", + "name": "read-token", + "description": "${role_read-token}", + "composite": false, + "clientRole": true, + "containerId": "71f9b58b-86d9-4bee-bcf6-edad47720891", + "attributes": {} + } + ], + "account": [ + { + "id": "ba3be302-afb5-4101-a521-593568df135f", + "name": "delete-account", + "description": "${role_delete-account}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "eca8431c-7532-4497-8caa-3ed5a8bf67c6", + "name": "manage-consent", + "description": "${role_manage-consent}", + "composite": true, + "composites": { + "client": { + "account": [ + "view-consent" + ] + } + }, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "74507bf9-fc54-4735-a9f5-096c08816366", + "name": "manage-account", + "description": "${role_manage-account}", + "composite": true, + "composites": { + "client": { + "account": [ + "manage-account-links" + ] + } + }, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "3b84dbd8-1ab5-4404-9f22-0b0a17216465", + "name": "view-consent", + "description": "${role_view-consent}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "fead173d-4659-4464-9b3f-58dbb882c443", + "name": "manage-account-links", + "description": "${role_manage-account-links}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "f6f0d119-86a3-43f0-955d-c5f6612bd5db", + "name": "view-profile", + "description": "${role_view-profile}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + }, + { + "id": "b404b232-aae6-4086-ad94-f024ecb4dd6b", + "name": "view-applications", + "description": "${role_view-applications}", + "composite": false, + "clientRole": true, + "containerId": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "attributes": {} + } + ] + } + }, + "groups": [], + "defaultRole": { + "id": "09873508-6035-4c70-92c7-c319940181fe", + "name": "default-roles-taranis-ng", + "description": "${role_default-roles}", + "composite": true, + "clientRole": false, + "containerId": "taranis-ng" + }, + "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": "8694bb26-aeb1-4e7a-9581-a3eb190fe98d", + "clientId": "account", + "name": "${client_account}", + "rootUrl": "${authBaseUrl}", + "baseUrl": "/realms/taranis-ng/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "http://localhost:8080/*", + "https://localhost:4443/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": {}, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "e02078b8-d388-455d-a19c-0bd6f886c3cb", + "clientId": "account-console", + "name": "${client_account-console}", + "rootUrl": "${authBaseUrl}", + "baseUrl": "/realms/taranis-ng/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/realms/taranis-ng/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": "b78fdcfd-a4a8-45a6-bdb3-e87fdd40b602", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": {} + } + ], + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "8ae28eab-de8d-4f6e-b1a8-74cb5cff2183", + "clientId": "admin-cli", + "secret": "supersecret", + "name": "${client_admin-cli}", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": false, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": true, + "serviceAccountsEnabled": true, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": {}, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "71f9b58b-86d9-4bee-bcf6-edad47720891", + "clientId": "broker", + "name": "${client_broker}", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "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": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "7000ff58-569f-411c-a0da-b6a18e169a1e", + "clientId": "realm-management", + "name": "${client_realm-management}", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "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": [ + "web-origins", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "e727e771-c715-4aac-b08b-4fe5565f8b0d", + "clientId": "security-admin-console", + "name": "${client_security-admin-console}", + "rootUrl": "${authAdminUrl}", + "baseUrl": "/admin/taranis-ng/console/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/admin/taranis-ng/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": "2cd68c31-126b-408e-81a5-74b6238b8e15", + "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", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "5e7d848a-3af9-48c1-af42-c3849ec7d94c", + "clientId": "taranis-ng", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "secret": "supersecret", + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "http://*", + "https://*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": true, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": true, + "authorizationServicesEnabled": true, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "backchannel.logout.session.required": "false", + "backchannel.logout.revoke.offline.tokens": "false", + "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", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + } + ], + "clientScopes": [ + { + "id": "7092f514-4f3f-45a6-8624-875b5aba64ff", + "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": "2c7671ed-d808-42b5-aec5-f38dc5eadbf9", + "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": "edc039af-f3f5-4092-9a22-236b1223af15", + "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": "74500fdc-eef1-4306-b6ba-7b6d6ef3db26", + "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": "1ee77057-1d4b-4e07-b0ce-fe3d808eb232", + "name": "role_list", + "description": "SAML role list", + "protocol": "saml", + "attributes": { + "consent.screen.text": "${samlRoleListScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "034b90a0-53df-4d37-8f54-bad1e841660a", + "name": "role list", + "protocol": "saml", + "protocolMapper": "saml-role-list-mapper", + "consentRequired": false, + "config": { + "single": "false", + "attribute.nameformat": "Basic", + "attribute.name": "Role" + } + } + ] + }, + { + "id": "b7c8a9fb-5812-4506-aa19-e5ab9a029ac6", + "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": "2a6e7198-de77-42e9-9617-9d62215b5a17", + "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": "a8184356-e77a-485a-a72b-1944551a4551", + "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": "6965fa5e-1612-4b32-aa72-b0325f444d4f", + "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": "552bc230-d0db-4450-ace8-7d1925c3e40d", + "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": "daa7cd8d-83bd-46bb-bbcb-07943b704606", + "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": "6e5cd9ff-75b7-46b4-81f4-8f3ab7b50c4a", + "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": "4566ee04-3bf3-4bbf-bd15-bffcb4cdc60b", + "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": "a81a0cd4-0190-41cf-b478-633cfb55dfd7", + "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": "49eb91c5-8bde-485a-bf7a-1fa4b113a000", + "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": "ae83bc34-2e0c-44e0-897f-4fca15a16456", + "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": "59100d9e-7430-4d67-9227-226f51300d8b", + "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": "00d940e7-9142-4da2-9e1e-dbe17967ff9a", + "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": "be034c8c-339c-452e-98bd-8cbc7e7e0690", + "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": "7ffbfc10-6074-4bff-b211-2d2692ea1ed3", + "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": "a88ce9c5-380d-4213-ab6d-3c8300427e77", + "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": "c485dbda-7271-454a-b81b-76a082c6117f", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": {} + }, + { + "id": "978afdba-6547-4bd8-ad25-8ba1658df28e", + "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": "be6081a7-f82e-4f47-a5fe-17df458f9105", + "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": "23116162-e5bb-4a4e-8ca2-9a985e3c9a25", + "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": "f15f7887-a071-4cee-ab26-4f92c30e106c", + "name": "groups", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-realm-role-mapper", + "consentRequired": false, + "config": { + "multivalued": "true", + "user.attribute": "foo", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "groups", + "jsonType.label": "String" + } + }, + { + "id": "b0eca5eb-94c6-45a0-9c4e-79a8377b085c", + "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": "3d66fc63-bd45-413f-a62d-a8a57763ee1b", + "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": "14fdb4b7-6a34-4881-b6c0-d053564f1971", + "name": "allowed web origins", + "protocol": "openid-connect", + "protocolMapper": "oidc-allowed-origins-mapper", + "consentRequired": false, + "config": {} + } + ] + }, + { + "id": "7a7edb7e-fd5e-406e-b749-b9888ed19b0a", + "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": "478e6921-c140-4f81-a1a9-595797a75a72", + "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": "c060529d-82a3-4b8d-9858-f102d8dd1ca2", + "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": "9b45f386-62ed-4813-8128-14b16838f73e", + "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": "2b33822d-fd73-4af8-bb18-01e0125e1e67", + "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" + } + } + ] + } + ], + "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, + "identityProviders": [], + "identityProviderMappers": [], + "components": { + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ + { + "id": "6f23aa7d-20f0-40f5-a929-b13046f2313e", + "name": "Max Clients Limit", + "providerId": "max-clients", + "subType": "anonymous", + "subComponents": {}, + "config": { + "max-clients": [ + "200" + ] + } + }, + { + "id": "3d530cfb-1cb0-40de-b291-68312b70c0c4", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "d0bc56c0-f934-4ead-8ff9-d4718da1ae3c", + "name": "Consent Required", + "providerId": "consent-required", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "e0bb835e-4834-4188-9867-77878038b1d8", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "oidc-sha256-pairwise-sub-mapper", + "oidc-full-name-mapper", + "oidc-usermodel-property-mapper", + "oidc-address-mapper", + "saml-user-attribute-mapper", + "saml-role-list-mapper", + "oidc-usermodel-attribute-mapper", + "saml-user-property-mapper" + ] + } + }, + { + "id": "4e5ebd10-09b6-4fb6-a705-5ee1c3dcf080", + "name": "Full Scope Disabled", + "providerId": "scope", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "4f75be97-5bd8-4252-a9e4-1f47fa62e32e", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "2476a230-be2c-4a72-8994-57e3b8979df2", + "name": "Trusted Hosts", + "providerId": "trusted-hosts", + "subType": "anonymous", + "subComponents": {}, + "config": { + "host-sending-registration-request-must-match": [ + "true" + ], + "client-uris-must-match": [ + "true" + ] + } + }, + { + "id": "2c352a1a-b344-4302-a437-3087835aac56", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "saml-user-property-mapper", + "oidc-usermodel-property-mapper", + "oidc-sha256-pairwise-sub-mapper", + "oidc-usermodel-attribute-mapper", + "oidc-full-name-mapper", + "saml-role-list-mapper", + "saml-user-attribute-mapper", + "oidc-address-mapper" + ] + } + } + ], + "org.keycloak.userprofile.UserProfileProvider": [ + { + "id": "8a063f9f-5742-40bf-9953-c1677255549c", + "providerId": "declarative-user-profile", + "subComponents": {}, + "config": {} + } + ], + "org.keycloak.keys.KeyProvider": [ + { + "id": "e1b543e2-dac7-484f-8133-e395f3fdcadd", + "name": "aes-generated", + "providerId": "aes-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "41b44e7d-13a0-42b2-81d3-b7688fb6673d", + "name": "hmac-generated", + "providerId": "hmac-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "HS256" + ] + } + }, + { + "id": "37da0098-d931-4263-8595-bb1f82318397", + "name": "rsa-generated", + "providerId": "rsa-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "cdf2bf46-ba32-4235-8a8d-7b6989a93f23", + "name": "rsa-enc-generated", + "providerId": "rsa-enc-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "RSA-OAEP" + ] + } + } + ] + }, + "internationalizationEnabled": false, + "supportedLocales": [], + "authenticationFlows": [ + { + "id": "e125a642-f0a4-4bcc-bffd-06e4b9f08e96", + "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", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "ALTERNATIVE", + "priority": 20, + "flowAlias": "Verify Existing Account by Re-authentication", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "c866e524-0223-4e4d-8e41-0e243093b5d0", + "alias": "Authentication Options", + "description": "Authentication options.", + "providerId": "basic-flow", + "topLevel": false, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "basic-auth", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "basic-auth-otp", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "auth-spnego", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 30, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "32113f3e-edae-4746-a106-ea78b4777402", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "auth-otp-form", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "fc5d4d90-869e-41e8-bf1a-7c2943c15248", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "direct-grant-validate-otp", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "f847c7d1-37ff-40f4-97a5-87dab9c92354", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "auth-otp-form", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "659fece3-7c13-489f-bd4c-ff9291c6ad54", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 20, + "flowAlias": "Account verification options", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "a896363e-372f-4dd3-afd9-0b0b69c612d3", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "reset-otp", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "0dc7f4f5-b0e5-4f3b-99e2-d3d94759ba11", + "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", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "ALTERNATIVE", + "priority": 20, + "flowAlias": "Handle Existing Account", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "e5e30e53-d613-4cd8-84ed-ec907d9b6c74", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 20, + "flowAlias": "First broker login - Conditional OTP", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "612b7248-8168-4481-8de4-5336bb494462", + "alias": "browser", + "description": "browser based authentication", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "auth-cookie", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "auth-spnego", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "identity-provider-redirector", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 25, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "ALTERNATIVE", + "priority": 30, + "flowAlias": "forms", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "4218ed53-ff94-47f3-b1c4-38ce088aed97", + "alias": "clients", + "description": "Base authentication for clients", + "providerId": "client-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "client-secret", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "client-jwt", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "client-secret-jwt", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 30, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "client-x509", + "authenticatorFlow": false, + "requirement": "ALTERNATIVE", + "priority": 40, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "5b7027ea-276f-4fdb-856a-f3779f599fea", + "alias": "direct grant", + "description": "OpenID Connect Resource Owner Grant", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "direct-grant-validate-username", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "direct-grant-validate-password", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 30, + "flowAlias": "Direct Grant - Conditional OTP", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "cecd18fc-929d-4622-97cd-eb6367e7f6e1", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "1bfa9700-d492-4de5-ab53-1b8ff3191e53", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 20, + "flowAlias": "User creation or linking", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "2317637d-8382-4bc0-bd01-8b490d513204", + "alias": "forms", + "description": "Username, password, otp and other auth forms.", + "providerId": "basic-flow", + "topLevel": false, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "auth-username-password-form", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 20, + "flowAlias": "Browser - Conditional OTP", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "d59beee3-b9f6-4e1b-bda2-6e458568203e", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 20, + "flowAlias": "Authentication Options", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "98268f04-0f11-434f-9fa8-0def816b920a", + "alias": "registration", + "description": "registration flow", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "registration-page-form", + "authenticatorFlow": true, + "requirement": "REQUIRED", + "priority": 10, + "flowAlias": "registration form", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "d09c7ca9-11b1-46e4-855c-b6bea70c157f", + "alias": "registration form", + "description": "registration form", + "providerId": "form-flow", + "topLevel": false, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "registration-user-creation", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "registration-profile-action", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 40, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "registration-password-action", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 50, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "registration-recaptcha-action", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 60, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + }, + { + "id": "4339b562-b903-478c-91d9-cbbc152afb07", + "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", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "reset-credential-email", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 20, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticator": "reset-password", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 30, + "userSetupAllowed": false, + "autheticatorFlow": false + }, + { + "authenticatorFlow": true, + "requirement": "CONDITIONAL", + "priority": 40, + "flowAlias": "Reset - Conditional OTP", + "userSetupAllowed": false, + "autheticatorFlow": true + } + ] + }, + { + "id": "858c5a23-8d7b-43ae-bf57-b211a8df7bd8", + "alias": "saml ecp", + "description": "SAML ECP Profile Authentication Flow", + "providerId": "basic-flow", + "topLevel": true, + "builtIn": true, + "authenticationExecutions": [ + { + "authenticator": "http-basic-authenticator", + "authenticatorFlow": false, + "requirement": "REQUIRED", + "priority": 10, + "userSetupAllowed": false, + "autheticatorFlow": false + } + ] + } + ], + "authenticatorConfig": [ + { + "id": "a0ff7479-6dc1-4aa4-a83c-913c8031dd2f", + "alias": "create unique user config", + "config": { + "require.password.update.after.registration": "false" + } + }, + { + "id": "167e2b98-d880-484e-a76f-3c600aefdc6b", + "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": { + "cibaBackchannelTokenDeliveryMode": "poll", + "cibaExpiresIn": "120", + "cibaAuthRequestedUserHint": "login_hint", + "oauth2DeviceCodeLifespan": "600", + "oauth2DevicePollingInterval": "5", + "clientOfflineSessionMaxLifespan": "0", + "clientSessionIdleTimeout": "0", + "parRequestUriLifespan": "60", + "clientSessionMaxLifespan": "0", + "clientOfflineSessionIdleTimeout": "0", + "cibaInterval": "5" + }, + "keycloakVersion": "16.1.1", + "userManagedAccessAllowed": false, + "clientProfiles": { + "profiles": [] + }, + "clientPolicies": { + "policies": [] + }, + "users": [ + { + "id": "5c225017-d2ba-403d-be3f-4517bfa8daff", + "createdTimestamp": 1611929920559, + "username": "service-account-admin-cli", + "enabled": true, + "totp": false, + "emailVerified": false, + "serviceAccountClientId": "admin-cli", + "disableableCredentialTypes": [], + "requiredActions": [], + "realmRoles": [ + "offline_access", + "uma_authorization" + ], + "clientRoles": { + "realm-management": [ + "query-realms", + "manage-identity-providers", + "create-client", + "query-clients", + "manage-users", + "manage-realm", + "realm-admin", + "manage-authorization", + "manage-events", + "query-users", + "impersonation", + "query-groups", + "manage-clients" + ], + "account": [ + "view-profile", + "manage-account" + ] + }, + "notBefore": 0, + "groups": [] + } + ] +} \ No newline at end of file diff --git a/src/keycloak/theme/admin/resources/change-title.js b/src/keycloak/theme/admin/resources/change-title.js deleted file mode 100644 index 0f938cb5a..000000000 --- a/src/keycloak/theme/admin/resources/change-title.js +++ /dev/null @@ -1,6 +0,0 @@ -new MutationObserver( - function() { - document.querySelector('title').textContent = "TARANIS NG"; - }).observe( - document.querySelector('title'),{ childList: true } - ); diff --git a/src/keycloak/theme/admin/resources/css/admin_taranis-ng.css b/src/keycloak/theme/admin/resources/css/admin_taranis-ng.css deleted file mode 100644 index 79fdb9f55..000000000 --- a/src/keycloak/theme/admin/resources/css/admin_taranis-ng.css +++ /dev/null @@ -1,493 +0,0 @@ -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 ***********/ -body { - background-image: url('../img/cogs.png'); - background-repeat: no-repeat; - background-position: center center; -} - -.navbar-pf{ - border-top: none!important; -} - -.navbar-header.ng-scope { - background-color: rgb(199,199,199); - border-bottom: 3px solid grey; -} - -.navbar-pf .navbar-brand { - padding: 0; - height: 56px; - line-height: 56px; - background-position: center center; - background-image: url('../img/taranis-ng-logo.png'); - background-repeat: no-repeat; - background-size: 100%; - width: 227px; -} - -.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; -} - -.navbar-pf .navbar-utility > li > a { - color: black !important; -} \ No newline at end of file diff --git a/src/keycloak/theme/admin/resources/img/cogs.png b/src/keycloak/theme/admin/resources/img/cogs.png deleted file mode 100644 index 1290fe7505e3585aa6a54d539bf196a0f950fe30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26991 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 i{{Q#?`3|hHZRGwbs&z~N diff --git a/src/keycloak/theme/admin/resources/img/favicon.ico b/src/keycloak/theme/admin/resources/img/favicon.ico deleted file mode 100644 index 768fb254237d6dd5c4ea00d0828cae001b91efcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1086 zcma*lO)mpc6vpw>v>{PxCB=$lB56{w@REoGVMEZ04e_!-Bc#&WS@;e%d<-jAV%x26 zQA_(SSn+?xY0WSR)BNV%dwR~DJNJ%RieG-fxCd6sm<^j*33&uiTvsz~R>*z{0|~d+ zn?*wwH8i}{I3YV8QVu3i@qXFI@x;i;^U}0AjNu3YE>J`y`@5?+GT6cy_OXCH9HNdY zMxfkov5)nPUGJ~c&Un9<_7NYr_E=a;KZPD>POY-en3y*oN{|*FYcEpt^Zz9=)^XKR^k3-W-&teAPv3j~UP6zqOq;Yb}GA z^mc>xuQltPwKlCud(p-%v`>m_uO6UyY_GK0#5!~aI*TWC=F=Q^9*>>Tk6N8m6?N#F z(0)y094GkoZG;EyH~!ZeiqN+hK>Ig}Xj)=lInZ}e_I}03iTTl>=Vxipq4TRj<7isg be_JwpM+?oI*)zIVKu`R7;lCC-HEKTrea3XN diff --git a/src/keycloak/theme/admin/resources/img/taranis-ng-logo.png b/src/keycloak/theme/admin/resources/img/taranis-ng-logo.png deleted file mode 100644 index a913576576414ccacb05972232917bf4fbdbc20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7654 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 H-wgjBcc&Z> diff --git a/src/keycloak/theme/admin/theme.properties b/src/keycloak/theme/admin/theme.properties deleted file mode 100644 index 8b66031fb..000000000 --- a/src/keycloak/theme/admin/theme.properties +++ /dev/null @@ -1,6 +0,0 @@ -parent=base -import=common/keycloak - -styles=css/admin_taranis-ng.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 diff --git a/src/keycloak/theme/login/messages/messages_ca.properties b/src/keycloak/theme/login/messages/messages_ca.properties deleted file mode 100644 index 5d133289b..000000000 --- a/src/keycloak/theme/login/messages/messages_ca.properties +++ /dev/null @@ -1,200 +0,0 @@ -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. - diff --git a/src/keycloak/theme/login/messages/messages_de.properties b/src/keycloak/theme/login/messages/messages_de.properties deleted file mode 100644 index a89f638ab..000000000 --- a/src/keycloak/theme/login/messages/messages_de.properties +++ /dev/null @@ -1,265 +0,0 @@ -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=Als {0} anmelden um das Benutzerkonto mit {1} 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. -identityProviderDifferentUserMessage=Als {0} authentifiziert, aber Authentifizierung als {1} erwartet -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 diff --git a/src/keycloak/theme/login/messages/messages_en.properties b/src/keycloak/theme/login/messages/messages_en.properties deleted file mode 100644 index 9ee8674d9..000000000 --- a/src/keycloak/theme/login/messages/messages_en.properties +++ /dev/null @@ -1,336 +0,0 @@ -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 -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 - -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 -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 - -loginTotp.totp=Time-based -loginTotp.hotp=Counter-based - -loginChooseAuthenticator=Select your authentication 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_security-admin-console=Security Admin Console -client_admin-cli=Admin CLI -client_realm-management=Realm Management -client_broker=Broker - -invalidUserMessage=Invalid username or password. -invalidEmailMessage=Invalid email address. -accountDisabledMessage=Account is disabled, contact 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. -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 as {0} to link your account with {1} -confirmLinkIdpReviewProfile=Review profile -confirmLinkIdpContinue=Add to existing account - -configureTotpMessage=You need to set up Mobile Authenticator to activate your account. -updateProfileMessage=You need to update your user profile to activate your account. -updatePasswordMessage=You need to change your password to activate your account. -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. -identityProviderDifferentUserMessage=Authenticated as {0}, but expected to be authenticated as {1} -couldNotSendAuthenticationRequestMessage=Could not send authentication request to identity provider. -unexpectedErrorHandlingRequestMessage=Unexpected error when handling authentication request to identity provider. -invalidAccessCodeMessage=Invalid access code. -sessionNotActiveMessage=Session not active. -invalidCodeMessage=An error occurred, please login again through your application. -identityProviderUnexpectedErrorMessage=Unexpected error when authenticating with identity provider -identityProviderNotFoundMessage=Could not find an identity provider with the identifier. -identityProviderLinkSuccess=You successfully verified your email. Please go back to your original browser and continue there with the login. -staleCodeMessage=This page is no longer valid, please go back to your application and 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_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 -auth-otp-form=OTP -auth-password-form=Password -auth-username-form=Username -auth-username-password-form=Username and password -webauthn-authenticator=WebAuthn -identity-provider-redirector=Connect with another Identity Provider - diff --git a/src/keycloak/theme/login/messages/messages_es.properties b/src/keycloak/theme/login/messages/messages_es.properties deleted file mode 100644 index 94210fd6c..000000000 --- a/src/keycloak/theme/login/messages/messages_es.properties +++ /dev/null @@ -1,200 +0,0 @@ -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 aplicacvi\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 instruciones indicando como 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 renicio 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. - diff --git a/src/keycloak/theme/login/messages/messages_fr.properties b/src/keycloak/theme/login/messages/messages_fr.properties deleted file mode 100644 index d523f4fd8..000000000 --- a/src/keycloak/theme/login/messages/messages_fr.properties +++ /dev/null @@ -1,276 +0,0 @@ -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 en tant que {0} afin de lier votre compte avec {1} -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. -identityProviderDifferentUserMessage=Authentifi\u00e9 en tant que {0}, alors que l''authentification aurait du \u00eatre {1} -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 \ No newline at end of file diff --git a/src/keycloak/theme/login/messages/messages_it.properties b/src/keycloak/theme/login/messages/messages_it.properties deleted file mode 100644 index cbd279ccf..000000000 --- a/src/keycloak/theme/login/messages/messages_it.properties +++ /dev/null @@ -1,214 +0,0 @@ -doLogIn=Accedi -doRegister=Registrati -doCancel=Annulla -doSubmit=Invia -doYes=S\u00ec -doNo=No -doContinue=Continua -doAccept=Accetta -doDecline=Nega -doForgotPassword=Password dimenticata? -doClickHere=Clicca qui -doImpersonate=Impersonate -kerberosNotConfigured=Kerberos non configurato -kerberosNotConfiguredTitle=Kerberos non configurato -bypassKerberosDetail=O 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. -registerWithTitle=Registrati con {0} -registerWithTitleHtml={0} -loginTitle=Accedi a {0} -loginTitleHtml={0} -impersonateTitle={0} Impersonate Utente -impersonateTitleHtml={0} Impersonate 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 riniziato di nuovo. -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} - -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 -street=Via -locality=Citt\u00e0 o Localit\u00e0 -region=Stato, Provincia, o Regione -postal_code=Cap -country=Paese -emailVerified=Email verificata -gssDelegationCredential=Credenziali GSS Delegation - -loginTotpStep1=Installa FreeOTP or Google Authenticator sul tuo dispositivo mobile -loginTotpStep2=Apri l''applicazione e scansione il barcode o scrivi la chiave -loginTotpStep3=Scrivi il codice one-time fornito dall''applicazione e premi Invia per finire il setup -loginOtpOneTime=Codice one-time - -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=Link {0} -emailLinkIdp1=Ti \u00e8 stata inviata una email con le istruzioni per associare {0} l''account {1} con il tuo {2} account. -emailLinkIdp2=Non hai ricevuto un codice di verifica nella tua email? -emailLinkIdp3=Per rinviare la email. - -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: - -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 clients -role_view-events=Visualizza eventi -role_view-identity-providers=Visualizza identity providers -role_manage-realm=Gestisci realm -role_manage-users=Gestisci utenti -role_manage-applications=Gestisci applicazioni -role_manage-identity-providers=Gestisci identity providers -role_manage-clients=Gestisci clients -role_manage-events=Gestisci eventi -role_view-profile=Visualizza profilo -role_manage-account=Gestisci account -role_read-token=Leggi il token -role_offline-access=Accesso offline -client_account=Account -client_security-admin-console=Security Admin Console -client_admin-cli=Admin CLI -client_realm-management=Realm Management -client_broker=Broker - -invalidUserMessage=Username o password non valida. -invalidEmailMessage=Indirizzo email non valido. -accountDisabledMessage=L''account \u00e8 stato disabilitato, contatta l''amministratore. -accountTemporarilyDisabledMessage=L''account \u00e8 stato temporaneamente disabilitato, contatta l''amministratore o riprova pi\u00f9 tardi. -expiredCodeMessage=Login scaduto. Effettua nuovamente l''accesso. - -missingFirstNameMessage=Inserisci nome. -missingLastNameMessage=Inserisci cognome. -missingEmailMessage=Inserisci email. -missingUsernameMessage=Inserisci username. -missingPasswordMessage=Inserisci password. -missingTotpMessage=Inserisci codice di autenticazione. -notMatchPasswordMessage=Le password non coincidono. - -invalidPasswordExistingMessage=Password esistente non valida. -invalidPasswordConfirmMessage=La password di conferma non coincide. -invalidTotpMessage=Codice di autenticazione invalido. - -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 come {0} per associare il tuo account con {1} -confirmLinkIdpReviewProfile=Rivedi profilo -confirmLinkIdpContinue=Aggiungi all''account esistente - -configureTotpMessage=Devi impostare un Mobile Authenticator 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. -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. - -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 dato response_type. Standard flow \u00e8 stato disabilitato per il client. -implicitFlowDisabledMessage=Al Client non \u00e8 consentito di effettuare il login tramite browser con dato 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. -identityProviderAlreadyLinkedMessage=L''identita'' restituita dall''identity provider e'' gia'' associata ad un altro utente. -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. -identityProviderDifferentUserMessage=Autenticato come {0}, ma previsto per essere autenticato come {1} -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=Il tuo account \u00e8 stato associato con successo con {0} l''account {1} . -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. -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? - -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. diff --git a/src/keycloak/theme/login/messages/messages_ja.properties b/src/keycloak/theme/login/messages/messages_ja.properties deleted file mode 100644 index 00eff3751..000000000 --- a/src/keycloak/theme/login/messages/messages_ja.properties +++ /dev/null @@ -1,311 +0,0 @@ -# encoding: utf-8 -doLogIn=ログイン -doRegister=登録 -doCancel=キャンセル -doSubmit=送信 -doYes=はい -doNo=いいえ -doContinue=続ける -doIgnore=無視 -doAccept=承諾 -doDecline=却下 -doForgotPassword=パスワードをお忘れですか? -doClickHere=クリックしてください -doImpersonate=代理ログイン -kerberosNotConfigured=Kerberos は設定されていません -kerberosNotConfiguredTitle=Kerberos は設定されていません -bypassKerberosDetail=Kerberos 経由でログインしていないか、ブラウザーで Kerberos ログインの設定がされていません。他の手段でログインするには 「続ける」 をクリックしてください。 -kerberosNotSetUp=Kerberos が設定されていません。ログインできません。 -registerTitle=登録 -loginTitle={0} にログイン -loginTitleHtml={0} -impersonateTitle={0} ユーザーの代理 -impersonateTitleHtml={0} ユーザーの代理 -realmChoice=レルム -unknownUser=不明なユーザー -loginTotpTitle=モバイル Authenticator セットアップ -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=ロール - -loginTotpIntro=このアカウントにアクセスするには、ワンタイムパスワードジェネレーターを設定する必要があります -loginTotpStep1=次のアプリケーションのいずれかをモバイルにインストールしてください -loginTotpStep2=アプリケーションを開き、バーコードをスキャンしてください -loginTotpStep3=アプリケーションで提供されたワンタイムコードを入力して送信をクリックし、セットアップを完了してください。 -loginTotpManualStep2=アプリケーションを開き、キーを入力してください -loginTotpManualStep3=アプリケーションが設定できる場合は、次の設定値を使用してください -loginTotpUnableToScan=スキャンできませんか? -loginTotpScanBarcode=バーコードをスキャンしますか? -loginOtpOneTime=ワンタイムコード -loginTotpType=タイプ -loginTotpAlgorithm=アルゴリズム -loginTotpDigits=桁 -loginTotpInterval=間隔 -loginTotpCounter=カウンター - -loginTotp.totp=時間ベース -loginTotp.hotp=カウンターベース - - -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_security-admin-console=セキュリティ管理コンソール -client_admin-cli=管理 CLI -client_realm-management=レルム管理 -client_broker=ブローカー - -invalidUserMessage=無効なユーザー名またはパスワードです。 -invalidEmailMessage=無効なメールアドレスです。 -accountDisabledMessage=アカウントは無効です。管理者に連絡してください。 -accountTemporarilyDisabledMessage=アカウントは一時的に無効です。管理者に連絡、またはしばらく時間をおいてから再度お試しください。 -expiredCodeMessage=ログインタイムアウトが発生しました。再度ログインしてください。 -expiredActionMessage=アクションは期限切れです。今すぐログインしてください。 -expiredActionTokenNoSessionMessage=アクションは期限切れです。 -expiredActionTokenSessionExistsMessage=アクションは期限切れです。もう一度やり直してください。 - -missingFirstNameMessage=名を指定してください。 -missingLastNameMessage=姓を指定してください。 -missingEmailMessage=Eメールを指定してください。 -missingUsernameMessage=ユーザー名を指定してください。 -missingPasswordMessage=パスワードを指定してください。 -missingTotpMessage=Authenticator コードを指定してください。 -notMatchPasswordMessage=パスワードが一致していません。 - -invalidPasswordExistingMessage=間違った既存のパスワードです。 -invalidPasswordBlacklistedMessage=無効なパスワード: パスワードがブラックリストに含まれています。 -invalidPasswordConfirmMessage=パスワード確認が一致していません。 -invalidTotpMessage=間違った Authenticator コードです。 - -usernameExistsMessage=既に存在するユーザー名です。 -emailExistsMessage=既に存在するEメールです。 - -federatedIdentityExistsMessage={0} {1} のユーザーは既に存在します。そのアカウントをリンクするにはアカウント管理にログインしてください。 - -confirmLinkIdpTitle=既に存在するアカウントです。 -federatedIdentityConfirmLinkMessage={0} {1} のユーザーは既に存在します。継続しますか? -federatedIdentityConfirmReauthenticateMessage={1} でアカウントをリンクするために {0} として認証します -confirmLinkIdpReviewProfile=プロフィールの確認 -confirmLinkIdpContinue=既存のアカウントに追加する - -configureTotpMessage=アカウントを有効にするにはモバイル Authenticator のセットアップが必要です。 -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 でクライアントはブラウザーログインを開始することが許可されていません。 Standard Flow は無効です。 -implicitFlowDisabledMessage=与えられた response_type でクライアントはブラウザーログインを開始することが許可されていません。 Implicit Flow は無効です。 -invalidRedirectUriMessage=無効なリダイレクト URI です -unsupportedNameIdFormatMessage=サポートされていない NameID Format です -invalidRequesterMessage=無効な要求元です -registrationNotAllowedMessage=登録は許可されていません -resetCredentialNotAllowedMessage=クレデンシャルのリセットは許可されていません - -permissionNotApprovedMessage=アクセス権は承認されていません。 -noRelayStateInResponseMessage=アイデンティティ プロバイダーからの応答に RelayState がありません。 -insufficientPermissionMessage=アイデンティティにリンクするには不十分なアクセス権です。 -couldNotProceedWithAuthenticationRequestMessage=アイデンティティ プロバイダーに認証要求を続行できませんでした。 -couldNotObtainTokenMessage=アイデンティティ プロバイダーからトークンを取得できませんでした。 -unexpectedErrorRetrievingTokenMessage=アイデンティティ プロバイダーからのトークン取得で予期せぬエラーが発生しました。 -unexpectedErrorHandlingResponseMessage=アイデンティティ プロバイダーからの応答を処理する際に予期せぬエラーが発生しました。 -identityProviderAuthenticationFailedMessage=認証に失敗しました。アイデンティティ プロバイダーを使用して認証できませんでした。 -identityProviderDifferentUserMessage={1} として認証されることを期待していましたが、{0} として認証されました -couldNotSendAuthenticationRequestMessage=アイデンティティ プロバイダーに認証要求を送信することができませんでした。 -unexpectedErrorHandlingRequestMessage=アイデンティティ プロバイダーへの認証要求を処理する際に予期せぬエラーが発生しました。 -invalidAccessCodeMessage=無効なアクセスコードです。 -sessionNotActiveMessage=セッションが有効ではありません。 -invalidCodeMessage=エラーが発生しました。アプリケーションを介して再度ログインしてください。 -identityProviderUnexpectedErrorMessage=アイデンティティ プロバイダーによる認証の際に予期せぬエラーが発生しました -identityProviderNotFoundMessage=該当の識別子を持つアイデンティティ プロバイダーが見つかりませんでした。 -identityProviderLinkSuccess=Eメールを正常に確認しました。元のブラウザーに戻ってログインしてください。 -staleCodeMessage=このページはもはや有効ではありませんので、アプリケーションに戻り再度ログインしてください -realmSupportsNoCredentialsMessage=レルムはクレデンシャルタイプをサポートしていません。 -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_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 \ No newline at end of file diff --git a/src/keycloak/theme/login/messages/messages_lt.properties b/src/keycloak/theme/login/messages/messages_lt.properties deleted file mode 100644 index 7091801b6..000000000 --- a/src/keycloak/theme/login/messages/messages_lt.properties +++ /dev/null @@ -1,217 +0,0 @@ -# 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 prie {0} norėdami susieti paskyrą su {1} -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. -identityProviderDifferentUserMessage=Autentifikuota kaip {0}, nors buvo tikimasi {1} -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ę. diff --git a/src/keycloak/theme/login/messages/messages_nl.properties b/src/keycloak/theme/login/messages/messages_nl.properties deleted file mode 100644 index 57e504b3e..000000000 --- a/src/keycloak/theme/login/messages/messages_nl.properties +++ /dev/null @@ -1,295 +0,0 @@ -# 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 als {0} om uw account te koppelen {1} -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. -identityProviderDifferentUserMessage=U bent geauthenticeerd als {0}, maar u werd verwacht als {1} geauthenticeerd te zijn -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=Bevesting dat het account {0} van identity provider {1} overeenkomt met uw account. -confirmEmailAddressVerification=Bevesting 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 diff --git a/src/keycloak/theme/login/messages/messages_no.properties b/src/keycloak/theme/login/messages/messages_no.properties deleted file mode 100644 index 85509bb9a..000000000 --- a/src/keycloak/theme/login/messages/messages_no.properties +++ /dev/null @@ -1,229 +0,0 @@ -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. -identityProviderDifferentUserMessage= Autentisert som {0}, men forventet \u00E5 bli identifisert som {1} -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. diff --git a/src/keycloak/theme/login/messages/messages_pl.properties b/src/keycloak/theme/login/messages/messages_pl.properties deleted file mode 100644 index b30ea6862..000000000 --- a/src/keycloak/theme/login/messages/messages_pl.properties +++ /dev/null @@ -1,312 +0,0 @@ -# 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ę jako {0} aby połączyć swoje konto z {1} -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. -identityProviderDifferentUserMessage=Uwierzytelniony jako {0} a oczekuje się uwierzytelnienia jako {1} -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 diff --git a/src/keycloak/theme/login/messages/messages_pt_BR.properties b/src/keycloak/theme/login/messages/messages_pt_BR.properties deleted file mode 100644 index 9b04a459c..000000000 --- a/src/keycloak/theme/login/messages/messages_pt_BR.properties +++ /dev/null @@ -1,214 +0,0 @@ -doLogIn=Entrar -doRegister=Cadastre-se -doCancel=Cancelar -doSubmit=Ok -doYes=Sim -doNo=N\u00E3o -doContinue=Continue -doAccept=Aceitar -doDecline=Rejeitar -doForgotPassword=Esqueceu sua senha? -doClickHere=Clique aqui -doImpersonate=Personificar -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. -registerWithTitle=Registre-se com {0} -registerWithTitleHtml=Registre-se com {0} -loginTitle=Entrar em {0} -loginTitleHtml=Entrar em {0} -impersonateTitle={0} Impersonate User -impersonateTitleHtml={0} Impersonate User -realmChoice=Realm -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=Acesso tempor\u00E1rio para {0} solicitado pela -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} - -termsTitle=Termos e Condi\u00E7\u00F5es -termsTitleHtml=Termos e Condi\u00E7\u00F5es -termsText=

Termos e Condi\u00E7\u00F5es a ser definido

- -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=gss delega\u00E7\u00E3o credencial - -loginTotpStep1=Instale FreeOTP ou Google Authenticator em seu celular -loginTotpStep2=Abra o aplicativo e escaneie o c\u00F3digo de barras ou digite o c\u00F3digo -loginTotpStep3=Digite o c\u00F3digo fornecido pelo aplicativo e clique em Enviar para concluir a configura\u00E7\u00E3o -loginOtpOneTime=C\u00F3digo autenticador - -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=Voc\u00EA 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. - -backToLogin=« Voltar - -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: - -personalInfo=Informa\u00E7\u00F5es Pessoais: -role_admin=Admininstrador -role_realm-admin=Administra Realm -role_create-realm=Cria realm -role_create-client=Cria cliente -role_view-realm=Visualiza realm -role_view-users=Visualiza usu\u00E1rios -role_view-applications=Visualiza aplicativos -role_view-clients=Visualiza clientes -role_view-events=Visualiza eventos -role_view-identity-providers=Visualiza provedores de identidade -role_manage-realm=Gerencia realm -role_manage-users=Gerencia usu\u00E1rios -role_manage-applications=Gerencia aplicativos -role_manage-identity-providers=Gerencia provedores de identidade -role_manage-clients=Gerencia clientes -role_manage-events=Gerencia eventos -role_view-profile=Visualiza perfil -role_manage-account=Gerencia contas -role_read-token=L\u00EA token -role_offline-access=Acesso offline -client_account=Conta -client_security-admin-console=Console de Administra\u00E7\u00E3o de Seguran\u00E7a -client_admin-cli=Admin CLI -client_realm-management=Gerenciamento de Realm -client_broker=Broker - -invalidUserMessage=Nome de usu\u00E1rio ou 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. - -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. -notMatchPasswordMessage=As senhas n\u00E3o coincidem. - -invalidPasswordExistingMessage=Senha atual inv\u00E1lida. -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 como {0} para vincular sua conta com {1} -confirmLinkIdpReviewProfile=Revisar informa\u00E7\u00F5es do perfil -confirmLinkIdpContinue=Vincular {0} com uma 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. -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 - -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. - -failedToProcessResponseMessage=Falha ao processar a resposta -httpsRequiredMessage=HTTPS requerido -realmNotEnabledMessage=Realm 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 padr\u00E3o 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. -identityProviderDifferentUserMessage=Autenticado como {0}, mas era esperado ser autenticado como {1} -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} . -realmSupportsNoCredentialsMessage=O realm n\u00E3o suporta qualquer tipo de credencial. -identityProviderNotUniqueMessage=O realm 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. - -backToApplication=« Voltar para o aplicativo -missingParameterMessage=Par\u00E2metros que faltam\: {0} -clientNotFoundMessage=Cliente n\u00E3o encontrado. -invalidParameterMessage=Par\u00E2mentro inv\u00E1lido\: {0} -alreadyLoggedIn=You are already logged in. - diff --git a/src/keycloak/theme/login/messages/messages_ru.properties b/src/keycloak/theme/login/messages/messages_ru.properties deleted file mode 100644 index 518efae22..000000000 --- a/src/keycloak/theme/login/messages/messages_ru.properties +++ /dev/null @@ -1,218 +0,0 @@ -# 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} для того, чтобы связать Вашу учетную запись с {1} -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=Аутентификация провалена. Невозможно аутентифицировать с поставщиком учетных записей. -identityProviderDifferentUserMessage=Аутентифицирован как {0}, но ожидается, что будет аутентифицирован как {1} -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=Вы уже вошли. diff --git a/src/keycloak/theme/login/messages/messages_sk.properties b/src/keycloak/theme/login/messages/messages_sk.properties deleted file mode 100644 index b094da498..000000000 --- a/src/keycloak/theme/login/messages/messages_sk.properties +++ /dev/null @@ -1,263 +0,0 @@ -# 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ť ako {0} prepojiť váš účet s {1} -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. -identityProviderDifferentUserMessage=Autentifikovaný ako {0}, ale očakáva sa, že bude autentizovaný ako {1} -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 diff --git a/src/keycloak/theme/login/messages/messages_sv.properties b/src/keycloak/theme/login/messages/messages_sv.properties deleted file mode 100644 index 483d242a7..000000000 --- a/src/keycloak/theme/login/messages/messages_sv.properties +++ /dev/null @@ -1,214 +0,0 @@ -# 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 som {0} för att länka ditt konto med {1} -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. -identityProviderDifferentUserMessage=Autentiserad som {0}, men väntades att vara autentiserad som {1} -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. diff --git a/src/keycloak/theme/login/messages/messages_tr.properties b/src/keycloak/theme/login/messages/messages_tr.properties deleted file mode 100644 index 070ca74f0..000000000 --- a/src/keycloak/theme/login/messages/messages_tr.properties +++ /dev/null @@ -1,314 +0,0 @@ -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. -identityProviderDifferentUserMessage={0} olarak do\u011Fruland\u0131, ancak {1} olarak do\u011Frulanmas\u0131 bekleniyordu -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 diff --git a/src/keycloak/theme/login/messages/messages_zh_CN.properties b/src/keycloak/theme/login/messages/messages_zh_CN.properties deleted file mode 100644 index 745d81508..000000000 --- a/src/keycloak/theme/login/messages/messages_zh_CN.properties +++ /dev/null @@ -1,232 +0,0 @@ -# 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=认证失败,无法通过身份提供者认证 -identityProviderDifferentUserMessage=认证为 {0}, 但期望认证为 {1} -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=您已经登录 diff --git a/src/keycloak/theme/login/resources/css/styles.css b/src/keycloak/theme/login/resources/css/styles.css deleted file mode 100644 index 97dfc2299..000000000 --- a/src/keycloak/theme/login/resources/css/styles.css +++ /dev/null @@ -1,119 +0,0 @@ -::placeholder { - color: #aaa; -} - -.taranis-ng-hide, -#kc-form-login .taranis-ng-login-input label, -#kc-reset-password-form .taranis-ng-login-input label, -.taranis-ng-login-input #input-error, -.taranis-ng-login-input #input-error-username { - display: none; -} - -a { - color: #263b80; -} - -.taranis-ng-body { - font-family: Arial, 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; - font-size: 16px; - margin: 0; - text-align: center; - background-color: #eee; - background-image: url(../img/logo-tng.png); - /*background-size: 80%;*/ - background-repeat: no-repeat; - background-position: center 5%; - background-attachment: fixed; -} - -.taranis-ng-login-input { - display: inline; -} - -.taranis-ng-login-input input { - padding: 7px 16px; - border: 0; - border-radius: 4px; - margin: 11px 2px; - text-align: center; -} - -#kc-form-options #input-error, -#kc-form-options #input-error-username { - display: block !important; -} - -#kc-reset-password-form .taranis-ng-login-input input#username { - width: 256px; -} - -#kc-content { - position: absolute; - background-color: rgb(200,200,200); - width: 100%; - height: 52px; - top: 50%; -} - -img.logo { - width: 600px; - position: absolute; - top: 50%; - transform: translate(-50%, -110%); - left: 50%; -} - -#kc-content-wrapper { - background-color: rgb(199,199,199); - color: white; - height: 23px; - line-height: 1.5; - text-transform: uppercase; -} -#kc-content-wrapper::before { - content: ""; -} - -.taranis-ng-input-error-message { - background-color: rgba(255,0,0,0.2); - color: red; - padding: 0.5em; - border-radius: 4px; - margin-top: 8px; -} - -[class*=alert-] { - background-color: rgba(0,255,0,0.2); - color: green; - padding: 0.5em; - border-radius: 4px; - margin-top: 8px; -} - -#kc-reset-password-form.taranis-ngForm { - padding-top: 0; -} - -.taranis-ng-form-options-wrapper { - margin-top: 1.2em; - font-size: 0.8em; -} - -#kc-form-buttons { - margin-top: 1em; -} - -.taranis-ng-button { - background-color: #263b80; - color: white; - border: 1px solid transparent; - padding: 8px 16px; - border-radius: 4px; -} - -#kc-registration, -#kc-info { - font-size: 0.8em; - color: #263b80; -} diff --git a/src/keycloak/theme/login/resources/img/favicon.ico b/src/keycloak/theme/login/resources/img/favicon.ico deleted file mode 100644 index 768fb254237d6dd5c4ea00d0828cae001b91efcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1086 zcma*lO)mpc6vpw>v>{PxCB=$lB56{w@REoGVMEZ04e_!-Bc#&WS@;e%d<-jAV%x26 zQA_(SSn+?xY0WSR)BNV%dwR~DJNJ%RieG-fxCd6sm<^j*33&uiTvsz~R>*z{0|~d+ zn?*wwH8i}{I3YV8QVu3i@qXFI@x;i;^U}0AjNu3YE>J`y`@5?+GT6cy_OXCH9HNdY zMxfkov5)nPUGJ~c&Un9<_7NYr_E=a;KZPD>POY-en3y*oN{|*FYcEpt^Zz9=)^XKR^k3-W-&teAPv3j~UP6zqOq;Yb}GA z^mc>xuQltPwKlCud(p-%v`>m_uO6UyY_GK0#5!~aI*TWC=F=Q^9*>>Tk6N8m6?N#F z(0)y094GkoZG;EyH~!ZeiqN+hK>Ig}Xj)=lInZ}e_I}03iTTl>=Vxipq4TRj<7isg be_JwpM+?oI*)zIVKu`R7;lCC-HEKTrea3XN diff --git a/src/keycloak/theme/login/resources/img/logo-tng.png b/src/keycloak/theme/login/resources/img/logo-tng.png deleted file mode 100644 index 0046d9812320b7aa4bcf449de28eb20acb56620b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20905 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