Files
scouthub/keycloak/realm-export.json
2026-08-01 03:12:23 +02:00

138 lines
5.0 KiB
JSON

{
"realm": "scouthub",
"enabled": true,
"organizationsEnabled": true,
"sslRequired": "external",
"registrationAllowed": true,
"registrationEmailAsUsername": true,
"loginWithEmailAllowed": true,
"editUsernameAllowed": true,
"resetPasswordAllowed": true,
"verifyEmail": false,
"displayName": "Scouthub",
"displayNameHtml": "Scouthub",
"loginTheme": "scouthub",
"accessTokenLifespan": 3600,
"ssoSessionIdleTimeout": 28800,
"ssoSessionMaxLifespan": 36000,
"offlineSessionIdleTimeout": 28800,
"offlineSessionMaxLifespan": 36000,
"roles": {
"realm": [
{
"name": "admin",
"description": "Puo' fare tutto su tutte le organizzazioni. Ex admin-centrale. Unico ruolo abilitato a POST/GET /gruppi diretti; gli utenti normali passano dal flusso self-service di richiesta creazione gruppo",
"composite": true,
"composites": { "realm": ["capo-gruppo", "moderatore"] }
},
{
"name": "capo-gruppo",
"description": "Gestisce il proprio gruppo scout (Organization): membri, inviti, ruoli",
"composite": true,
"composites": { "realm": ["capo-unita"] }
},
{
"name": "capo-unita",
"description": "Gestisce attivita' e materiali della propria unita' (branca)",
"composite": true,
"composites": { "realm": ["capo"] }
},
{
"name": "capo",
"description": "Vede e modifica parzialmente le cose della propria unita' (branca). Permessi identici a capo-unita per ora, da differenziare in futuro",
"composite": true,
"composites": { "realm": ["censito"] }
},
{ "name": "censito", "description": "Accesso in sola consultazione" },
{ "name": "manage-organizations", "description": "Placeholder locale: il ruolo reale e' il client role manage-organizations su realm-management" },
{ "name": "moderatore", "description": "Puo' approvare/rifiutare proposte da moderare nei vari servizi (es. catalogo materiali del magazzino, in futuro validazione attivita' prima della pubblicazione). Ex admin-catalogo" }
]
},
"clients": [
{
"clientId": "scouthub-home-be",
"name": "Servizio di gestione gruppi scout (org-service)",
"enabled": true,
"protocol": "openid-connect",
"publicClient": false,
"standardFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": true,
"clientAuthenticatorType": "client-secret",
"secret": "CAMBIA-QUESTO-SECRET-IN-UN-VAULT",
"attributes": {
"note": "Usato solo server-to-server dal backend org-service verso le Admin REST API. Non esporre mai il secret al frontend."
}
},
{
"clientId": "scouthub-frontend",
"name": "Frontend Angular Scouthub",
"enabled": true,
"protocol": "openid-connect",
"publicClient": true,
"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"
],
"webOrigins": [
"http://localhost:7000",
"http://localhost:7001",
"http://localhost:7002",
"http://localhost:7003"
],
"attributes": {
"post.logout.redirect.uris": "http://localhost:7000/*##http://localhost:7001/*##http://localhost:7002/*##http://localhost:7003/*"
},
"defaultClientScopes": [
"openid",
"basic",
"roles",
"profile",
"email",
"organization"
]
},
{
"clientId": "scouthub-magazzino-be",
"name": "Servizio di gestione catalogo magazzino (magazzino-be)",
"enabled": true,
"protocol": "openid-connect",
"publicClient": false,
"standardFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": true,
"clientAuthenticatorType": "client-secret",
"secret": "CAMBIA-QUESTO-SECRET-IN-UN-VAULT",
"redirectUris": [],
"attributes": {
"note": "Usato solo server-to-server dal backend scouthub-magazzino-be verso le Admin REST API. Non esporre mai il secret al frontend."
}
},
{
"clientId": "scouthub-eventi-be",
"name": "Servizio di gestione eventi (eventi-be)",
"enabled": true,
"protocol": "openid-connect",
"publicClient": false,
"standardFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": true,
"clientAuthenticatorType": "client-secret",
"secret": "CAMBIA-QUESTO-SECRET-IN-UN-VAULT",
"redirectUris": [],
"attributes": {
"note": "Usato solo server-to-server dal backend scouthub-eventi-be verso le Admin REST API. Il secret va condiviso anche con attivita-be e magazzino-be, che lo usano come client credentials per chiamare POST /eventi/:id/risorse su scouthub-eventi-be. Non esporre mai il secret al frontend."
}
}
]
}