From aefa6d94dff82d34fa8358933fb1d5dec3f8246d Mon Sep 17 00:00:00 2001 From: Ibrahim <93064150+IbrahimCSAE@users.noreply.github.com> Date: Tue, 9 Jul 2024 14:33:37 -0400 Subject: [PATCH] feat(auth): Add Authorization Code Flow and new Keycloak recipes with new video tutorials (#4234) Co-authored-by: Alireza --- .gitignore | 2 +- .../Nginx-Dcm4chee-Keycloak/.gitignore | 6 + .../config/entrypoint.sh | 7 + .../Nginx-Dcm4chee-Keycloak/config/nginx.conf | 240 ++ .../config/oauth2-proxy.cfg | 22 + .../config/ohif-keycloak-realm.json | 2315 +++++++++++++++++ .../docker-compose.env} | 0 .../docker-compose.yml | 161 ++ .../Nginx-Dcm4chee-Keycloak/dockerfile | 50 + .../etc/localtime} | 0 .../Nginx-Dcm4chee-Keycloak/etc/timezone | 1 + .../.recipes/Nginx-Dcm4chee/config/nginx.conf | 86 + .../Nginx-Dcm4chee/docker-compose.env | 4 + .../Nginx-Dcm4chee/docker-compose.yml | 96 +- .../app/.recipes/Nginx-Dcm4chee/dockerfile | 43 + .../nginx-proxy/conf/nginx.conf | 49 - .../Nginx-Orthanc-Keycloak/.gitignore | 6 + .../config/certbot/.gitkeep} | 0 .../config/entrypoint.sh | 7 + .../config/letsencrypt/.gitkeep} | 0 .../Nginx-Orthanc-Keycloak/config/nginx.conf | 210 ++ .../config/oauth2-proxy.cfg | 22 + .../config/ohif-keycloak-realm.json | 2315 +++++++++++++++++ .../config/orthanc.json | 0 .../Nginx-Orthanc-Keycloak/docker-compose.yml | 126 + .../Nginx-Orthanc-Keycloak/dockerfile | 57 + platform/app/.recipes/Nginx-Orthanc/README.md | 26 + .../app/.recipes/Nginx-Orthanc/dockerfile | 13 +- .../.recipes/OpenResty-Orthanc-Keycloak/.env | 5 - platform/app/.recipes/OpenResty-Orthanc/.env | 5 - platform/app/.recipes/README.md | 53 - .../config/nginx.conf | 0 .../config/ohif-keycloak-realm.json | 0 .../config/orthanc.json | 0 .../docker-compose.yml | 0 .../OpenResty-Orthanc-Keycloak/dockerfile | 0 .../keycloak-themes/ohif/account}/.githold | 0 .../keycloak-themes/ohif/admin/.githold | 0 .../keycloak-themes/ohif/email/.githold | 0 .../ohif/login/resources/css/styles.css | 0 .../ohif/login/resources/img/background.jpg | Bin .../ohif/login/theme.properties | 0 .../keycloak-themes/ohif/welcome/.githold | 0 .../volumes/orthanc-db/.gitignore | 0 .../OpenResty-Orthanc/config/nginx.conf | 0 .../OpenResty-Orthanc/config/orthanc.json | 89 + .../OpenResty-Orthanc/docker-compose.yml | 0 .../OpenResty-Orthanc/dockerfile | 0 .../volumes/orthanc-db/.gitignore | 0 platform/app/package.json | 7 +- .../docker_openresty-orthanc-keycloak.js | 15 - .../docker_openresty-orthanc.js | 0 .../config/docker-nginx-dcm4chee-keycloak.js | 35 + .../public/config/docker-nginx-dcm4chee.js | 35 + .../config/docker-nginx-orthanc-keycloak.js | 52 + ...inx-orthanc.js => docker-nginx-orthanc.js} | 4 +- platform/app/src/App.tsx | 2 +- platform/app/src/routes/CallbackPage.tsx | 12 +- platform/app/src/routes/PrivateRoute.tsx | 1 - platform/app/src/routes/buildModeRoutes.tsx | 2 +- platform/app/src/routes/index.tsx | 10 +- .../app/src/utils/OpenIdConnectRoutes.tsx | 19 +- ...IdConnectClient.js => legacyOIDCClient.ts} | 0 platform/app/src/utils/nextOIDCClient.ts | 39 + .../docs/assets/img/customizable-overlay.jpeg | Bin 0 -> 247877 bytes .../docs/assets/img/customizable-overlay.png | Bin 1086983 -> 0 bytes .../docs/docs/assets/img/dcm4chee-upload.gif | Bin 0 -> 3479230 bytes .../docs/docs/assets/img/demo-microscopy.png | Bin 1936140 -> 0 bytes .../docs/docs/assets/img/large-pt-ct.jpeg | Bin 0 -> 203375 bytes platform/docs/docs/assets/img/large-pt-ct.png | Bin 703818 -> 0 bytes .../docs/assets/img/nginx-image-archive.png | Bin 27211 -> 222169 bytes .../docs/assets/img/ohif-pacs-keycloak.png | Bin 0 -> 122661 bytes .../configuration/dataSources/dicom-web.md | 4 +- .../docs/docs/deployment/authorization.md | 70 +- .../deployment/google-cloud-healthcare.md | 2 +- .../docs/deployment/nginx--image-archive.md | 147 +- .../docs/deployment/user-account-control.md | 496 +++- platform/docs/docs/faq/technical.md | 2 +- .../services/ui/customization-service.md | 2 +- .../configuring/data-source.md | 4 +- yarn.lock | 12 + 81 files changed, 6521 insertions(+), 467 deletions(-) create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/.gitignore create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/entrypoint.sh create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/nginx.conf create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/oauth2-proxy.cfg create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/ohif-keycloak-realm.json rename platform/app/.recipes/{Nginx-Dcm4chee/docker-compose-dcm4che.env => Nginx-Dcm4chee-Keycloak/docker-compose.env} (100%) create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/docker-compose.yml create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/dockerfile rename platform/app/.recipes/{OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/account/.githold => Nginx-Dcm4chee-Keycloak/etc/localtime} (100%) create mode 100644 platform/app/.recipes/Nginx-Dcm4chee-Keycloak/etc/timezone create mode 100644 platform/app/.recipes/Nginx-Dcm4chee/config/nginx.conf create mode 100644 platform/app/.recipes/Nginx-Dcm4chee/docker-compose.env create mode 100644 platform/app/.recipes/Nginx-Dcm4chee/dockerfile delete mode 100644 platform/app/.recipes/Nginx-Dcm4chee/nginx-proxy/conf/nginx.conf create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/.gitignore rename platform/app/.recipes/{OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/admin/.githold => Nginx-Orthanc-Keycloak/config/certbot/.gitkeep} (100%) create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/config/entrypoint.sh rename platform/app/.recipes/{OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/email/.githold => Nginx-Orthanc-Keycloak/config/letsencrypt/.gitkeep} (100%) create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/config/nginx.conf create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/config/oauth2-proxy.cfg create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/config/ohif-keycloak-realm.json rename platform/app/.recipes/{OpenResty-Orthanc-Keycloak => Nginx-Orthanc-Keycloak}/config/orthanc.json (100%) create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/docker-compose.yml create mode 100644 platform/app/.recipes/Nginx-Orthanc-Keycloak/dockerfile create mode 100644 platform/app/.recipes/Nginx-Orthanc/README.md delete mode 100644 platform/app/.recipes/OpenResty-Orthanc-Keycloak/.env delete mode 100644 platform/app/.recipes/OpenResty-Orthanc/.env delete mode 100644 platform/app/.recipes/README.md rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/config/nginx.conf (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json (100%) rename platform/app/.recipes/{OpenResty-Orthanc => deprecated-recipes/OpenResty-Orthanc-Keycloak}/config/orthanc.json (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/docker-compose.yml (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/dockerfile (100%) rename platform/app/.recipes/{OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/welcome => deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/account}/.githold (100%) create mode 100644 platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/admin/.githold create mode 100644 platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/email/.githold rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/img/background.jpg (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/theme.properties (100%) create mode 100644 platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/welcome/.githold rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc-Keycloak/volumes/orthanc-db/.gitignore (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc/config/nginx.conf (100%) create mode 100644 platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/config/orthanc.json rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc/docker-compose.yml (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc/dockerfile (100%) rename platform/app/.recipes/{ => deprecated-recipes}/OpenResty-Orthanc/volumes/orthanc-db/.gitignore (100%) rename platform/app/public/config/{ => deprecated}/docker_openresty-orthanc-keycloak.js (69%) rename platform/app/public/config/{ => deprecated}/docker_openresty-orthanc.js (100%) create mode 100644 platform/app/public/config/docker-nginx-dcm4chee-keycloak.js create mode 100644 platform/app/public/config/docker-nginx-dcm4chee.js create mode 100644 platform/app/public/config/docker-nginx-orthanc-keycloak.js rename platform/app/public/config/{docker_nginx-orthanc.js => docker-nginx-orthanc.js} (95%) rename platform/app/src/utils/{getUserManagerForOpenIdConnectClient.js => legacyOIDCClient.ts} (100%) create mode 100644 platform/app/src/utils/nextOIDCClient.ts create mode 100644 platform/docs/docs/assets/img/customizable-overlay.jpeg delete mode 100644 platform/docs/docs/assets/img/customizable-overlay.png create mode 100644 platform/docs/docs/assets/img/dcm4chee-upload.gif delete mode 100644 platform/docs/docs/assets/img/demo-microscopy.png create mode 100644 platform/docs/docs/assets/img/large-pt-ct.jpeg delete mode 100644 platform/docs/docs/assets/img/large-pt-ct.png create mode 100644 platform/docs/docs/assets/img/ohif-pacs-keycloak.png diff --git a/.gitignore b/.gitignore index 983b6ebadba..af800d7ed51 100644 --- a/.gitignore +++ b/.gitignore @@ -43,7 +43,7 @@ videos/ # autogenerated files platform/app/src/pluginImports.js /Viewers.iml -platform/app/.recipes/Nginx-Dcm4Che/dcm4che/dcm4che-arc/* +platform/app/.recipes/Nginx-Dcm4Chee/logs/* platform/app/.recipes/OpenResty-Orthanc/logs/* .vercel diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/.gitignore b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/.gitignore new file mode 100644 index 00000000000..088f9a97f7f --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/.gitignore @@ -0,0 +1,6 @@ +logs/* +volumes/* +config/letsencrypt/* +config/certbot/* +!config/letsencrypt/.gitkeep +!config/certbot/.gitkeep diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/entrypoint.sh b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/entrypoint.sh new file mode 100644 index 00000000000..8648d7c7ca3 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# Start oauth2-proxy +oauth2-proxy --config=/etc/oauth2-proxy/oauth2-proxy.cfg & + +# Start nginx +nginx -g "daemon off;" diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/nginx.conf b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/nginx.conf new file mode 100644 index 00000000000..30b0089c451 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/nginx.conf @@ -0,0 +1,240 @@ +worker_processes auto; +error_log /var/logs/nginx/error.log debug; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; + use epoll; + multi_accept on; +} + +http { + include '/etc/nginx/mime.types'; + default_type application/octet-stream; + + keepalive_timeout 65; + keepalive_requests 100000; + tcp_nopush on; + tcp_nodelay on; + + proxy_buffers 16 16k; + proxy_buffer_size 32k; + proxy_busy_buffers_size 64k; + proxy_max_temp_file_size 128k; + + + gzip on; + gzip_disable "msie6"; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml; + + server { + listen 80; + server_name YOUR_DOMAIN; + + client_max_body_size 0; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + return 301 https://$host$request_uri; + } + } + + server { + listen 443 ssl; + server_name YOUR_DOMAIN; + ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem; + root /var/www/html; + + gzip on; + gzip_types text/css application/javascript application/json image/svg+xml; + gzip_comp_level 9; + etag on; + + location /sw.js { + add_header Cache-Control "no-cache"; + proxy_cache_bypass $http_pragma; + proxy_cache_revalidate on; + expires off; + access_log off; + } + + + location /oauth2 { + expires -1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Auth-Request-Redirect $request_uri; + proxy_pass http://localhost:4180$uri$is_args$args; + } + + location /oauth2/callback { + proxy_pass http://localhost:4180; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /oauth2/sign_out { + expires -1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Auth-Request-Redirect /oauth2/sign_in; + proxy_pass http://localhost:4180; + } + + + location /pacs/ { + auth_request /oauth2/auth; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + expires 0; + add_header Cache-Control private; + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept' always; + + if ($request_method = OPTIONS) { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + + rewrite ^/pacs/(.*) /dcm4chee-arc/aets/DCM4CHEE/rs/$1 break; + proxy_pass http://arc:8080; + } + + location /pacs-admin { + return 301 /pacs-admin/; + } + + # Redirect /pacs-admin to /dcm4chee-arc/ui2/ + location = /pacs-admin { + return 301 $scheme://$host/dcm4chee-arc/ui2/; + } + + # Handle /pacs-admin/ requests + location /pacs-admin/ { + return 301 $scheme://$host/dcm4chee-arc/ui2/; + } + + # Proxy pass for /dcm4chee-arc/ui2/ + location /dcm4chee-arc/ui2/ { + error_page 401 = /oauth2/sign_in?rd=$scheme://$host$request_uri; + auth_request /oauth2/auth?allowed_groups=pacsadmin; + + auth_request_set $user $upstream_http_x_auth_request_user; + auth_request_set $token $upstream_http_x_auth_request_access_token; + auth_request_set $auth_cookie $upstream_http_set_cookie; + + proxy_set_header X-User $user; + proxy_set_header X-Access-Token $token; + add_header Set-Cookie $auth_cookie; + + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + expires 0; + add_header Cache-Control private; + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept' always; + + if ($request_method = OPTIONS) { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + + proxy_pass http://arc:8080; + } + + # Proxy pass for other /dcm4chee-arc/ requests + location /dcm4chee-arc/ { + proxy_pass http://arc:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + + location /pacs { + return 301 /pacs/; + } + + + location /ohif-viewer/ { + expires -1; + error_page 401 = /oauth2/sign_in?rd=$scheme://$host$request_uri; + auth_request /oauth2/auth; + + auth_request_set $user $upstream_http_x_auth_request_user; + auth_request_set $token $upstream_http_x_auth_request_access_token; + auth_request_set $auth_cookie $upstream_http_set_cookie; + + proxy_set_header X-User $user; + proxy_set_header X-Access-Token $token; + add_header Set-Cookie $auth_cookie; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Proto $scheme; + + index index.html; + try_files $uri $uri/ /index.html; + } + + + location /ohif-viewer { + return 301 /ohif-viewer/; + } + + location = / { + return 301 /ohif-viewer/; + } + + location / { + add_header Cache-Control "no-store, no-cache, must-revalidate"; + add_header 'Cross-Origin-Opener-Policy' 'same-origin' always; + add_header 'Cross-Origin-Embedder-Policy' 'require-corp' always; + } + + location /keycloak/ { + proxy_pass http://keycloak:8080/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /keycloak { + return 301 /keycloak/; + } + } +} diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/oauth2-proxy.cfg b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/oauth2-proxy.cfg new file mode 100644 index 00000000000..985525af912 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/oauth2-proxy.cfg @@ -0,0 +1,22 @@ +http_address="0.0.0.0:4180" +cookie_secret="GENERATEACOOKIESECRET----------------------=" +email_domains=["*"] +cookie_secure="false" +cookie_expire="9m30s" +cookie_refresh="5m" +client_secret="2Xtlde7aozdkzzYHdIxQNfPDr0wNPTgg" +client_id="ohif_viewer" +redirect_url="http://YOUR_DOMAIN/oauth2/callback" + +ssl_insecure_skip_verify = true +insecure_oidc_allow_unverified_email = true +pass_access_token = true +provider="keycloak-oidc" +provider_display_name="Keycloak" +user_id_claim="oid" +oidc_email_claim="sub" +scope="openid" +pass_host_header=true +code_challenge_method="S256" +oidc_issuer_url="http://YOUR_DOMAIN/keycloak/realms/ohif" +insecure_oidc_skip_issuer_verification = true diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/ohif-keycloak-realm.json b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/ohif-keycloak-realm.json new file mode 100644 index 00000000000..3064ee70e42 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/ohif-keycloak-realm.json @@ -0,0 +1,2315 @@ +{ + "id": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "realm": "ohif", + "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": "none", + "registrationAllowed": false, + "registrationEmailAsUsername": false, + "rememberMe": false, + "verifyEmail": false, + "loginWithEmailAllowed": true, + "duplicateEmailsAllowed": false, + "resetPasswordAllowed": false, + "editUsernameAllowed": false, + "bruteForceProtected": false, + "permanentLockout": false, + "maxTemporaryLockouts": 0, + "maxFailureWaitSeconds": 900, + "minimumQuickLoginWaitSeconds": 60, + "waitIncrementSeconds": 60, + "quickLoginCheckMilliSeconds": 1000, + "maxDeltaTimeSeconds": 43200, + "failureFactor": 30, + "roles": { + "realm": [ + { + "id": "b886fa27-974b-446f-adaa-a2c96342ce05", + "name": "uma_authorization", + "description": "${role_uma_authorization}", + "composite": false, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "attributes": {} + }, + { + "id": "d8bba2d8-ac65-46cb-a1b3-bbee4850333f", + "name": "offline_access", + "description": "${role_offline-access}", + "composite": false, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "attributes": {} + }, + { + "id": "4d80d451-18c2-4982-b2b7-f43aad1b54aa", + "name": "default-roles-ohif", + "description": "${role_default-roles}", + "composite": true, + "composites": { + "realm": [ + "offline_access", + "uma_authorization" + ], + "client": { + "account": [ + "manage-account", + "view-profile" + ] + } + }, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "attributes": {} + } + ], + "client": { + "realm-management": [ + { + "id": "0c749b40-bda4-463a-b1c2-edd014606c8c", + "name": "manage-identity-providers", + "description": "${role_manage-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "70605217-ff53-4895-8686-2f87bb81cecd", + "name": "view-realm", + "description": "${role_view-realm}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "1482af22-41e6-4850-b5a3-3d479edd334b", + "name": "view-users", + "description": "${role_view-users}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-users", + "query-groups" + ] + } + }, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "7b2b0fcd-3539-4322-bd12-379398ff9c63", + "name": "query-groups", + "description": "${role_query-groups}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "f5856ab0-17fe-49bb-8e04-27d1f37c53c7", + "name": "manage-realm", + "description": "${role_manage-realm}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "5cd89fbb-7860-4505-90b8-ad99b28a7ce2", + "name": "manage-users", + "description": "${role_manage-users}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "c53a6ea6-9c79-485f-9402-b2607df09f53", + "name": "view-authorization", + "description": "${role_view-authorization}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "696a4591-d966-446c-a1f6-9a8a8de41f41", + "name": "query-clients", + "description": "${role_query-clients}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "3b0c1a20-0692-4594-973f-bd7c0d42631b", + "name": "manage-authorization", + "description": "${role_manage-authorization}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "3279ff3a-ae5c-4d59-99a3-3b2791391745", + "name": "query-realms", + "description": "${role_query-realms}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "56767ac1-1098-41c9-8b94-b9efe47fa17a", + "name": "create-client", + "description": "${role_create-client}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "e231ed30-1c79-4786-80dc-c16d87866b03", + "name": "query-users", + "description": "${role_query-users}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "388304d0-befe-4498-99cd-c9821dfe5ff6", + "name": "realm-admin", + "description": "${role_realm-admin}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "manage-identity-providers", + "view-realm", + "view-users", + "query-groups", + "manage-realm", + "manage-users", + "view-authorization", + "query-clients", + "manage-authorization", + "query-realms", + "create-client", + "query-users", + "view-events", + "view-identity-providers", + "manage-clients", + "manage-events", + "view-clients", + "impersonation" + ] + } + }, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "901b8b02-4525-4ed9-b6c5-ee822a874236", + "name": "view-events", + "description": "${role_view-events}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "d9c612fa-421a-4463-8837-4bcc059649ea", + "name": "manage-clients", + "description": "${role_manage-clients}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "efbd010a-67a1-472c-b308-a91723ebe819", + "name": "manage-events", + "description": "${role_manage-events}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "60cbee1d-9fa4-47ee-8f86-f71ae22482c1", + "name": "view-identity-providers", + "description": "${role_view-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "84219236-4eaa-4ea7-a94c-52d6f8e1bb79", + "name": "view-clients", + "description": "${role_view-clients}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-clients" + ] + } + }, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "d46f77b0-ed82-4580-994f-8a6a8fc22480", + "name": "impersonation", + "description": "${role_impersonation}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + } + ], + "security-admin-console": [], + "ohif_viewer": [], + "admin-cli": [], + "account-console": [], + "broker": [ + { + "id": "3e2b2c4a-416e-463d-8907-b919d17a4592", + "name": "read-token", + "description": "${role_read-token}", + "composite": false, + "clientRole": true, + "containerId": "8d52074d-c27d-4917-8280-a33bcae47f59", + "attributes": {} + } + ], + "account": [ + { + "id": "1bd17278-c076-41df-9559-7f3524d5cd5e", + "name": "manage-account", + "description": "${role_manage-account}", + "composite": true, + "composites": { + "client": { + "account": [ + "manage-account-links" + ] + } + }, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "302c47ca-5e53-4cbe-9670-4e10a281d2bf", + "name": "view-applications", + "description": "${role_view-applications}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "a6bd8131-df31-4922-b7da-7011d7e967db", + "name": "view-profile", + "description": "${role_view-profile}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "eed205fe-b606-4562-8b65-503e3d4d7d89", + "name": "manage-account-links", + "description": "${role_manage-account-links}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "ea20e235-92da-4409-9a82-2dc4244bc342", + "name": "view-groups", + "description": "${role_view-groups}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "ccca6524-fbc9-4712-a703-f4311b94e757", + "name": "manage-consent", + "description": "${role_manage-consent}", + "composite": true, + "composites": { + "client": { + "account": [ + "view-consent" + ] + } + }, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "1b2fa98f-7ff0-4bf6-974c-c3e8b36d8dc3", + "name": "delete-account", + "description": "${role_delete-account}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "dc213956-175c-4ef1-99e8-0033818761f4", + "name": "view-consent", + "description": "${role_view-consent}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + } + ] + } + }, + "groups": [ + { + "id": "3249b4f1-6572-4b59-a206-7e707d1e45f6", + "name": "pacsadmin", + "path": "/pacsadmin", + "subGroups": [], + "attributes": {}, + "realmRoles": [], + "clientRoles": {} + } + ], + "defaultRole": { + "id": "4d80d451-18c2-4982-b2b7-f43aad1b54aa", + "name": "default-roles-ohif", + "description": "${role_default-roles}", + "composite": true, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d" + }, + "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": [], + "scopeMappings": [ + { + "clientScope": "offline_access", + "roles": [ + "offline_access" + ] + } + ], + "clientScopeMappings": { + "account": [ + { + "client": "account-console", + "roles": [ + "manage-account", + "view-groups" + ] + } + ] + }, + "clients": [ + { + "id": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "clientId": "account", + "name": "${client_account}", + "description": "", + "rootUrl": "${authAdminUrl}", + "adminUrl": "", + "baseUrl": "/realms/ohif/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/realms/ohif/account/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "oidc.ciba.grant.enabled": "false", + "backchannel.logout.session.required": "true", + "post.logout.redirect.uris": "+", + "display.on.consent.screen": "false", + "oauth2.device.authorization.grant.enabled": "false", + "backchannel.logout.revoke.offline.tokens": "false" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "5c719a4e-2eed-4b9a-9536-edafb7763e6e", + "clientId": "account-console", + "name": "${client_account-console}", + "description": "", + "rootUrl": "${authAdminUrl}", + "adminUrl": "", + "baseUrl": "/realms/ohif/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/realms/ohif/account/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "oidc.ciba.grant.enabled": "false", + "backchannel.logout.session.required": "true", + "post.logout.redirect.uris": "+", + "display.on.consent.screen": "false", + "oauth2.device.authorization.grant.enabled": "false", + "pkce.code.challenge.method": "S256", + "backchannel.logout.revoke.offline.tokens": "false" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "protocolMappers": [ + { + "id": "2a172f00-5ae2-400a-8aba-0c8f267844a3", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": {} + } + ], + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "5f86b71b-9a75-465a-9007-9cadd861a1c5", + "clientId": "admin-cli", + "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": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": {}, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "8d52074d-c27d-4917-8280-a33bcae47f59", + "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", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "ceddadb2-f4b6-4a1d-a0c8-efdd95fd2e9a", + "clientId": "ohif_viewer", + "name": "", + "description": "", + "rootUrl": "http://127.0.0.1", + "adminUrl": "http://127.0.0.1", + "baseUrl": "http://127.0.0.1", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "secret": "2Xtlde7aozdkzzYHdIxQNfPDr0wNPTgg", + "redirectUris": [ + "http://127.0.0.1/oauth2/callback" + ], + "webOrigins": [ + "http://127.0.0.1" + ], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": false, + "frontchannelLogout": true, + "protocol": "openid-connect", + "attributes": { + "oidc.ciba.grant.enabled": "false", + "client.secret.creation.time": "1718045868", + "backchannel.logout.session.required": "true", + "display.on.consent.screen": "false", + "oauth2.device.authorization.grant.enabled": "false", + "backchannel.logout.revoke.offline.tokens": "false" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": true, + "nodeReRegistrationTimeout": -1, + "protocolMappers": [ + { + "id": "b405129c-ed1b-4c4e-b712-1f736be6440b", + "name": "Audience", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-mapper", + "consentRequired": false, + "config": { + "included.client.audience": "ohif_viewer", + "id.token.claim": "true", + "lightweight.claim": "false", + "access.token.claim": "true", + "introspection.token.claim": "true" + } + } + ], + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "groups", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "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", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "ace68c1f-eae4-4d93-ab98-0005a071177d", + "clientId": "security-admin-console", + "name": "${client_security-admin-console}", + "rootUrl": "${authAdminUrl}", + "baseUrl": "/admin/ohif/console/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/admin/ohif/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": "fdee0223-2998-486a-b591-ae6712ae7831", + "name": "locale", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "locale", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "locale", + "jsonType.label": "String" + } + } + ], + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + } + ], + "clientScopes": [ + { + "id": "73b70709-cb2f-4d06-86af-0b04425970ee", + "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": "0c8df10b-097f-4b13-85b8-3ec3b4d3ef03", + "name": "email", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "email", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email", + "jsonType.label": "String" + } + }, + { + "id": "6cff88ad-73ed-4699-86f9-c7ac5e473a53", + "name": "email verified", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "emailVerified", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email_verified", + "jsonType.label": "boolean" + } + } + ] + }, + { + "id": "4098872d-e896-4042-a715-be23f0a1437c", + "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": "06ba9538-581f-4c0b-a7ca-b56eaa8c1e59", + "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": "d992a9b9-ec09-49fd-b052-65942ff5ba58", + "name": "updated at", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "updatedAt", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "updated_at", + "jsonType.label": "long" + } + }, + { + "id": "9b2089a4-ce6f-4dcb-abd8-67844a8e17b5", + "name": "profile", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "profile", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "profile", + "jsonType.label": "String" + } + }, + { + "id": "0e37cc54-2ff9-4976-9f66-f6f949652d40", + "name": "full name", + "protocol": "openid-connect", + "protocolMapper": "oidc-full-name-mapper", + "consentRequired": false, + "config": { + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true", + "userinfo.token.claim": "true" + } + }, + { + "id": "f2d87384-cc84-4d8a-bef7-379491ba1430", + "name": "gender", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "gender", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "gender", + "jsonType.label": "String" + } + }, + { + "id": "03c9b60a-32a9-4bd2-9173-ee7048f8face", + "name": "picture", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "picture", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "picture", + "jsonType.label": "String" + } + }, + { + "id": "6db8e846-d71d-4573-89be-cc249c93c4fd", + "name": "birthdate", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "birthdate", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "birthdate", + "jsonType.label": "String" + } + }, + { + "id": "aacde81e-9462-446f-abf9-25bb83d3c442", + "name": "website", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "website", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "website", + "jsonType.label": "String" + } + }, + { + "id": "44dc5e2c-de20-4e46-94ed-e5fbecee8021", + "name": "zoneinfo", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "zoneinfo", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "zoneinfo", + "jsonType.label": "String" + } + }, + { + "id": "74ab1492-ecbb-4a52-a5dd-820d7bc1dec5", + "name": "locale", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "locale", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "locale", + "jsonType.label": "String" + } + }, + { + "id": "69aab70e-94d5-45f0-ab8f-14c973492636", + "name": "family name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "lastName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "family_name", + "jsonType.label": "String" + } + }, + { + "id": "611957f1-cdfe-43b9-acc6-d2d37b5b6908", + "name": "nickname", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "nickname", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "nickname", + "jsonType.label": "String" + } + }, + { + "id": "90e9af6c-7a44-4b8b-bdea-020ccd7cf79b", + "name": "given name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "firstName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "given_name", + "jsonType.label": "String" + } + }, + { + "id": "d1ceeaef-bebc-4be6-b5b7-85e361b91ce5", + "name": "middle name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "middleName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "middle_name", + "jsonType.label": "String" + } + }, + { + "id": "d74b3e90-c391-4fea-806d-98b24e598ade", + "name": "username", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "preferred_username", + "jsonType.label": "String" + } + } + ] + }, + { + "id": "077a40b6-ae18-440a-9858-57cb93483f4d", + "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": "f7a704cc-7466-41b4-ada4-3efe4dceb599", + "name": "allowed web origins", + "protocol": "openid-connect", + "protocolMapper": "oidc-allowed-origins-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "access.token.claim": "true" + } + } + ] + }, + { + "id": "16085075-08fa-4fe8-aa9e-c429b26df40e", + "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": "1cb74178-9ba0-4225-8ede-a263f0cf0f9d", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "access.token.claim": "true" + } + }, + { + "id": "020299f1-b469-41fb-b80d-5cea4ceb4e7d", + "name": "realm roles", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-realm-role-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "multivalued": "true", + "user.attribute": "foo", + "access.token.claim": "true", + "claim.name": "realm_access.roles", + "jsonType.label": "String" + } + }, + { + "id": "6759edaf-7d37-44b0-ad7b-50a3383e9cd9", + "name": "client roles", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-client-role-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "multivalued": "true", + "userinfo.token.claim": "false", + "user.attribute": "foo", + "lightweight.claim": "false", + "id.token.claim": "false", + "access.token.claim": "true", + "claim.name": "resource_access.${client_id}. roles", + "jsonType.label": "String" + } + } + ] + }, + { + "id": "905660b4-380a-4a8c-81a9-bd16b3b3ce3f", + "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": "4e2f2bd8-602f-4ae1-a431-fa92bdedd386", + "name": "upn", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "upn", + "jsonType.label": "String" + } + }, + { + "id": "f1e69dc4-f19e-4c21-bbf9-609016339710", + "name": "groups", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-realm-role-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "multivalued": "true", + "user.attribute": "foo", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "groups", + "jsonType.label": "String" + } + } + ] + }, + { + "id": "24748647-8a70-422e-8532-f8d231a006db", + "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": "fd884f9e-e345-4823-b463-beb39020ca23", + "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": "db5c28fd-e142-40e1-926c-017d0d58c04a", + "name": "groups", + "description": "", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "false", + "display.on.consent.screen": "true", + "gui.order": "", + "consent.screen.text": "" + }, + "protocolMappers": [ + { + "id": "1f5afdb5-1de2-40c7-8526-d1ad0585720b", + "name": "groups", + "protocol": "openid-connect", + "protocolMapper": "oidc-group-membership-mapper", + "consentRequired": false, + "config": { + "full.path": "false", + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "multivalued": "true", + "id.token.claim": "true", + "lightweight.claim": "false", + "access.token.claim": "true", + "claim.name": "groups" + } + } + ] + }, + { + "id": "c1678c18-641f-4eeb-af7e-c5327adee009", + "name": "role_list", + "description": "SAML role list", + "protocol": "saml", + "attributes": { + "consent.screen.text": "${samlRoleListScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "bec886da-1100-4af1-a83f-b322a23e9856", + "name": "role list", + "protocol": "saml", + "protocolMapper": "saml-role-list-mapper", + "consentRequired": false, + "config": { + "single": "false", + "attribute.nameformat": "Basic", + "attribute.name": "Role" + } + } + ] + }, + { + "id": "ead6084e-d9f1-4388-80c6-aead5b3ddfff", + "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": "3a4ceb4e-e597-49e4-8d0c-d41a46a2ab38", + "name": "address", + "protocol": "openid-connect", + "protocolMapper": "oidc-address-mapper", + "consentRequired": false, + "config": { + "user.attribute.formatted": "formatted", + "user.attribute.country": "country", + "introspection.token.claim": "true", + "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": "df3a89a6-3ed7-45ad-97e1-598b93a643e7", + "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": "9bbff1aa-ee20-4c33-b40f-d0076a2fe305", + "name": "phone number", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "phoneNumber", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "phone_number", + "jsonType.label": "String" + } + }, + { + "id": "726d1ea0-ee59-49fe-bd01-416b06276ae9", + "name": "phone number verified", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "phoneNumberVerified", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "phone_number_verified", + "jsonType.label": "boolean" + } + } + ] + } + ], + "defaultDefaultClientScopes": [ + "role_list", + "profile", + "email", + "roles", + "web-origins", + "acr" + ], + "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": false, + "eventsListeners": [ + "jboss-logging" + ], + "enabledEventTypes": [], + "adminEventsEnabled": false, + "adminEventsDetailsEnabled": false, + "identityProviders": [], + "identityProviderMappers": [], + "components": { + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ + { + "id": "e037fff2-9457-47c7-81c7-762fbe02d23c", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "cbd25133-ce87-483c-b2e3-a3c2947b23e9", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "saml-user-attribute-mapper", + "oidc-usermodel-property-mapper", + "oidc-usermodel-attribute-mapper", + "oidc-address-mapper", + "oidc-sha256-pairwise-sub-mapper", + "saml-role-list-mapper", + "saml-user-property-mapper", + "oidc-full-name-mapper" + ] + } + }, + { + "id": "2fa7da7b-1138-44f9-8236-7e31f5f72695", + "name": "Consent Required", + "providerId": "consent-required", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "d2e6c9ff-9c36-40cc-bc12-0055d5ea61c3", + "name": "Trusted Hosts", + "providerId": "trusted-hosts", + "subType": "anonymous", + "subComponents": {}, + "config": { + "host-sending-registration-request-must-match": [ + "true" + ], + "client-uris-must-match": [ + "true" + ] + } + }, + { + "id": "269704c3-de60-4233-a845-6efd83408eb0", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "saml-role-list-mapper", + "oidc-usermodel-attribute-mapper", + "oidc-full-name-mapper", + "oidc-sha256-pairwise-sub-mapper", + "oidc-usermodel-property-mapper", + "saml-user-attribute-mapper", + "saml-user-property-mapper", + "oidc-address-mapper" + ] + } + }, + { + "id": "28cb7c8a-2fd1-4a3d-8ab8-17e4e83c2648", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "3a77be15-e696-49aa-9dac-64a79d8e443f", + "name": "Full Scope Disabled", + "providerId": "scope", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "f662e962-d5bd-4bbe-bc43-bddc7f4faf57", + "name": "Max Clients Limit", + "providerId": "max-clients", + "subType": "anonymous", + "subComponents": {}, + "config": { + "max-clients": [ + "200" + ] + } + } + ], + "org.keycloak.keys.KeyProvider": [ + { + "id": "5a307075-97e6-4c78-8e05-10e21c097d53", + "name": "aes-generated", + "providerId": "aes-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "78a25e8e-b46c-44c2-8fd4-4b09529890e7", + "name": "rsa-generated", + "providerId": "rsa-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "bf0f6364-43f0-4b1c-bde2-7646ceb56a63", + "name": "hmac-generated-hs512", + "providerId": "hmac-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "HS512" + ] + } + }, + { + "id": "28485c9c-96bc-49c7-a9a2-8941c9067f7d", + "name": "rsa-enc-generated", + "providerId": "rsa-enc-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "RSA-OAEP" + ] + } + } + ] + }, + "internationalizationEnabled": false, + "supportedLocales": [], + "authenticationFlows": [ + { + "id": "bbb2d80e-a134-4933-afe9-7cb655d70791", + "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 + } + ] + }, + { + "id": "651f23c0-4ef1-4762-b186-fc2b985ead9d", + "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 + } + ] + }, + { + "id": "e8dd531a-b8b7-4416-984f-9226cfcc8800", + "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 + } + ] + }, + { + "id": "e4fc59c9-1048-45b5-9069-57d578d0f125", + "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": "12ea6433-d1b6-4094-b3e2-1ef356b91d92", + "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": "5d6c3ca7-3581-4200-b592-9c714129044f", + "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": "b7712f6e-fbe8-4f15-936d-939e28efd279", + "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": "61a450b5-3007-4e98-a7b2-dba743ea54a7", + "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": "d7566b94-731b-4e84-a2de-a1c8130af38b", + "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": "399c5ce6-4308-4524-89bc-4dee1afd6cbb", + "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": "c8e80f39-d8d7-4fa5-8944-33fcdd366721", + "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": "79251c55-7de3-457e-99e3-92395f2b69a7", + "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": "60a12c1d-d4ce-40c1-a83f-faba71145f0c", + "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": "e36da2db-a596-4680-a5ca-16c4e5a1a9c1", + "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": "2b1b59ff-5417-48cd-8d7a-2ab5ecfedc9f", + "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": "3e4f2042-a809-490c-a1a6-9bb63b4b0e4a", + "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 + }, + { + "authenticator": "registration-terms-and-conditions", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 70, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + }, + { + "id": "0b59d69a-95b0-4c82-bd21-908c019a4974", + "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": "accf37f2-1a52-40b0-a92f-f5a931c57126", + "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": "4eaad8bb-f86b-483d-99a4-4cba184ef573", + "alias": "create unique user config", + "config": { + "require.password.update.after.registration": "false" + } + }, + { + "id": "eb0a326f-17e0-49b7-b25c-575b0cd3888f", + "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": "webauthn-register", + "name": "Webauthn Register", + "providerId": "webauthn-register", + "enabled": true, + "defaultAction": false, + "priority": 70, + "config": {} + }, + { + "alias": "webauthn-register-passwordless", + "name": "Webauthn Register Passwordless", + "providerId": "webauthn-register-passwordless", + "enabled": true, + "defaultAction": false, + "priority": 80, + "config": {} + }, + { + "alias": "VERIFY_PROFILE", + "name": "Verify Profile", + "providerId": "VERIFY_PROFILE", + "enabled": true, + "defaultAction": false, + "priority": 90, + "config": {} + }, + { + "alias": "delete_credential", + "name": "Delete Credential", + "providerId": "delete_credential", + "enabled": true, + "defaultAction": false, + "priority": 100, + "config": {} + }, + { + "alias": "update_user_locale", + "name": "Update User Locale", + "providerId": "update_user_locale", + "enabled": true, + "defaultAction": false, + "priority": 1000, + "config": {} + } + ], + "browserFlow": "browser", + "registrationFlow": "registration", + "directGrantFlow": "direct grant", + "resetCredentialsFlow": "reset credentials", + "clientAuthenticationFlow": "clients", + "dockerAuthenticationFlow": "docker auth", + "firstBrokerLoginFlow": "first broker login", + "attributes": { + "cibaBackchannelTokenDeliveryMode": "poll", + "cibaExpiresIn": "120", + "cibaAuthRequestedUserHint": "login_hint", + "oauth2DeviceCodeLifespan": "600", + "oauth2DevicePollingInterval": "5", + "parRequestUriLifespan": "60", + "cibaInterval": "5", + "realmReusableOtpCode": "false" + }, + "keycloakVersion": "24.0.5", + "userManagedAccessAllowed": false, + "clientProfiles": { + "profiles": [] + }, + "clientPolicies": { + "policies": [] + }, + "users": [ + { + "username": "viewer", + "enabled": true, + "emailVerified": true, + "firstName": "viewer", + "lastName": "viewer", + "email": "viewer@mail.com", + "credentials": [ + { + "type": "password", + "value": "viewer" + } + ] + }, + { + "username": "pacsadmin", + "enabled": true, + "emailVerified": true, + "firstName": "pacsadmin", + "lastName": "pacsadmin", + "email": "pacsadmin@mail.com", + "credentials": [ + { + "type": "password", + "value": "pacsadmin" + } + ], + "groups": ["pacsadmin"] + } + ] +} diff --git a/platform/app/.recipes/Nginx-Dcm4chee/docker-compose-dcm4che.env b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/docker-compose.env similarity index 100% rename from platform/app/.recipes/Nginx-Dcm4chee/docker-compose-dcm4che.env rename to platform/app/.recipes/Nginx-Dcm4chee-Keycloak/docker-compose.env diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/docker-compose.yml b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/docker-compose.yml new file mode 100644 index 00000000000..1c3aa0ec2e5 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/docker-compose.yml @@ -0,0 +1,161 @@ +version: '3.8' + +services: + ldap: + image: dcm4che/slapd-dcm4chee:2.6.3-29.0 + logging: + driver: json-file + options: + max-size: "10m" + ports: + - "389:389" + env_file: docker-compose.env + volumes: + - ~/dcm4chee-arc/ldap:/var/lib/ldap + - ~/dcm4chee-arc/slapd.d:/etc/ldap/slapd.d + + db: + image: dcm4che/postgres-dcm4chee:14.5-29 + logging: + driver: json-file + options: + max-size: "10m" + ports: + - "5432:5432" + env_file: docker-compose.env + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ~/dcm4chee-arc/db:/var/lib/postgresql/data + + arc: + image: dcm4che/dcm4chee-arc-psql:5.29.0 + logging: + driver: json-file + options: + max-size: "10m" + ports: + - "8080:8080" + - "8443:8443" + - "9990:9990" + - "9993:9993" + - "11112:11112" + - "2762:2762" + - "2575:2575" + - "12575:12575" + env_file: docker-compose.env + environment: + WILDFLY_CHOWN: /opt/wildfly/standalone /storage + WILDFLY_WAIT_FOR: ldap:389 db:5432 + depends_on: + - ldap + - db + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ~/dcm4chee-arc/wildfly:/opt/wildfly/standalone + - ~/dcm4chee-arc/storage:/storage + + ohif_viewer: + build: + context: ./../../../../ + dockerfile: ./platform/app/.recipes/Nginx-Dcm4chee-Keycloak/dockerfile + image: webapp:latest + container_name: webapp + ports: + - '443:443' # SSL + - '80:80' # Web + depends_on: + keycloak: + condition: service_healthy + restart: on-failure + networks: + - default + extra_hosts: + - 'host.docker.internal:host-gateway' + environment: + - OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true + volumes: + - ./config/nginx.conf:/etc/nginx/nginx.conf + - ./config/oauth2-proxy.cfg:/etc/oauth2-proxy/oauth2-proxy.cfg + - ./config/letsencrypt:/etc/letsencrypt + - ./config/certbot:/var/www/certbot + + keycloak: + image: quay.io/keycloak/keycloak:24.0.5 + command: 'start-dev --import-realm' + hostname: keycloak + container_name: keycloak + volumes: + - ./config/ohif-keycloak-realm.json:/opt/keycloak/data/import/ohif-keycloak-realm.json + environment: + KC_DB_URL_HOST: postgres + KC_DB: postgres + KC_DB_URL: 'jdbc:postgresql://postgres:5432/keycloak' + KC_DB_SCHEMA: public + KC_DB_USERNAME: keycloak + KC_DB_PASSWORD: password + KC_HOSTNAME_ADMIN_URL: http://YOUR_DOMAIN/keycloak/ + KC_HOSTNAME_URL: http://YOUR_DOMAIN/keycloak/ + KC_HOSTNAME_STRICT_BACKCHANNEL: true + KC_HOSTNAME_STRICT_HTTPS: false + KC_HTTP_ENABLED: true + KEYCLOAK_ADMIN: admin + KEYCLOAK_ADMIN_PASSWORD: admin + KC_HEALTH_ENABLED: true + KC_METRICS_ENABLED: true + KC_PROXY: edge + KC_PROXY_HEADERS: xforwarded + KEYCLOAK_JDBC_PARAMS: connectTimeout=40000 + KC_LOG_LEVEL: INFO + KC_HOSTNAME_DEBUG: true + PROXY_ADDRESS_FORWARDING: true + ports: + - 8081:8080 + depends_on: + - postgres + restart: unless-stopped + networks: + - default + extra_hosts: + - 'host.docker.internal:host-gateway' + healthcheck: + test: + [ + "CMD-SHELL", + "exec 3<>/dev/tcp/YOUR_DOMAIN/8080;echo -e \"GET /health/ready HTTP/1.1\r\nhost: http://localhost\r\nConnection: close\r\n\r\n\" >&3;grep \"HTTP/1.1 200 OK\" <&3" + ] + interval: 1s + timeout: 5s + retries: 10 + start_period: 60s + + postgres: + image: postgres:15 + hostname: postgres + container_name: postgres + volumes: + - postgres_data:/var/lib/postgresql/data + environment: + POSTGRES_DB: keycloak + POSTGRES_USER: keycloak + POSTGRES_PASSWORD: password + restart: unless-stopped + networks: + - default + + certbot: + image: certbot/certbot + container_name: certbot + volumes: + - ./config/letsencrypt:/etc/letsencrypt + - ./config/certbot:/var/www/certbot + entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;" + +volumes: + postgres_data: + driver: local + +networks: + default: + driver: bridge diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/dockerfile b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/dockerfile new file mode 100644 index 00000000000..bf610e8bd0b --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/dockerfile @@ -0,0 +1,50 @@ +# Stage 1: Build the application +FROM node:18.16.1-slim as builder + +# Setup the working directory +RUN mkdir /usr/src/app +WORKDIR /usr/src/app + +# Install dependencies +RUN apt-get update && apt-get install -y build-essential python3 + +# Copy the entire project +COPY ./ /usr/src/app/ + +# Install node dependencies +RUN yarn config set workspaces-experimental true +RUN yarn install + +# Set the environment for the build +ENV APP_CONFIG=config/docker-nginx-dcm4chee-keycloak.js + +# Build the application +RUN yarn run build + +# Stage 2: Setup the NGINX environment with OAuth2 Proxy +FROM nginx:alpine + +# Install dependencies for oauth2-proxy +RUN apk add --no-cache curl + +# Create necessary directories +RUN mkdir -p /var/logs/nginx /var/www/html /etc/oauth2-proxy + +# Download and install oauth2-proxy +RUN curl -L https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.4.0/oauth2-proxy-v7.4.0.linux-amd64.tar.gz -o oauth2-proxy.tar.gz && \ + tar -xvzf oauth2-proxy.tar.gz && \ + mv oauth2-proxy-v7.4.0.linux-amd64/oauth2-proxy /usr/local/bin/ && \ + rm -rf oauth2-proxy-v7.4.0.linux-amd64 oauth2-proxy.tar.gz + +# Copy the built application +COPY --from=builder /usr/src/app/platform/app/dist /var/www/html + +# Copy the entrypoint script +COPY ./platform/app/.recipes/Nginx-Dcm4chee-Keycloak/config/entrypoint.sh /entrypoint.sh + +# Expose necessary ports +EXPOSE 80 443 4180 + +# Set the entrypoint script as the entrypoint +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/account/.githold b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/etc/localtime similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/account/.githold rename to platform/app/.recipes/Nginx-Dcm4chee-Keycloak/etc/localtime diff --git a/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/etc/timezone b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/etc/timezone new file mode 100644 index 00000000000..27f725e7757 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee-Keycloak/etc/timezone @@ -0,0 +1 @@ +America/New_York \ No newline at end of file diff --git a/platform/app/.recipes/Nginx-Dcm4chee/config/nginx.conf b/platform/app/.recipes/Nginx-Dcm4chee/config/nginx.conf new file mode 100644 index 00000000000..8d9ca8f5495 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee/config/nginx.conf @@ -0,0 +1,86 @@ +worker_processes auto; +error_log /var/logs/nginx/error.log debug; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; + use epoll; + multi_accept on; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/logs/nginx/access.log main; + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + + gzip on; + gzip_disable "msie6"; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml; + + server { + listen 80 default_server; + listen [::]:80 default_server; + server_name _; + + client_max_body_size 0; + + + # Handle /pacs requests and rewrite them to the correct dcm4chee-arc UI path + # This allows accessing the dcm4chee-arc UI through the /pacs URL + location /pacs { + rewrite ^/pacs(.*)$ /dcm4chee-arc/ui2$1 break; + proxy_pass http://arc:8080; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_buffering off; + proxy_request_buffering off; + expires 0; + add_header Cache-Control private; + } + + # Proxy all dcm4chee-arc requests + # This block handles all API requests and general dcm4chee-arc paths + location /dcm4chee-arc/ { + proxy_pass http://arc:8080/dcm4chee-arc/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_buffering off; + proxy_request_buffering off; + } + + + location /sw.js { + add_header Cache-Control "no-cache"; + proxy_cache_bypass $http_pragma; + proxy_cache_revalidate on; + expires off; + access_log off; + } + + location / { + root /var/www/html; + index index.html; + try_files $uri $uri/ /index.html; + add_header Cache-Control "no-store, no-cache, must-revalidate"; + add_header Cross-Origin-Opener-Policy 'same-origin' always; + add_header Cross-Origin-Embedder-Policy 'require-corp' always; + } + } +} diff --git a/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.env b/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.env new file mode 100644 index 00000000000..54961c37601 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.env @@ -0,0 +1,4 @@ +STORAGE_DIR=/storage/fs1 +POSTGRES_DB=pacsdb +POSTGRES_USER=pacs +POSTGRES_PASSWORD=pacs diff --git a/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.yml b/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.yml index 40b6d8efe8a..88aad58daa4 100644 --- a/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.yml +++ b/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.yml @@ -1,50 +1,45 @@ -version: '3.5' - services: ldap: - image: dcm4che/slapd-dcm4chee:2.4.44-15.0 + image: dcm4che/slapd-dcm4chee:2.6.3-29.0 logging: driver: json-file options: - max-size: '10m' + max-size: "10m" ports: - - '389:389' - env_file: ./dcm4che/docker-compose-dcm4che.env + - "389:389" + env_file: docker-compose.env volumes: - - ./dcm4che/etc/localtime:/etc/localtime:ro - - ./dcm4che/etc/timezone:/etc/timezone:ro - - ./dcm4che/dcm4che-arc/ldap:/var/lib/ldap - - ./dcm4che/dcm4che-arc/slapd.d:/etc/ldap/slapd.d - networks: - - dcm4che_default + - ~/dcm4chee-arc/ldap:/var/lib/ldap + - ~/dcm4chee-arc/slapd.d:/etc/ldap/slapd.d db: - image: dcm4che/postgres-dcm4chee:11.1-15 + image: dcm4che/postgres-dcm4chee:14.5-29 logging: driver: json-file options: - max-size: '10m' + max-size: "10m" ports: - - '5432:5432' - env_file: ./dcm4che/docker-compose-dcm4che.env + - "5432:5432" + env_file: docker-compose.env volumes: - - ./dcm4che/etc/localtime:/etc/localtime:ro - - ./dcm4che/etc/timezone:/etc/timezone:ro - - ./dcm4che/dcm4che-arc/db:/var/lib/postgresql/data - networks: - - dcm4che_default + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ~/dcm4chee-arc/db:/var/lib/postgresql/data arc: - image: dcm4che/dcm4chee-arc-psql:5.15.0 + image: dcm4che/dcm4chee-arc-psql:5.29.0 logging: driver: json-file options: - max-size: '10m' + max-size: "10m" ports: - - '8080:8080' - - '8443:8443' - - '9990:9990' - - '11112:11112' - - '2575:2575' - env_file: ./dcm4che/docker-compose-dcm4che.env + - "8080:8080" + - "8443:8443" + - "9990:9990" + - "9993:9993" + - "11112:11112" + - "2762:2762" + - "2575:2575" + - "12575:12575" + env_file: docker-compose.env environment: WILDFLY_CHOWN: /opt/wildfly/standalone /storage WILDFLY_WAIT_FOR: ldap:389 db:5432 @@ -52,26 +47,27 @@ services: - ldap - db volumes: - - ./dcm4che/etc/localtime:/etc/localtime:ro - - ./dcm4che/etc/timezone:/etc/timezone:ro - - ./dcm4che/dcm4che-arc/wildfly:/opt/wildfly/standalone - - ./dcm4che/dcm4che-arc/storage:/storage - networks: - - dcm4che_default - viewer: - container_name: ohif-viewer + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ~/dcm4chee-arc/wildfly:/opt/wildfly/standalone + - ~/dcm4chee-arc/storage:/storage + ohif_viewer: build: - context: ../ - dockerfile: Dockerfile + # Project root + context: ./../../../../ + # Relative to context + dockerfile: ./platform/app/.recipes/Nginx-Dcm4chee/dockerfile + image: webapp:latest + container_name: ohif_dcm4chee + volumes: + # Nginx config + - ./config/nginx.conf:/etc/nginx/nginx.conf + # Logs + - ./logs/nginx:/var/logs/nginx + # Let's Encrypt + # - letsencrypt_certificates:/etc/letsencrypt + # - letsencrypt_challenges:/var/www/letsencrypt ports: - - '80:80' - # depends_on: - # - orthanc - environment: - - NODE_ENV=production - - APP_CONFIG=config/local_dcm4chee - restart: always - networks: - - dcm4che_default - -networks: dcm4che_default: + - '443:443' # SSL + - '80:80' # Web + restart: on-failure diff --git a/platform/app/.recipes/Nginx-Dcm4chee/dockerfile b/platform/app/.recipes/Nginx-Dcm4chee/dockerfile new file mode 100644 index 00000000000..d28e9605603 --- /dev/null +++ b/platform/app/.recipes/Nginx-Dcm4chee/dockerfile @@ -0,0 +1,43 @@ +# Stage 1: Build the application +FROM node:18.16.1-slim as builder + +# Setup the working directory +RUN mkdir /usr/src/app +WORKDIR /usr/src/app + +# Install dependencies +# apt-get update is combined with apt-get install to avoid using outdated packages +RUN apt-get update && apt-get install -y build-essential python3 + +# Copy package.json and other dependency-related files first +# Assuming your package.json and yarn.lock or similar are located in the project root + +COPY ./ /usr/src/app/ + +# Install node dependencies +RUN yarn config set workspaces-experimental true +RUN yarn install + +# Copy the rest of the application code + +# set QUICK_BUILD to true to make the build faster for dev +ENV APP_CONFIG=config/docker-nginx-dcm4chee.js + +# Build the application +RUN yarn run build + +# # Stage 2: Bundle the built application into a Docker container which runs NGINX using Alpine Linux +FROM nginx:alpine + +# # Create directories for logs and html content if they don't already exist +RUN mkdir -p /var/log/nginx /var/www/html + + +# # Copy build output to serve static files +COPY --from=builder /usr/src/app/platform/app/dist /var/www/html + +# # Expose HTTP and HTTPS ports +EXPOSE 80 443 + +# # Start NGINX +CMD ["nginx", "-g", "daemon off;"] diff --git a/platform/app/.recipes/Nginx-Dcm4chee/nginx-proxy/conf/nginx.conf b/platform/app/.recipes/Nginx-Dcm4chee/nginx-proxy/conf/nginx.conf deleted file mode 100644 index de38c7f0069..00000000000 --- a/platform/app/.recipes/Nginx-Dcm4chee/nginx-proxy/conf/nginx.conf +++ /dev/null @@ -1,49 +0,0 @@ -events { - worker_connections 4096; ## Default: 1024 -} - -http { - server { - listen 80 default_server; - server_name localhost; - - # - # Wide-open CORS config for nginx - # - location / { - if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; - # - # Custom headers and headers various browsers *should* be OK with but aren't - # - add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; - # - # Tell client that this pre-flight info is valid for 20 days - # - add_header 'Access-Control-Allow-Headers' 'Authorization'; - add_header 'Access-Control-Allow-Credentials' true; - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Length' 0; - return 204; - } - if ($request_method = 'POST') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; - add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; - add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; - } - if ($request_method = 'GET') { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; - add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; - add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; - add_header 'Access-Control-Allow-Headers' 'Authorization'; - add_header 'Access-Control-Allow-Credentials' true; - } - - proxy_pass http://orthanc:8042; - } - - } -} \ No newline at end of file diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/.gitignore b/platform/app/.recipes/Nginx-Orthanc-Keycloak/.gitignore new file mode 100644 index 00000000000..088f9a97f7f --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/.gitignore @@ -0,0 +1,6 @@ +logs/* +volumes/* +config/letsencrypt/* +config/certbot/* +!config/letsencrypt/.gitkeep +!config/certbot/.gitkeep diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/admin/.githold b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/certbot/.gitkeep similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/admin/.githold rename to platform/app/.recipes/Nginx-Orthanc-Keycloak/config/certbot/.gitkeep diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/entrypoint.sh b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/entrypoint.sh new file mode 100644 index 00000000000..8648d7c7ca3 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# Start oauth2-proxy +oauth2-proxy --config=/etc/oauth2-proxy/oauth2-proxy.cfg & + +# Start nginx +nginx -g "daemon off;" diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/email/.githold b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/letsencrypt/.gitkeep similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/email/.githold rename to platform/app/.recipes/Nginx-Orthanc-Keycloak/config/letsencrypt/.gitkeep diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/nginx.conf b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/nginx.conf new file mode 100644 index 00000000000..1ad9f512dc4 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/nginx.conf @@ -0,0 +1,210 @@ +worker_processes 2; +error_log /var/logs/nginx/mydomain.error.log; +pid /var/run/nginx.pid; +include /usr/share/nginx/modules/*.conf; + +events { + worker_connections 1024; + use epoll; + multi_accept on; +} + +http { + include '/etc/nginx/mime.types'; + default_type application/octet-stream; + + keepalive_timeout 65; + keepalive_requests 100000; + tcp_nopush on; + tcp_nodelay on; + + proxy_buffers 16 16k; + proxy_buffer_size 32k; + proxy_busy_buffers_size 64k; + proxy_max_temp_file_size 128k; + + server { + listen 80; + server_name YOUR_DOMAIN; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + return 301 https://$host$request_uri; + } + } + + server { + listen 443 ssl; + server_name YOUR_DOMAIN; + + ssl_certificate /etc/letsencrypt/live/ohifviewer.duckdns.org/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/ohifviewer.duckdns.org/privkey.pem; + + root /var/www/html; + + gzip on; + gzip_types text/css application/javascript application/json image/svg+xml; + gzip_comp_level 9; + etag on; + + location /sw.js { + add_header Cache-Control "no-cache"; + proxy_cache_bypass $http_pragma; + proxy_cache_revalidate on; + expires off; + access_log off; + } + + location /oauth2 { + expires -1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Auth-Request-Redirect $request_uri; + proxy_pass http://localhost:4180$uri$is_args$args; + } + + location /oauth2/callback { + proxy_pass http://localhost:4180; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /oauth2/sign_out { + expires -1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Auth-Request-Redirect /oauth2/sign_in; + proxy_pass http://localhost:4180; + } + + location /pacs-admin/ { + error_page 401 = /oauth2/sign_in?rd=$scheme://$host$request_uri; + auth_request /oauth2/auth?allowed_groups=pacsadmin; + + auth_request_set $user $upstream_http_x_auth_request_user; + auth_request_set $token $upstream_http_x_auth_request_access_token; + auth_request_set $auth_cookie $upstream_http_set_cookie; + + proxy_set_header X-User $user; + proxy_set_header X-Access-Token $token; + add_header Set-Cookie $auth_cookie; + + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + expires 0; + add_header Cache-Control private; + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept' always; + + if ($request_method = OPTIONS) { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + + proxy_pass http://orthanc:8042/; + } + + location /pacs-admin { + return 301 /pacs-admin/; + } + + location /pacs/ { + auth_request /oauth2/auth; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + expires 0; + add_header Cache-Control private; + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept' always; + + if ($request_method = OPTIONS) { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'Authorization, Origin, X-Requested-With, Content-Type, Accept'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + + proxy_pass http://orthanc:8042/dicom-web/; + } + + location /pacs { + return 301 /pacs/; + } + + location /ohif-viewer/ { + expires -1; + error_page 401 = /oauth2/sign_in?rd=$scheme://$host$request_uri; + auth_request /oauth2/auth; + + auth_request_set $user $upstream_http_x_auth_request_user; + auth_request_set $token $upstream_http_x_auth_request_access_token; + auth_request_set $auth_cookie $upstream_http_set_cookie; + + proxy_set_header X-User $user; + proxy_set_header X-Access-Token $token; + add_header Set-Cookie $auth_cookie; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Proto $scheme; + + index index.html; + try_files $uri $uri/ /index.html; + } + + location /ohif-viewer { + return 301 /ohif-viewer/; + } + + location = / { + return 301 /ohif-viewer/; + } + + location / { + add_header Cache-Control "no-store, no-cache, must-revalidate"; + add_header 'Cross-Origin-Opener-Policy' 'same-origin' always; + add_header 'Cross-Origin-Embedder-Policy' 'require-corp' always; + } + + location /keycloak/ { + proxy_pass http://keycloak:8080/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /keycloak { + return 301 /keycloak/; + } + } +} diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/oauth2-proxy.cfg b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/oauth2-proxy.cfg new file mode 100644 index 00000000000..985525af912 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/oauth2-proxy.cfg @@ -0,0 +1,22 @@ +http_address="0.0.0.0:4180" +cookie_secret="GENERATEACOOKIESECRET----------------------=" +email_domains=["*"] +cookie_secure="false" +cookie_expire="9m30s" +cookie_refresh="5m" +client_secret="2Xtlde7aozdkzzYHdIxQNfPDr0wNPTgg" +client_id="ohif_viewer" +redirect_url="http://YOUR_DOMAIN/oauth2/callback" + +ssl_insecure_skip_verify = true +insecure_oidc_allow_unverified_email = true +pass_access_token = true +provider="keycloak-oidc" +provider_display_name="Keycloak" +user_id_claim="oid" +oidc_email_claim="sub" +scope="openid" +pass_host_header=true +code_challenge_method="S256" +oidc_issuer_url="http://YOUR_DOMAIN/keycloak/realms/ohif" +insecure_oidc_skip_issuer_verification = true diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/ohif-keycloak-realm.json b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/ohif-keycloak-realm.json new file mode 100644 index 00000000000..3064ee70e42 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/ohif-keycloak-realm.json @@ -0,0 +1,2315 @@ +{ + "id": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "realm": "ohif", + "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": "none", + "registrationAllowed": false, + "registrationEmailAsUsername": false, + "rememberMe": false, + "verifyEmail": false, + "loginWithEmailAllowed": true, + "duplicateEmailsAllowed": false, + "resetPasswordAllowed": false, + "editUsernameAllowed": false, + "bruteForceProtected": false, + "permanentLockout": false, + "maxTemporaryLockouts": 0, + "maxFailureWaitSeconds": 900, + "minimumQuickLoginWaitSeconds": 60, + "waitIncrementSeconds": 60, + "quickLoginCheckMilliSeconds": 1000, + "maxDeltaTimeSeconds": 43200, + "failureFactor": 30, + "roles": { + "realm": [ + { + "id": "b886fa27-974b-446f-adaa-a2c96342ce05", + "name": "uma_authorization", + "description": "${role_uma_authorization}", + "composite": false, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "attributes": {} + }, + { + "id": "d8bba2d8-ac65-46cb-a1b3-bbee4850333f", + "name": "offline_access", + "description": "${role_offline-access}", + "composite": false, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "attributes": {} + }, + { + "id": "4d80d451-18c2-4982-b2b7-f43aad1b54aa", + "name": "default-roles-ohif", + "description": "${role_default-roles}", + "composite": true, + "composites": { + "realm": [ + "offline_access", + "uma_authorization" + ], + "client": { + "account": [ + "manage-account", + "view-profile" + ] + } + }, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d", + "attributes": {} + } + ], + "client": { + "realm-management": [ + { + "id": "0c749b40-bda4-463a-b1c2-edd014606c8c", + "name": "manage-identity-providers", + "description": "${role_manage-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "70605217-ff53-4895-8686-2f87bb81cecd", + "name": "view-realm", + "description": "${role_view-realm}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "1482af22-41e6-4850-b5a3-3d479edd334b", + "name": "view-users", + "description": "${role_view-users}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-users", + "query-groups" + ] + } + }, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "7b2b0fcd-3539-4322-bd12-379398ff9c63", + "name": "query-groups", + "description": "${role_query-groups}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "f5856ab0-17fe-49bb-8e04-27d1f37c53c7", + "name": "manage-realm", + "description": "${role_manage-realm}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "5cd89fbb-7860-4505-90b8-ad99b28a7ce2", + "name": "manage-users", + "description": "${role_manage-users}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "c53a6ea6-9c79-485f-9402-b2607df09f53", + "name": "view-authorization", + "description": "${role_view-authorization}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "696a4591-d966-446c-a1f6-9a8a8de41f41", + "name": "query-clients", + "description": "${role_query-clients}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "3b0c1a20-0692-4594-973f-bd7c0d42631b", + "name": "manage-authorization", + "description": "${role_manage-authorization}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "3279ff3a-ae5c-4d59-99a3-3b2791391745", + "name": "query-realms", + "description": "${role_query-realms}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "56767ac1-1098-41c9-8b94-b9efe47fa17a", + "name": "create-client", + "description": "${role_create-client}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "e231ed30-1c79-4786-80dc-c16d87866b03", + "name": "query-users", + "description": "${role_query-users}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "388304d0-befe-4498-99cd-c9821dfe5ff6", + "name": "realm-admin", + "description": "${role_realm-admin}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "manage-identity-providers", + "view-realm", + "view-users", + "query-groups", + "manage-realm", + "manage-users", + "view-authorization", + "query-clients", + "manage-authorization", + "query-realms", + "create-client", + "query-users", + "view-events", + "view-identity-providers", + "manage-clients", + "manage-events", + "view-clients", + "impersonation" + ] + } + }, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "901b8b02-4525-4ed9-b6c5-ee822a874236", + "name": "view-events", + "description": "${role_view-events}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "d9c612fa-421a-4463-8837-4bcc059649ea", + "name": "manage-clients", + "description": "${role_manage-clients}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "efbd010a-67a1-472c-b308-a91723ebe819", + "name": "manage-events", + "description": "${role_manage-events}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "60cbee1d-9fa4-47ee-8f86-f71ae22482c1", + "name": "view-identity-providers", + "description": "${role_view-identity-providers}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "84219236-4eaa-4ea7-a94c-52d6f8e1bb79", + "name": "view-clients", + "description": "${role_view-clients}", + "composite": true, + "composites": { + "client": { + "realm-management": [ + "query-clients" + ] + } + }, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + }, + { + "id": "d46f77b0-ed82-4580-994f-8a6a8fc22480", + "name": "impersonation", + "description": "${role_impersonation}", + "composite": false, + "clientRole": true, + "containerId": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "attributes": {} + } + ], + "security-admin-console": [], + "ohif_viewer": [], + "admin-cli": [], + "account-console": [], + "broker": [ + { + "id": "3e2b2c4a-416e-463d-8907-b919d17a4592", + "name": "read-token", + "description": "${role_read-token}", + "composite": false, + "clientRole": true, + "containerId": "8d52074d-c27d-4917-8280-a33bcae47f59", + "attributes": {} + } + ], + "account": [ + { + "id": "1bd17278-c076-41df-9559-7f3524d5cd5e", + "name": "manage-account", + "description": "${role_manage-account}", + "composite": true, + "composites": { + "client": { + "account": [ + "manage-account-links" + ] + } + }, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "302c47ca-5e53-4cbe-9670-4e10a281d2bf", + "name": "view-applications", + "description": "${role_view-applications}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "a6bd8131-df31-4922-b7da-7011d7e967db", + "name": "view-profile", + "description": "${role_view-profile}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "eed205fe-b606-4562-8b65-503e3d4d7d89", + "name": "manage-account-links", + "description": "${role_manage-account-links}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "ea20e235-92da-4409-9a82-2dc4244bc342", + "name": "view-groups", + "description": "${role_view-groups}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "ccca6524-fbc9-4712-a703-f4311b94e757", + "name": "manage-consent", + "description": "${role_manage-consent}", + "composite": true, + "composites": { + "client": { + "account": [ + "view-consent" + ] + } + }, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "1b2fa98f-7ff0-4bf6-974c-c3e8b36d8dc3", + "name": "delete-account", + "description": "${role_delete-account}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + }, + { + "id": "dc213956-175c-4ef1-99e8-0033818761f4", + "name": "view-consent", + "description": "${role_view-consent}", + "composite": false, + "clientRole": true, + "containerId": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "attributes": {} + } + ] + } + }, + "groups": [ + { + "id": "3249b4f1-6572-4b59-a206-7e707d1e45f6", + "name": "pacsadmin", + "path": "/pacsadmin", + "subGroups": [], + "attributes": {}, + "realmRoles": [], + "clientRoles": {} + } + ], + "defaultRole": { + "id": "4d80d451-18c2-4982-b2b7-f43aad1b54aa", + "name": "default-roles-ohif", + "description": "${role_default-roles}", + "composite": true, + "clientRole": false, + "containerId": "37c16268-9c83-41c3-b452-3fbc86e6966d" + }, + "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": [], + "scopeMappings": [ + { + "clientScope": "offline_access", + "roles": [ + "offline_access" + ] + } + ], + "clientScopeMappings": { + "account": [ + { + "client": "account-console", + "roles": [ + "manage-account", + "view-groups" + ] + } + ] + }, + "clients": [ + { + "id": "50a0e32a-f503-497b-b3c3-ff127cc56a56", + "clientId": "account", + "name": "${client_account}", + "description": "", + "rootUrl": "${authAdminUrl}", + "adminUrl": "", + "baseUrl": "/realms/ohif/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/realms/ohif/account/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "oidc.ciba.grant.enabled": "false", + "backchannel.logout.session.required": "true", + "post.logout.redirect.uris": "+", + "display.on.consent.screen": "false", + "oauth2.device.authorization.grant.enabled": "false", + "backchannel.logout.revoke.offline.tokens": "false" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "5c719a4e-2eed-4b9a-9536-edafb7763e6e", + "clientId": "account-console", + "name": "${client_account-console}", + "description": "", + "rootUrl": "${authAdminUrl}", + "adminUrl": "", + "baseUrl": "/realms/ohif/account/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/realms/ohif/account/*" + ], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "oidc.ciba.grant.enabled": "false", + "backchannel.logout.session.required": "true", + "post.logout.redirect.uris": "+", + "display.on.consent.screen": "false", + "oauth2.device.authorization.grant.enabled": "false", + "pkce.code.challenge.method": "S256", + "backchannel.logout.revoke.offline.tokens": "false" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "protocolMappers": [ + { + "id": "2a172f00-5ae2-400a-8aba-0c8f267844a3", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": {} + } + ], + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "5f86b71b-9a75-465a-9007-9cadd861a1c5", + "clientId": "admin-cli", + "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": false, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": {}, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": false, + "nodeReRegistrationTimeout": 0, + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "8d52074d-c27d-4917-8280-a33bcae47f59", + "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", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "ceddadb2-f4b6-4a1d-a0c8-efdd95fd2e9a", + "clientId": "ohif_viewer", + "name": "", + "description": "", + "rootUrl": "http://127.0.0.1", + "adminUrl": "http://127.0.0.1", + "baseUrl": "http://127.0.0.1", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "secret": "2Xtlde7aozdkzzYHdIxQNfPDr0wNPTgg", + "redirectUris": [ + "http://127.0.0.1/oauth2/callback" + ], + "webOrigins": [ + "http://127.0.0.1" + ], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": false, + "publicClient": false, + "frontchannelLogout": true, + "protocol": "openid-connect", + "attributes": { + "oidc.ciba.grant.enabled": "false", + "client.secret.creation.time": "1718045868", + "backchannel.logout.session.required": "true", + "display.on.consent.screen": "false", + "oauth2.device.authorization.grant.enabled": "false", + "backchannel.logout.revoke.offline.tokens": "false" + }, + "authenticationFlowBindingOverrides": {}, + "fullScopeAllowed": true, + "nodeReRegistrationTimeout": -1, + "protocolMappers": [ + { + "id": "b405129c-ed1b-4c4e-b712-1f736be6440b", + "name": "Audience", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-mapper", + "consentRequired": false, + "config": { + "included.client.audience": "ohif_viewer", + "id.token.claim": "true", + "lightweight.claim": "false", + "access.token.claim": "true", + "introspection.token.claim": "true" + } + } + ], + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "groups", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "fac6a1ed-5b50-4e83-b4a5-dff4f6499abc", + "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", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + }, + { + "id": "ace68c1f-eae4-4d93-ab98-0005a071177d", + "clientId": "security-admin-console", + "name": "${client_security-admin-console}", + "rootUrl": "${authAdminUrl}", + "baseUrl": "/admin/ohif/console/", + "surrogateAuthRequired": false, + "enabled": true, + "alwaysDisplayInConsole": false, + "clientAuthenticatorType": "client-secret", + "redirectUris": [ + "/admin/ohif/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": "fdee0223-2998-486a-b591-ae6712ae7831", + "name": "locale", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "locale", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "locale", + "jsonType.label": "String" + } + } + ], + "defaultClientScopes": [ + "web-origins", + "acr", + "profile", + "roles", + "email" + ], + "optionalClientScopes": [ + "address", + "phone", + "offline_access", + "microprofile-jwt" + ] + } + ], + "clientScopes": [ + { + "id": "73b70709-cb2f-4d06-86af-0b04425970ee", + "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": "0c8df10b-097f-4b13-85b8-3ec3b4d3ef03", + "name": "email", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "email", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email", + "jsonType.label": "String" + } + }, + { + "id": "6cff88ad-73ed-4699-86f9-c7ac5e473a53", + "name": "email verified", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "emailVerified", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email_verified", + "jsonType.label": "boolean" + } + } + ] + }, + { + "id": "4098872d-e896-4042-a715-be23f0a1437c", + "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": "06ba9538-581f-4c0b-a7ca-b56eaa8c1e59", + "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": "d992a9b9-ec09-49fd-b052-65942ff5ba58", + "name": "updated at", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "updatedAt", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "updated_at", + "jsonType.label": "long" + } + }, + { + "id": "9b2089a4-ce6f-4dcb-abd8-67844a8e17b5", + "name": "profile", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "profile", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "profile", + "jsonType.label": "String" + } + }, + { + "id": "0e37cc54-2ff9-4976-9f66-f6f949652d40", + "name": "full name", + "protocol": "openid-connect", + "protocolMapper": "oidc-full-name-mapper", + "consentRequired": false, + "config": { + "id.token.claim": "true", + "introspection.token.claim": "true", + "access.token.claim": "true", + "userinfo.token.claim": "true" + } + }, + { + "id": "f2d87384-cc84-4d8a-bef7-379491ba1430", + "name": "gender", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "gender", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "gender", + "jsonType.label": "String" + } + }, + { + "id": "03c9b60a-32a9-4bd2-9173-ee7048f8face", + "name": "picture", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "picture", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "picture", + "jsonType.label": "String" + } + }, + { + "id": "6db8e846-d71d-4573-89be-cc249c93c4fd", + "name": "birthdate", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "birthdate", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "birthdate", + "jsonType.label": "String" + } + }, + { + "id": "aacde81e-9462-446f-abf9-25bb83d3c442", + "name": "website", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "website", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "website", + "jsonType.label": "String" + } + }, + { + "id": "44dc5e2c-de20-4e46-94ed-e5fbecee8021", + "name": "zoneinfo", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "zoneinfo", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "zoneinfo", + "jsonType.label": "String" + } + }, + { + "id": "74ab1492-ecbb-4a52-a5dd-820d7bc1dec5", + "name": "locale", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "locale", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "locale", + "jsonType.label": "String" + } + }, + { + "id": "69aab70e-94d5-45f0-ab8f-14c973492636", + "name": "family name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "lastName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "family_name", + "jsonType.label": "String" + } + }, + { + "id": "611957f1-cdfe-43b9-acc6-d2d37b5b6908", + "name": "nickname", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "nickname", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "nickname", + "jsonType.label": "String" + } + }, + { + "id": "90e9af6c-7a44-4b8b-bdea-020ccd7cf79b", + "name": "given name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "firstName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "given_name", + "jsonType.label": "String" + } + }, + { + "id": "d1ceeaef-bebc-4be6-b5b7-85e361b91ce5", + "name": "middle name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "middleName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "middle_name", + "jsonType.label": "String" + } + }, + { + "id": "d74b3e90-c391-4fea-806d-98b24e598ade", + "name": "username", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "preferred_username", + "jsonType.label": "String" + } + } + ] + }, + { + "id": "077a40b6-ae18-440a-9858-57cb93483f4d", + "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": "f7a704cc-7466-41b4-ada4-3efe4dceb599", + "name": "allowed web origins", + "protocol": "openid-connect", + "protocolMapper": "oidc-allowed-origins-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "access.token.claim": "true" + } + } + ] + }, + { + "id": "16085075-08fa-4fe8-aa9e-c429b26df40e", + "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": "1cb74178-9ba0-4225-8ede-a263f0cf0f9d", + "name": "audience resolve", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-resolve-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "access.token.claim": "true" + } + }, + { + "id": "020299f1-b469-41fb-b80d-5cea4ceb4e7d", + "name": "realm roles", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-realm-role-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "multivalued": "true", + "user.attribute": "foo", + "access.token.claim": "true", + "claim.name": "realm_access.roles", + "jsonType.label": "String" + } + }, + { + "id": "6759edaf-7d37-44b0-ad7b-50a3383e9cd9", + "name": "client roles", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-client-role-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "multivalued": "true", + "userinfo.token.claim": "false", + "user.attribute": "foo", + "lightweight.claim": "false", + "id.token.claim": "false", + "access.token.claim": "true", + "claim.name": "resource_access.${client_id}. roles", + "jsonType.label": "String" + } + } + ] + }, + { + "id": "905660b4-380a-4a8c-81a9-bd16b3b3ce3f", + "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": "4e2f2bd8-602f-4ae1-a431-fa92bdedd386", + "name": "upn", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "upn", + "jsonType.label": "String" + } + }, + { + "id": "f1e69dc4-f19e-4c21-bbf9-609016339710", + "name": "groups", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-realm-role-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "multivalued": "true", + "user.attribute": "foo", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "groups", + "jsonType.label": "String" + } + } + ] + }, + { + "id": "24748647-8a70-422e-8532-f8d231a006db", + "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": "fd884f9e-e345-4823-b463-beb39020ca23", + "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": "db5c28fd-e142-40e1-926c-017d0d58c04a", + "name": "groups", + "description": "", + "protocol": "openid-connect", + "attributes": { + "include.in.token.scope": "false", + "display.on.consent.screen": "true", + "gui.order": "", + "consent.screen.text": "" + }, + "protocolMappers": [ + { + "id": "1f5afdb5-1de2-40c7-8526-d1ad0585720b", + "name": "groups", + "protocol": "openid-connect", + "protocolMapper": "oidc-group-membership-mapper", + "consentRequired": false, + "config": { + "full.path": "false", + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "multivalued": "true", + "id.token.claim": "true", + "lightweight.claim": "false", + "access.token.claim": "true", + "claim.name": "groups" + } + } + ] + }, + { + "id": "c1678c18-641f-4eeb-af7e-c5327adee009", + "name": "role_list", + "description": "SAML role list", + "protocol": "saml", + "attributes": { + "consent.screen.text": "${samlRoleListScopeConsentText}", + "display.on.consent.screen": "true" + }, + "protocolMappers": [ + { + "id": "bec886da-1100-4af1-a83f-b322a23e9856", + "name": "role list", + "protocol": "saml", + "protocolMapper": "saml-role-list-mapper", + "consentRequired": false, + "config": { + "single": "false", + "attribute.nameformat": "Basic", + "attribute.name": "Role" + } + } + ] + }, + { + "id": "ead6084e-d9f1-4388-80c6-aead5b3ddfff", + "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": "3a4ceb4e-e597-49e4-8d0c-d41a46a2ab38", + "name": "address", + "protocol": "openid-connect", + "protocolMapper": "oidc-address-mapper", + "consentRequired": false, + "config": { + "user.attribute.formatted": "formatted", + "user.attribute.country": "country", + "introspection.token.claim": "true", + "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": "df3a89a6-3ed7-45ad-97e1-598b93a643e7", + "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": "9bbff1aa-ee20-4c33-b40f-d0076a2fe305", + "name": "phone number", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "phoneNumber", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "phone_number", + "jsonType.label": "String" + } + }, + { + "id": "726d1ea0-ee59-49fe-bd01-416b06276ae9", + "name": "phone number verified", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "introspection.token.claim": "true", + "userinfo.token.claim": "true", + "user.attribute": "phoneNumberVerified", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "phone_number_verified", + "jsonType.label": "boolean" + } + } + ] + } + ], + "defaultDefaultClientScopes": [ + "role_list", + "profile", + "email", + "roles", + "web-origins", + "acr" + ], + "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": false, + "eventsListeners": [ + "jboss-logging" + ], + "enabledEventTypes": [], + "adminEventsEnabled": false, + "adminEventsDetailsEnabled": false, + "identityProviders": [], + "identityProviderMappers": [], + "components": { + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ + { + "id": "e037fff2-9457-47c7-81c7-762fbe02d23c", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "cbd25133-ce87-483c-b2e3-a3c2947b23e9", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "saml-user-attribute-mapper", + "oidc-usermodel-property-mapper", + "oidc-usermodel-attribute-mapper", + "oidc-address-mapper", + "oidc-sha256-pairwise-sub-mapper", + "saml-role-list-mapper", + "saml-user-property-mapper", + "oidc-full-name-mapper" + ] + } + }, + { + "id": "2fa7da7b-1138-44f9-8236-7e31f5f72695", + "name": "Consent Required", + "providerId": "consent-required", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "d2e6c9ff-9c36-40cc-bc12-0055d5ea61c3", + "name": "Trusted Hosts", + "providerId": "trusted-hosts", + "subType": "anonymous", + "subComponents": {}, + "config": { + "host-sending-registration-request-must-match": [ + "true" + ], + "client-uris-must-match": [ + "true" + ] + } + }, + { + "id": "269704c3-de60-4233-a845-6efd83408eb0", + "name": "Allowed Protocol Mapper Types", + "providerId": "allowed-protocol-mappers", + "subType": "authenticated", + "subComponents": {}, + "config": { + "allowed-protocol-mapper-types": [ + "saml-role-list-mapper", + "oidc-usermodel-attribute-mapper", + "oidc-full-name-mapper", + "oidc-sha256-pairwise-sub-mapper", + "oidc-usermodel-property-mapper", + "saml-user-attribute-mapper", + "saml-user-property-mapper", + "oidc-address-mapper" + ] + } + }, + { + "id": "28cb7c8a-2fd1-4a3d-8ab8-17e4e83c2648", + "name": "Allowed Client Scopes", + "providerId": "allowed-client-templates", + "subType": "anonymous", + "subComponents": {}, + "config": { + "allow-default-scopes": [ + "true" + ] + } + }, + { + "id": "3a77be15-e696-49aa-9dac-64a79d8e443f", + "name": "Full Scope Disabled", + "providerId": "scope", + "subType": "anonymous", + "subComponents": {}, + "config": {} + }, + { + "id": "f662e962-d5bd-4bbe-bc43-bddc7f4faf57", + "name": "Max Clients Limit", + "providerId": "max-clients", + "subType": "anonymous", + "subComponents": {}, + "config": { + "max-clients": [ + "200" + ] + } + } + ], + "org.keycloak.keys.KeyProvider": [ + { + "id": "5a307075-97e6-4c78-8e05-10e21c097d53", + "name": "aes-generated", + "providerId": "aes-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "78a25e8e-b46c-44c2-8fd4-4b09529890e7", + "name": "rsa-generated", + "providerId": "rsa-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ] + } + }, + { + "id": "bf0f6364-43f0-4b1c-bde2-7646ceb56a63", + "name": "hmac-generated-hs512", + "providerId": "hmac-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "HS512" + ] + } + }, + { + "id": "28485c9c-96bc-49c7-a9a2-8941c9067f7d", + "name": "rsa-enc-generated", + "providerId": "rsa-enc-generated", + "subComponents": {}, + "config": { + "priority": [ + "100" + ], + "algorithm": [ + "RSA-OAEP" + ] + } + } + ] + }, + "internationalizationEnabled": false, + "supportedLocales": [], + "authenticationFlows": [ + { + "id": "bbb2d80e-a134-4933-afe9-7cb655d70791", + "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 + } + ] + }, + { + "id": "651f23c0-4ef1-4762-b186-fc2b985ead9d", + "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 + } + ] + }, + { + "id": "e8dd531a-b8b7-4416-984f-9226cfcc8800", + "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 + } + ] + }, + { + "id": "e4fc59c9-1048-45b5-9069-57d578d0f125", + "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": "12ea6433-d1b6-4094-b3e2-1ef356b91d92", + "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": "5d6c3ca7-3581-4200-b592-9c714129044f", + "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": "b7712f6e-fbe8-4f15-936d-939e28efd279", + "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": "61a450b5-3007-4e98-a7b2-dba743ea54a7", + "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": "d7566b94-731b-4e84-a2de-a1c8130af38b", + "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": "399c5ce6-4308-4524-89bc-4dee1afd6cbb", + "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": "c8e80f39-d8d7-4fa5-8944-33fcdd366721", + "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": "79251c55-7de3-457e-99e3-92395f2b69a7", + "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": "60a12c1d-d4ce-40c1-a83f-faba71145f0c", + "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": "e36da2db-a596-4680-a5ca-16c4e5a1a9c1", + "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": "2b1b59ff-5417-48cd-8d7a-2ab5ecfedc9f", + "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": "3e4f2042-a809-490c-a1a6-9bb63b4b0e4a", + "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 + }, + { + "authenticator": "registration-terms-and-conditions", + "authenticatorFlow": false, + "requirement": "DISABLED", + "priority": 70, + "autheticatorFlow": false, + "userSetupAllowed": false + } + ] + }, + { + "id": "0b59d69a-95b0-4c82-bd21-908c019a4974", + "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": "accf37f2-1a52-40b0-a92f-f5a931c57126", + "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": "4eaad8bb-f86b-483d-99a4-4cba184ef573", + "alias": "create unique user config", + "config": { + "require.password.update.after.registration": "false" + } + }, + { + "id": "eb0a326f-17e0-49b7-b25c-575b0cd3888f", + "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": "webauthn-register", + "name": "Webauthn Register", + "providerId": "webauthn-register", + "enabled": true, + "defaultAction": false, + "priority": 70, + "config": {} + }, + { + "alias": "webauthn-register-passwordless", + "name": "Webauthn Register Passwordless", + "providerId": "webauthn-register-passwordless", + "enabled": true, + "defaultAction": false, + "priority": 80, + "config": {} + }, + { + "alias": "VERIFY_PROFILE", + "name": "Verify Profile", + "providerId": "VERIFY_PROFILE", + "enabled": true, + "defaultAction": false, + "priority": 90, + "config": {} + }, + { + "alias": "delete_credential", + "name": "Delete Credential", + "providerId": "delete_credential", + "enabled": true, + "defaultAction": false, + "priority": 100, + "config": {} + }, + { + "alias": "update_user_locale", + "name": "Update User Locale", + "providerId": "update_user_locale", + "enabled": true, + "defaultAction": false, + "priority": 1000, + "config": {} + } + ], + "browserFlow": "browser", + "registrationFlow": "registration", + "directGrantFlow": "direct grant", + "resetCredentialsFlow": "reset credentials", + "clientAuthenticationFlow": "clients", + "dockerAuthenticationFlow": "docker auth", + "firstBrokerLoginFlow": "first broker login", + "attributes": { + "cibaBackchannelTokenDeliveryMode": "poll", + "cibaExpiresIn": "120", + "cibaAuthRequestedUserHint": "login_hint", + "oauth2DeviceCodeLifespan": "600", + "oauth2DevicePollingInterval": "5", + "parRequestUriLifespan": "60", + "cibaInterval": "5", + "realmReusableOtpCode": "false" + }, + "keycloakVersion": "24.0.5", + "userManagedAccessAllowed": false, + "clientProfiles": { + "profiles": [] + }, + "clientPolicies": { + "policies": [] + }, + "users": [ + { + "username": "viewer", + "enabled": true, + "emailVerified": true, + "firstName": "viewer", + "lastName": "viewer", + "email": "viewer@mail.com", + "credentials": [ + { + "type": "password", + "value": "viewer" + } + ] + }, + { + "username": "pacsadmin", + "enabled": true, + "emailVerified": true, + "firstName": "pacsadmin", + "lastName": "pacsadmin", + "email": "pacsadmin@mail.com", + "credentials": [ + { + "type": "password", + "value": "pacsadmin" + } + ], + "groups": ["pacsadmin"] + } + ] +} diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/orthanc.json b/platform/app/.recipes/Nginx-Orthanc-Keycloak/config/orthanc.json similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/orthanc.json rename to platform/app/.recipes/Nginx-Orthanc-Keycloak/config/orthanc.json diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/docker-compose.yml b/platform/app/.recipes/Nginx-Orthanc-Keycloak/docker-compose.yml new file mode 100644 index 00000000000..1a44c3013c4 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/docker-compose.yml @@ -0,0 +1,126 @@ +services: + ohif_viewer: + build: + context: ./../../../../ + dockerfile: ./platform/app/.recipes/Nginx-Orthanc-Keycloak/dockerfile + image: webapp:latest + container_name: webapp + ports: + - '443:443' # SSL + - '80:80' # Web + depends_on: + keycloak: + condition: service_healthy + restart: on-failure + networks: + - default + extra_hosts: + - 'host.docker.internal:host-gateway' + environment: + - OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true + volumes: + # - ../../app/dist /var/www/html + - ./config/nginx.conf:/etc/nginx/nginx.conf + - ./config/oauth2-proxy.cfg:/etc/oauth2-proxy/oauth2-proxy.cfg + + - ./config/letsencrypt:/etc/letsencrypt + - ./config/certbot:/var/www/certbot + + orthanc: + image: jodogne/orthanc-plugins + hostname: orthanc + container_name: orthanc + volumes: + - ./config/orthanc.json:/etc/orthanc/orthanc.json:ro + - ./volumes/orthanc-db/:/var/lib/orthanc/db/ + restart: unless-stopped + networks: + - default + + keycloak: + image: quay.io/keycloak/keycloak:24.0.5 + command: 'start-dev --import-realm' + hostname: keycloak + container_name: keycloak + volumes: + - ./config/ohif-keycloak-realm.json:/opt/keycloak/data/import/ohif-keycloak-realm.json + environment: + # Database + KC_DB_URL_HOST: postgres + KC_DB: postgres + KC_DB_URL: 'jdbc:postgresql://postgres:5432/keycloak' + KC_DB_SCHEMA: public + KC_DB_USERNAME: keycloak + KC_DB_PASSWORD: password + KC_HOSTNAME_ADMIN_URL: http://YOUR_DOMAIN/keycloak/ + KC_HOSTNAME_URL: http://YOUR_DOMAIN/keycloak/ + KC_HOSTNAME_STRICT_BACKCHANNEL: true + KC_HOSTNAME_STRICT_HTTPS: false + KC_HTTP_ENABLED: true + KEYCLOAK_ADMIN: admin + KEYCLOAK_ADMIN_PASSWORD: admin + KC_HEALTH_ENABLED: true + KC_METRICS_ENABLED: true + KC_PROXY: edge + KC_PROXY_HEADERS: xforwarded + KEYCLOAK_JDBC_PARAMS: connectTimeout=40000 + KC_LOG_LEVEL: INFO + KC_HOSTNAME_DEBUG: true + # added later + PROXY_ADDRESS_FORWARDING: true + ports: + - 8080:8080 + depends_on: + - postgres + restart: unless-stopped + networks: + - default + extra_hosts: + - 'host.docker.internal:host-gateway' + healthcheck: + test: [ + 'CMD-SHELL', + "exec 3<>/dev/tcp/YOUR_DOMAIN/8080;echo -e \"GET /health/ready HTTP/1.1\r + + host: http://localhost\r + + Connection: close\r + + \r + + \" >&3;grep \"HTTP/1.1 200 OK\" <&3", + ] + interval: 1s + timeout: 5s + retries: 10 + start_period: 60s + + postgres: + image: postgres:15 + hostname: postgres + container_name: postgres + volumes: + - postgres_data:/var/lib/postgresql/data + environment: + POSTGRES_DB: keycloak + POSTGRES_USER: keycloak + POSTGRES_PASSWORD: password + restart: unless-stopped + networks: + - default + + certbot: + image: certbot/certbot + container_name: certbot + volumes: + - ./config/letsencrypt:/etc/letsencrypt + - ./config/certbot:/var/www/certbot + entrypoint: + /bin/sh -c "trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;" +volumes: + postgres_data: + driver: local + +networks: + default: + driver: bridge diff --git a/platform/app/.recipes/Nginx-Orthanc-Keycloak/dockerfile b/platform/app/.recipes/Nginx-Orthanc-Keycloak/dockerfile new file mode 100644 index 00000000000..eba4237b448 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc-Keycloak/dockerfile @@ -0,0 +1,57 @@ +# Stage 1: Build the application +FROM node:18.16.1-slim as builder + +# Setup the working directory +RUN mkdir /usr/src/app +WORKDIR /usr/src/app + +# Install dependencies +# apt-get update is combined with apt-get install to avoid using outdated packages +RUN apt-get update && apt-get install -y build-essential python3 + +# Copy package.json and other dependency-related files first +# Assuming your package.json and yarn.lock or similar are located in the project root +# Todo: this probably can get improved by copying +# only the package json files and running yarn install before +# copying the rest of the files but having a monorepo setup +# makes this a bit more complicated, i wasn't able to get it working +COPY ./ /usr/src/app/ + +# Install node dependencies +RUN yarn config set workspaces-experimental true +RUN yarn install + +# Copy the rest of the application code + +# set QUICK_BUILD to true to make the build faster for dev +ENV APP_CONFIG=config/docker-nginx-orthanc-keycloak.js + +# Build the application +RUN yarn run build + +# Use nginx as the base image +FROM nginx:alpine + +# Install dependencies for oauth2-proxy +RUN apk add --no-cache curl + +# Create necessary directories +RUN mkdir -p /var/logs/nginx /var/www/html /etc/oauth2-proxy + +# Download and install oauth2-proxy +RUN curl -L https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.4.0/oauth2-proxy-v7.4.0.linux-amd64.tar.gz -o oauth2-proxy.tar.gz && \ + tar -xvzf oauth2-proxy.tar.gz && \ + mv oauth2-proxy-v7.4.0.linux-amd64/oauth2-proxy /usr/local/bin/ && \ + rm -rf oauth2-proxy-v7.4.0.linux-amd64 oauth2-proxy.tar.gz + + +COPY --from=builder /usr/src/app/platform/app/dist /var/www/html + +# Copy the entrypoint script +COPY ./platform/app/.recipes/Nginx-Orthanc-Keycloak/config/entrypoint.sh /entrypoint.sh + +# Expose necessary ports +EXPOSE 80 443 4180 +# Set the entrypoint script as the entrypoint +RUN chmod +x entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/platform/app/.recipes/Nginx-Orthanc/README.md b/platform/app/.recipes/Nginx-Orthanc/README.md new file mode 100644 index 00000000000..14e1a70b8e3 --- /dev/null +++ b/platform/app/.recipes/Nginx-Orthanc/README.md @@ -0,0 +1,26 @@ +# Docker compose files + +# Build + +Using docker compose you can build the image with the following command: + +```bash +docker-compose build +``` + +# Run + +To run the container use the following command: + +```bash +docker-compose up +``` + + +# Routes + +http://localhost/ -> OHIF +localhost/pacs -> Orthanc + + +See [here](../../../docs/docs/deployment/nginx--image-archive.md) for more information about this recipe. diff --git a/platform/app/.recipes/Nginx-Orthanc/dockerfile b/platform/app/.recipes/Nginx-Orthanc/dockerfile index 765f91aa668..ac7433ac6c6 100644 --- a/platform/app/.recipes/Nginx-Orthanc/dockerfile +++ b/platform/app/.recipes/Nginx-Orthanc/dockerfile @@ -12,20 +12,19 @@ RUN apt-get update && apt-get install -y build-essential python3 # Copy package.json and other dependency-related files first # Assuming your package.json and yarn.lock or similar are located in the project root -COPY . . +COPY ./ /usr/src/app/ # Install node dependencies -# RUN yarn config set workspaces-experimental true -# RUN yarn install +RUN yarn config set workspaces-experimental true +RUN yarn install # Copy the rest of the application code # set QUICK_BUILD to true to make the build faster for dev - -ENV APP_CONFIG=config/docker_nginx-orthanc-keycloak.js +ENV APP_CONFIG=config/docker-nginx-orthanc.js # Build the application -# RUN yarn run build +RUN yarn run build # # Stage 2: Bundle the built application into a Docker container which runs NGINX using Alpine Linux FROM nginx:alpine @@ -35,7 +34,7 @@ RUN mkdir -p /var/log/nginx /var/www/html # # Copy build output to serve static files -# COPY --from=builder /usr/src/app/platform/app/dist /var/www/html +COPY --from=builder /usr/src/app/platform/app/dist /var/www/html # # Expose HTTP and HTTPS ports EXPOSE 80 443 diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/.env b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/.env deleted file mode 100644 index 6989ff3fc7e..00000000000 --- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/.env +++ /dev/null @@ -1,5 +0,0 @@ -# Docker ENV and ARG Variables -# ---------------------------- -# https://vsupalov.com/docker-arg-env-variable-guide/ -# -# diff --git a/platform/app/.recipes/OpenResty-Orthanc/.env b/platform/app/.recipes/OpenResty-Orthanc/.env deleted file mode 100644 index 6989ff3fc7e..00000000000 --- a/platform/app/.recipes/OpenResty-Orthanc/.env +++ /dev/null @@ -1,5 +0,0 @@ -# Docker ENV and ARG Variables -# ---------------------------- -# https://vsupalov.com/docker-arg-env-variable-guide/ -# -# diff --git a/platform/app/.recipes/README.md b/platform/app/.recipes/README.md deleted file mode 100644 index 1f3f6f20007..00000000000 --- a/platform/app/.recipes/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Docker compose files - -This folder contains docker-compose files used to spin up OHIF-Viewer with -different options such as locally or with any PAS you desire to - -## Public Server - -#### build - -`$ docker-compose -f docker-compose-publicserver.yml build` - -#### run - -`$ docker-compose -f docker-compose-publicserver.yml up -d` - -then, access the application at [http://localhost](http://localhost) - -## Local Orthanc - -### Build - -`$ docker-compose -f docker-compose-orthanc.yml build` - -### Run - -Starts containers and leaves them running in the background. - -`$ docker-compose -f docker-compose-orthanc.yml up -d` - -then, access the application at [http://localhost](http://localhost) - -**remember that you have to access orthanc application and include your studies -there** - -## Local Dcm4chee - -#### build - -`$ docker-compose -f docker-compose-dcm4chee.yml build` - -#### run - -`$ docker-compose -f docker-compose-dcm4chee.yml up -d` - -then, access the application at [http://localhost](http://localhost) - -**remember that you have to access dcm4chee application and include your studies -there** You can use the following command to import your studies into dcm4che - -`$ docker run -v {YOUR_STUDY_FOLDER}:/tmp --rm --network=docker_dcm4che_default dcm4che/dcm4che-tools:5.14.0 storescu -cDCM4CHEE@arc:11112 /tmp` - -**make sure that your Docker network name is docker_dcm4chee_default or change -it to the right one** diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json diff --git a/platform/app/.recipes/OpenResty-Orthanc/config/orthanc.json b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/config/orthanc.json similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc/config/orthanc.json rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/config/orthanc.json diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/dockerfile similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/dockerfile diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/welcome/.githold b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/account/.githold similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/welcome/.githold rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/account/.githold diff --git a/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/admin/.githold b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/admin/.githold new file mode 100644 index 00000000000..e69de29bb2d diff --git a/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/email/.githold b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/email/.githold new file mode 100644 index 00000000000..e69de29bb2d diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/img/background.jpg b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/img/background.jpg similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/img/background.jpg rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/img/background.jpg diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/theme.properties b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/theme.properties similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/theme.properties rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/theme.properties diff --git a/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/welcome/.githold b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/welcome/.githold new file mode 100644 index 00000000000..e69de29bb2d diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/orthanc-db/.gitignore b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/orthanc-db/.gitignore similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/orthanc-db/.gitignore rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc-Keycloak/volumes/orthanc-db/.gitignore diff --git a/platform/app/.recipes/OpenResty-Orthanc/config/nginx.conf b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/config/nginx.conf similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc/config/nginx.conf rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/config/nginx.conf diff --git a/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/config/orthanc.json b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/config/orthanc.json new file mode 100644 index 00000000000..2e10723c049 --- /dev/null +++ b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/config/orthanc.json @@ -0,0 +1,89 @@ +{ + "Name": "Orthanc inside Docker", + "StorageDirectory": "/var/lib/orthanc/db", + "IndexDirectory": "/var/lib/orthanc/db", + "StorageCompression": false, + "MaximumStorageSize": 0, + "MaximumPatientCount": 0, + "LuaScripts": [], + "Plugins": ["/usr/share/orthanc/plugins", "/usr/local/share/orthanc/plugins"], + "ConcurrentJobs": 2, + "HttpServerEnabled": true, + "HttpPort": 8042, + "HttpDescribeErrors": true, + "HttpCompressionEnabled": true, + "DicomServerEnabled": true, + "DicomAet": "ORTHANC", + "DicomCheckCalledAet": false, + "DicomPort": 4242, + "DefaultEncoding": "Latin1", + "DeflatedTransferSyntaxAccepted": true, + "JpegTransferSyntaxAccepted": true, + "Jpeg2000TransferSyntaxAccepted": true, + "JpegLosslessTransferSyntaxAccepted": true, + "JpipTransferSyntaxAccepted": true, + "Mpeg2TransferSyntaxAccepted": true, + "RleTransferSyntaxAccepted": true, + "UnknownSopClassAccepted": false, + "DicomScpTimeout": 30, + + "RemoteAccessAllowed": true, + "SslEnabled": false, + "SslCertificate": "certificate.pem", + "AuthenticationEnabled": false, + "RegisteredUsers": { + "test": "test" + }, + "DicomModalities": {}, + "DicomModalitiesInDatabase": false, + "DicomAlwaysAllowEcho": true, + "DicomAlwaysAllowStore": true, + "DicomCheckModalityHost": false, + "DicomScuTimeout": 10, + "OrthancPeers": {}, + "OrthancPeersInDatabase": false, + "HttpProxy": "", + + "HttpVerbose": true, + + "HttpTimeout": 10, + "HttpsVerifyPeers": true, + "HttpsCACertificates": "", + "UserMetadata": {}, + "UserContentType": {}, + "StableAge": 60, + "StrictAetComparison": false, + "StoreMD5ForAttachments": true, + "LimitFindResults": 0, + "LimitFindInstances": 0, + "LimitJobs": 10, + "LogExportedResources": false, + "KeepAlive": true, + "TcpNoDelay": true, + "HttpThreadsCount": 50, + "StoreDicom": true, + "DicomAssociationCloseDelay": 5, + "QueryRetrieveSize": 10, + "CaseSensitivePN": false, + "LoadPrivateDictionary": true, + "Dictionary": {}, + "SynchronousCMove": true, + "JobsHistorySize": 10, + "SaveJobs": true, + "OverwriteInstances": false, + "MediaArchiveSize": 1, + "StorageAccessOnFind": "Always", + "MetricsEnabled": true, + + "DicomWeb": { + "Enable": true, + "Root": "/dicom-web/", + "EnableWado": true, + "WadoRoot": "/wado", + "Host": "127.0.0.1", + "Ssl": false, + "StowMaxInstances": 10, + "StowMaxSize": 10, + "QidoCaseSensitive": false + } +} diff --git a/platform/app/.recipes/OpenResty-Orthanc/docker-compose.yml b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/docker-compose.yml similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc/docker-compose.yml rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/docker-compose.yml diff --git a/platform/app/.recipes/OpenResty-Orthanc/dockerfile b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/dockerfile similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc/dockerfile rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/dockerfile diff --git a/platform/app/.recipes/OpenResty-Orthanc/volumes/orthanc-db/.gitignore b/platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/volumes/orthanc-db/.gitignore similarity index 100% rename from platform/app/.recipes/OpenResty-Orthanc/volumes/orthanc-db/.gitignore rename to platform/app/.recipes/deprecated-recipes/OpenResty-Orthanc/volumes/orthanc-db/.gitignore diff --git a/platform/app/package.json b/platform/app/package.json index ab4db40e45c..0276a4f85bf 100644 --- a/platform/app/package.json +++ b/platform/app/package.json @@ -24,13 +24,13 @@ "build:viewer:ci": "cross-env NODE_ENV=production PUBLIC_URL=/ APP_CONFIG=config/netlify.js QUICK_BUILD=false yarn run build", "build:viewer:qa": "cross-env NODE_ENV=production APP_CONFIG=config/google.js yarn run build", "build:viewer:demo": "cross-env NODE_ENV=production APP_CONFIG=config/demo.js HTML_TEMPLATE=rollbar.html QUICK_BUILD=false yarn run build", - "build": "node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --progress --config .webpack/webpack.pwa.js", + "build": "node --max_old_space_size=8096 ./../../node_modules/webpack/bin/webpack.js --progress --config .webpack/webpack.pwa.js", "clean": "shx rm -rf dist", "clean:deep": "yarn run clean && shx rm -rf node_modules", "dev": "cross-env NODE_ENV=development webpack serve --config .webpack/webpack.pwa.js", "dev:no:cache": "cross-env NODE_ENV=development webpack serve --no-cache --config .webpack/webpack.pwa.js", - "dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack serve --config .webpack/webpack.pwa.js", - "dev:orthanc:no:cache": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack serve --no-cache --config .webpack/webpack.pwa.js", + "dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker-nginx-orthanc.js webpack serve --config .webpack/webpack.pwa.js", + "dev:orthanc:no:cache": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker-nginx-orthanc.js webpack serve --no-cache --config .webpack/webpack.pwa.js", "dev:dcm4chee": "cross-env NODE_ENV=development APP_CONFIG=config/local_dcm4chee.js webpack serve --config .webpack/webpack.pwa.js", "dev:static": "cross-env NODE_ENV=development APP_CONFIG=config/local_static.js webpack serve --config .webpack/webpack.pwa.js", "dev:viewer": "yarn run dev", @@ -88,6 +88,7 @@ "i18next-browser-languagedetector": "^3.0.1", "lodash.isequal": "4.5.0", "oidc-client": "1.11.5", + "oidc-client-ts": "^3.0.1", "prop-types": "^15.7.2", "query-string": "^6.12.1", "react": "^18.3.1", diff --git a/platform/app/public/config/docker_openresty-orthanc-keycloak.js b/platform/app/public/config/deprecated/docker_openresty-orthanc-keycloak.js similarity index 69% rename from platform/app/public/config/docker_openresty-orthanc-keycloak.js rename to platform/app/public/config/deprecated/docker_openresty-orthanc-keycloak.js index f3b86852c66..d93a853d148 100644 --- a/platform/app/public/config/docker_openresty-orthanc-keycloak.js +++ b/platform/app/public/config/deprecated/docker_openresty-orthanc-keycloak.js @@ -36,19 +36,4 @@ window.config = { }, ], // This is an array, but we'll only use the first entry for now - oidc: [ - { - // ~ REQUIRED - // Authorization Server URL - authority: 'http://127.0.0.1/auth/realms/ohif', - client_id: 'ohif-viewer', - redirect_uri: 'http://127.0.0.1/callback', // `OHIFStandaloneViewer.js` - // "Authorization Code Flow" - // Resource: https://medium.com/@darutk/diagrams-of-all-the-openid-connect-flows-6968e3990660 - response_type: 'code', - scope: 'openid', // email profile openid - // ~ OPTIONAL - post_logout_redirect_uri: '/logout-redirect.html', - }, - ], }; diff --git a/platform/app/public/config/docker_openresty-orthanc.js b/platform/app/public/config/deprecated/docker_openresty-orthanc.js similarity index 100% rename from platform/app/public/config/docker_openresty-orthanc.js rename to platform/app/public/config/deprecated/docker_openresty-orthanc.js diff --git a/platform/app/public/config/docker-nginx-dcm4chee-keycloak.js b/platform/app/public/config/docker-nginx-dcm4chee-keycloak.js new file mode 100644 index 00000000000..163703b7a3e --- /dev/null +++ b/platform/app/public/config/docker-nginx-dcm4chee-keycloak.js @@ -0,0 +1,35 @@ +/** @type {AppTypes.Config} */ +window.config = { + routerBasename: '/ohif-viewer/', + showStudyList: true, + customizationService: { + dicomUploadComponent: + '@ohif/extension-cornerstone.customizationModule.cornerstoneDicomUploadComponent', + }, + extensions: [], + modes: [], + // below flag is for performance reasons, but it might not work for all servers + showWarningMessageForCrossOrigin: true, + showCPUFallbackMessage: true, + showLoadingIndicator: true, + strictZSpacingForVolumeViewport: true, + defaultDataSourceName: 'dicomweb', + dataSources: [ + { + namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', + sourceName: 'dicomweb', + configuration: { + friendlyName: 'Dcm4chee Server', + name: 'Dcm4chee', + wadoUriRoot: 'http://127.0.0.1/pacs', + qidoRoot: 'http://127.0.0.1/pacs', + wadoRoot: 'http://127.0.0.1/pacs', + qidoSupportsIncludeField: false, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + dicomUploadEnabled: true, + omitQuotationForMultipartRequest: true, + }, + }, + ], +}; diff --git a/platform/app/public/config/docker-nginx-dcm4chee.js b/platform/app/public/config/docker-nginx-dcm4chee.js new file mode 100644 index 00000000000..6d7e9fc473b --- /dev/null +++ b/platform/app/public/config/docker-nginx-dcm4chee.js @@ -0,0 +1,35 @@ +/** @type {AppTypes.Config} */ +window.config = { + routerBasename: '/', + showStudyList: true, + customizationService: { + dicomUploadComponent: + '@ohif/extension-cornerstone.customizationModule.cornerstoneDicomUploadComponent', + }, + extensions: [], + modes: [], + // below flag is for performance reasons, but it might not work for all servers + showWarningMessageForCrossOrigin: true, + showCPUFallbackMessage: true, + showLoadingIndicator: true, + strictZSpacingForVolumeViewport: true, + defaultDataSourceName: 'dicomweb', + dataSources: [ + { + namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', + sourceName: 'dicomweb', + configuration: { + friendlyName: 'Dcm4chee Server', + name: 'Dcm4chee', + wadoUriRoot: '/dcm4chee-arc/aets/DCM4CHEE/wado', + qidoRoot: '/dcm4chee-arc/aets/DCM4CHEE/rs', + wadoRoot: '/dcm4chee-arc/aets/DCM4CHEE/rs', + qidoSupportsIncludeField: false, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + dicomUploadEnabled: true, + omitQuotationForMultipartRequest: true, + }, + }, + ], +}; diff --git a/platform/app/public/config/docker-nginx-orthanc-keycloak.js b/platform/app/public/config/docker-nginx-orthanc-keycloak.js new file mode 100644 index 00000000000..3a8b60a2c45 --- /dev/null +++ b/platform/app/public/config/docker-nginx-orthanc-keycloak.js @@ -0,0 +1,52 @@ +/** @type {AppTypes.Config} */ +window.config = { + routerBasename: '/ohif-viewer', + extensions: [], + modes: [], + customizationService: {}, + showStudyList: true, + maxNumberOfWebWorkers: 3, + showWarningMessageForCrossOrigin: true, + showCPUFallbackMessage: true, + showLoadingIndicator: true, + strictZSpacingForVolumeViewport: true, + groupEnabledModesFirst: true, + maxNumRequests: { + interaction: 100, + thumbnail: 75, + prefetch: 25, + }, + defaultDataSourceName: 'dicomweb', + dataSources: [ + { + namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', + sourceName: 'dicomweb', + configuration: { + friendlyName: 'Local Orthanc', + name: 'Orthanc', + wadoUriRoot: 'http://127.0.0.1/pacs', + qidoRoot: 'http://127.0.0.1/pacs', + wadoRoot: 'http://127.0.0.1/pacs', + qidoSupportsIncludeField: false, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + enableStudyLazyLoad: true, + supportsFuzzyMatching: false, + supportsWildcard: true, + staticWado: true, + singlepart: 'bulkdata,video', + // whether the data source should use retrieveBulkData to grab metadata, + // and in case of relative path, what would it be relative to, options + // are in the series level or study level (some servers like series some study) + bulkDataURI: { + enabled: true, + }, + omitQuotationForMultipartRequest: true, + }, + }, + ], + httpErrorHandler: error => { + console.warn(error.status); + console.warn('test, navigate to https://ohif.org/'); + }, +}; diff --git a/platform/app/public/config/docker_nginx-orthanc.js b/platform/app/public/config/docker-nginx-orthanc.js similarity index 95% rename from platform/app/public/config/docker_nginx-orthanc.js rename to platform/app/public/config/docker-nginx-orthanc.js index 1d7c12a5d50..7a480ea89ec 100644 --- a/platform/app/public/config/docker_nginx-orthanc.js +++ b/platform/app/public/config/docker-nginx-orthanc.js @@ -29,8 +29,8 @@ window.config = { friendlyName: 'Orthanc Server', name: 'Orthanc', wadoUriRoot: '/wado', - qidoRoot: '/dicom-web', - wadoRoot: '/dicom-web', + qidoRoot: '/pacs/dicom-web', + wadoRoot: '/pacs/dicom-web', qidoSupportsIncludeField: false, imageRendering: 'wadors', thumbnailRendering: 'wadors', diff --git a/platform/app/src/App.tsx b/platform/app/src/App.tsx index 463f4dd5803..13b6fecc4e5 100644 --- a/platform/app/src/App.tsx +++ b/platform/app/src/App.tsx @@ -24,7 +24,7 @@ import { UserAuthenticationProvider, ToolboxProvider, } from '@ohif/ui'; -import { ThemeWrapper as ThemeWrapperNext, NotificationProvider } from '@ohif/ui-next'; +import { ThemeWrapper as ThemeWrapperNext } from '@ohif/ui-next'; // Viewer Project // TODO: Should this influence study list? import { AppConfigProvider } from '@state'; diff --git a/platform/app/src/routes/CallbackPage.tsx b/platform/app/src/routes/CallbackPage.tsx index 74474552fb6..bf938ecaaef 100644 --- a/platform/app/src/routes/CallbackPage.tsx +++ b/platform/app/src/routes/CallbackPage.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; function CallbackPage({ userManager, onRedirectSuccess }) { @@ -6,10 +6,12 @@ function CallbackPage({ userManager, onRedirectSuccess }) { throw new Error(error); }; - userManager - .signinRedirectCallback() - .then(user => onRedirectSuccess(user)) - .catch(error => onRedirectError(error)); + useEffect(() => { + userManager + .signinRedirectCallback() + .then(user => onRedirectSuccess(user)) + .catch(error => onRedirectError(error)); + }, [userManager, onRedirectSuccess]); return null; } diff --git a/platform/app/src/routes/PrivateRoute.tsx b/platform/app/src/routes/PrivateRoute.tsx index 34bd3955b7e..0e9f9279e4f 100644 --- a/platform/app/src/routes/PrivateRoute.tsx +++ b/platform/app/src/routes/PrivateRoute.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { useUserAuthentication } from '@ohif/ui'; export const PrivateRoute = ({ children, handleUnauthenticated }) => { diff --git a/platform/app/src/routes/buildModeRoutes.tsx b/platform/app/src/routes/buildModeRoutes.tsx index cda7b6b802e..77dfde04e67 100644 --- a/platform/app/src/routes/buildModeRoutes.tsx +++ b/platform/app/src/routes/buildModeRoutes.tsx @@ -81,7 +81,7 @@ export default function buildModeRoutes({ routes.push({ path, children, - private: true, // todo: all mode routes are private for now + private: true, }); }); diff --git a/platform/app/src/routes/index.tsx b/platform/app/src/routes/index.tsx index c4101c76cfe..d67e8f612f7 100644 --- a/platform/app/src/routes/index.tsx +++ b/platform/app/src/routes/index.tsx @@ -138,18 +138,20 @@ const createRoutes = ({ const { userAuthenticationService } = servicesManager.services; - // Note: PrivateRoutes in react-router-dom 6.x should be defined within - // a Route element + // All routes are private by default and then we let the user auth service + // to check if it is enabled or not + // Todo: I think we can remove the second public return below return ( {allRoutes.map((route, i) => { return route.private === true ? ( userAuthenticationService.handleUnauthenticated()}> + userAuthenticationService.handleUnauthenticated()} + > } diff --git a/platform/app/src/utils/OpenIdConnectRoutes.tsx b/platform/app/src/utils/OpenIdConnectRoutes.tsx index 7c83efd2a04..de044161a8e 100644 --- a/platform/app/src/utils/OpenIdConnectRoutes.tsx +++ b/platform/app/src/utils/OpenIdConnectRoutes.tsx @@ -3,7 +3,8 @@ import { useEffect } from 'react'; import { Route, Routes, useLocation, useNavigate } from 'react-router'; import CallbackPage from '../routes/CallbackPage'; import SignoutCallbackComponent from '../routes/SignoutCallbackComponent'; -import getUserManagerForOpenIdConnectClient from './getUserManagerForOpenIdConnectClient.js'; +import LegacyClient from './legacyOIDCClient'; +import NextClient from './nextOIDCClient'; function _isAbsoluteUrl(url) { return url.includes('http://') || url.includes('https://'); @@ -43,7 +44,9 @@ const initUserManager = (oidc, routerBasename) => { post_logout_redirect_uri: _makeAbsoluteIfNecessary(post_logout_redirect_uri, baseUri), }); - return getUserManagerForOpenIdConnectClient(openIdConnectConfiguration); + const client = firstOpenIdClient.useAuthorizationCodeFlow ? NextClient: LegacyClient + + return client(openIdConnectConfiguration); }; function LogoutComponent(props) { @@ -147,12 +150,18 @@ function OpenIdConnectRoutes({ oidc, routerBasename, userAuthenticationService } const location = useLocation(); const { pathname, search } = location; - const redirect_uri = new URL(userManager.settings._redirect_uri).pathname.replace( + const redirectURI = userManager.settings._redirect_uri ?? userManager.settings.redirect_uri; + const silentRedirectURI = + userManager.settings._silent_redirect_uri ?? userManager.settings.silent_redirect_uri; + const postLogoutRedirectURI = + userManager.settings._post_logout_redirect_uri ?? userManager.settings.post_logout_redirect_uri; + + const redirect_uri = new URL(redirectURI).pathname.replace( routerBasename !== '/' ? routerBasename : '', '' ); - const silent_refresh_uri = new URL(userManager.settings._silent_redirect_uri).pathname; //.replace(routerBasename,'') - const post_logout_redirect_uri = new URL(userManager.settings._post_logout_redirect_uri).pathname; //.replace(routerBasename,''); + const silent_refresh_uri = new URL(silentRedirectURI).pathname; //.replace(routerBasename,'') + const post_logout_redirect_uri = new URL(postLogoutRedirectURI).pathname; //.replace(routerBasename,''); // const pathnameRelative = pathname.replace(routerBasename,''); diff --git a/platform/app/src/utils/getUserManagerForOpenIdConnectClient.js b/platform/app/src/utils/legacyOIDCClient.ts similarity index 100% rename from platform/app/src/utils/getUserManagerForOpenIdConnectClient.js rename to platform/app/src/utils/legacyOIDCClient.ts diff --git a/platform/app/src/utils/nextOIDCClient.ts b/platform/app/src/utils/nextOIDCClient.ts new file mode 100644 index 00000000000..24213698e0c --- /dev/null +++ b/platform/app/src/utils/nextOIDCClient.ts @@ -0,0 +1,39 @@ +import { UserManager } from 'oidc-client-ts'; + +/** + * Creates a userManager from oidcSettings + * LINK: https://github.com/IdentityModel/oidc-client-js/wiki#configuration + * + * @param {Object} oidcSettings + * @param {string} oidcSettings.authServerUrl, + * @param {string} oidcSettings.clientId, + * @param {string} oidcSettings.authRedirectUri, + * @param {string} oidcSettings.postLogoutRedirectUri, + * @param {string} oidcSettings.responseType, + * @param {string} oidcSettings.extraQueryParams, + */ +export default function getUserManagerForOpenIdConnectClient(oidcSettings) { + if (!oidcSettings) { + return; + } + + if (!oidcSettings.authority || !oidcSettings.client_id || !oidcSettings.redirect_uri) { + console.error('Missing required oidc settings: authority, client_id, redirect_uri'); + return; + } + + const settings = { + ...oidcSettings, + // The next client always use the code flow with PKCE + response_type: 'code', + revokeTokensOnSignout: oidcSettings.revokeAccessTokenOnSignout ?? true, + filterProtocolClaims: true, + loadUserInfo: true, + // the followings are default values in the lib so no need to set them + // automaticSilentRenew: true, + }; + + const userManager = new UserManager(settings); + + return userManager; +} diff --git a/platform/docs/docs/assets/img/customizable-overlay.jpeg b/platform/docs/docs/assets/img/customizable-overlay.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e166f244068cb6be8d342ab93385e8e10120f9e1 GIT binary patch literal 247877 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%0DB(% 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 C`g5e<>)5zj3%4aU&RVxy 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 u)p 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�yAJ4p0;yCOmhel1QESSM)hp|y4YqLwiN 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