+11
-2
@@ -1,8 +1,16 @@
|
||||
# keycloak/realm-export.json
|
||||
# keycloak/realm-export.template.json
|
||||
|
||||
Realm `scouthub` con feature Organizations abilitata, importato automaticamente
|
||||
all'avvio di Keycloak (`--import-realm` nel `docker-compose.yml` alla radice).
|
||||
|
||||
Il file è un **template**: i placeholder `__HOME_FE_URL__`/`__ATTIVITA_FE_URL__`/
|
||||
`__MAGAZZINO_FE_URL__`/`__EVENTI_FE_URL__` (redirect URI, web origins, post-logout
|
||||
redirect del client `scouthub-frontend`) vengono sostituiti a runtime dal servizio
|
||||
one-shot `keycloak-realm-render` con i valori delle variabili `*_FE_PUBLIC_URL` in
|
||||
`.env` (localhost in locale, dominio dietro Caddy in produzione), e il risultato
|
||||
(`realm-export.json`) viene scritto in un volume Docker montato da `keycloak` come
|
||||
cartella di import — non esiste più un `realm-export.json` statico committato.
|
||||
|
||||
Basato su `keycloak/realm.json` (bozza di riferimento), con l'aggiunta del
|
||||
ruolo `admin` richiesto da `POST /gruppi` e `GET /gruppi` in
|
||||
`scouthub-home-be`: creazione/elenco diretti restano riservati ad `admin`,
|
||||
@@ -23,7 +31,8 @@ Contiene già:
|
||||
il suo `clientId`/`secret` devono corrispondere a
|
||||
`KEYCLOAK_ORG_SERVICE_CLIENT_ID`/`_SECRET` in `scouthub-home-be/.env.example`)
|
||||
- il client pubblico `scouthub-frontend` (login utente, condiviso da tutti i
|
||||
frontend Angular del progetto, redirect su `http://localhost:7000-7003/*`)
|
||||
frontend Angular del progetto, redirect sugli URL pubblici configurati in
|
||||
`.env`/`*_FE_PUBLIC_URL`, `http://localhost:7000-7003/*` di default in locale)
|
||||
|
||||
Passi manuali ancora da fare dopo l'import (non automatizzabili in un realm
|
||||
export senza conoscere gli id generati a runtime):
|
||||
|
||||
@@ -76,21 +76,21 @@
|
||||
"standardFlowEnabled": true,
|
||||
"directAccessGrantsEnabled": false,
|
||||
"redirectUris": [
|
||||
"http://localhost:7000/*",
|
||||
"http://localhost:7001/*",
|
||||
"http://localhost:7002/*",
|
||||
"http://localhost:7002/silent-check-sso.html",
|
||||
"http://localhost:7003/*",
|
||||
"http://localhost:7003/silent-check-sso.html"
|
||||
"__HOME_FE_URL__/*",
|
||||
"__ATTIVITA_FE_URL__/*",
|
||||
"__MAGAZZINO_FE_URL__/*",
|
||||
"__MAGAZZINO_FE_URL__/silent-check-sso.html",
|
||||
"__EVENTI_FE_URL__/*",
|
||||
"__EVENTI_FE_URL__/silent-check-sso.html"
|
||||
],
|
||||
"webOrigins": [
|
||||
"http://localhost:7000",
|
||||
"http://localhost:7001",
|
||||
"http://localhost:7002",
|
||||
"http://localhost:7003"
|
||||
"__HOME_FE_URL__",
|
||||
"__ATTIVITA_FE_URL__",
|
||||
"__MAGAZZINO_FE_URL__",
|
||||
"__EVENTI_FE_URL__"
|
||||
],
|
||||
"attributes": {
|
||||
"post.logout.redirect.uris": "http://localhost:7000/*##http://localhost:7001/*##http://localhost:7002/*##http://localhost:7003/*"
|
||||
"post.logout.redirect.uris": "__HOME_FE_URL__/*##__ATTIVITA_FE_URL__/*##__MAGAZZINO_FE_URL__/*##__EVENTI_FE_URL__/*"
|
||||
},
|
||||
"defaultClientScopes": [
|
||||
"openid",
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
# Sostituisce nel template i placeholder __XXX_FE_URL__ con gli URL pubblici reali dei
|
||||
# frontend (localhost in locale, dominio dietro Caddy in produzione — vedi CLAUDE.md/.env.example),
|
||||
# scrivendo il risultato nella cartella di import di Keycloak. Necessario perche' realm-export.json
|
||||
# è statico e --import-realm non supporta variabili d'ambiente nei suoi campi.
|
||||
set -eu
|
||||
|
||||
: "${HOME_FE_URL:?variabile HOME_FE_URL mancante}"
|
||||
: "${ATTIVITA_FE_URL:?variabile ATTIVITA_FE_URL mancante}"
|
||||
: "${MAGAZZINO_FE_URL:?variabile MAGAZZINO_FE_URL mancante}"
|
||||
: "${EVENTI_FE_URL:?variabile EVENTI_FE_URL mancante}"
|
||||
|
||||
mkdir -p /rendered
|
||||
|
||||
sed \
|
||||
-e "s#__HOME_FE_URL__#$HOME_FE_URL#g" \
|
||||
-e "s#__ATTIVITA_FE_URL__#$ATTIVITA_FE_URL#g" \
|
||||
-e "s#__MAGAZZINO_FE_URL__#$MAGAZZINO_FE_URL#g" \
|
||||
-e "s#__EVENTI_FE_URL__#$EVENTI_FE_URL#g" \
|
||||
/template/realm-export.template.json > /rendered/realm-export.json
|
||||
|
||||
echo "[keycloak-realm-render] realm-export.json generato con:"
|
||||
echo " HOME_FE_URL=$HOME_FE_URL"
|
||||
echo " ATTIVITA_FE_URL=$ATTIVITA_FE_URL"
|
||||
echo " MAGAZZINO_FE_URL=$MAGAZZINO_FE_URL"
|
||||
echo " EVENTI_FE_URL=$EVENTI_FE_URL"
|
||||
Reference in New Issue
Block a user