Here's a video showing how SSO based on Keycloak can be used.
server:
type: pixilab_server
requireHttps: false
auth:
servlet:
security:
- matchers: internalMatcher
authorizers: isAuthenticated
clients: KeycloakOidcClient
clients:
callbackUrl: http://[BLOCKS-IP-OR-DOMAIN]/rest/auth/callback
oidc:
discoveryURI: https://[KEYCLOAK-IP]/realms/[REALM-NAME]/.well-known/openid-configuration
clientId: [CLIENT-ID]
secret: [CLIENT-SECRET]
clientAuthenticationMethod: client_secret_basic
scope: openid profile email
rolesOwner: claims
rolesPath: realm_access.roles
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