Here's a video showing how SSO based on Keycloak can be used.
server: type: pixilab_server auth: urlResolver: null ajaxRequestResolver: null callbackUrl: http://[BLOCKS-IP-OR-DOMAIN]/rest/auth/callback rolesOwner: claims rolesPath: realm_access.roles clients: - org.pac4j.oidc.client.OidcClient: configuration: discoveryURI: https://[KEYCLOAK-IP]/realms/[REALM-NAME]/.well-known/openid-configuration clientId: [CLIENT-ID] secret: [CLIENT-SECRET] clientAuthenticationMethod: client_secret_basic scope: openid profile servlet: security: - matchers: internalMatcher clients: OidcClient authorizers: isAuthenticated
If the roles you've added to Keycloak does not match the roles used by blocks, or if you have set up roles on Keycloak already and would like to re-use them, you can add role mapping to the Blocks configuration file. You do this by defining a server.auth.rolesMapping parameter where the keys are the roles of your Keycloak configuration and the values the roles Blocks know about. For example:
rolesMapping: KeycloakAdmin: Admin KeycloakManager: Manager KeycloakCreator: Creator KeycloakEditor: Editor KeycloakContributor: Contributor KeycloakStaff: Staff