{ "realm": "scouthub", "enabled": true, "organizationsEnabled": true, "sslRequired": "external", "registrationAllowed": true, "registrationEmailAsUsername": true, "loginWithEmailAllowed": true, "resetPasswordAllowed": true, "verifyEmail": false, "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." } } ] }