Keycloak

Keycloak is an open-source identity and access management solution that secures applications and services easily. In BC Government, the Pathfinder SSO Keycloak server acts as an OpenID Connect (OIDC) based identity provider.

CHEFS is hosted using a Custom Keycloak realm on the Silver OpenShift cluster. In order to access the admin panel of the Keycloak realm, contact Jason Chung.


User Groups

To provide admin access, the user must be added to both the Realm Administrator and operations-team user groups which can be viewed by navigating to "Manage > Groups" while logged in to the Keycloak admin console. The Realm Administrator group provides access to the admin console within Keycloak itself and the operations-team group provides access to the UI admin panel for the CHEFS application for the dev, test, or production instances.


Duplicate Emails

The realm has the “Duplicate Emails“ setting within the admin console turned on to ensure that BCeID and IDIR are always treated as two separate entities and never merged. This means that if one user has both a BCeid and an IDIR account, they must be treated as two separate users.


Refined Roles

CHEFS uses composites to create roles that can be associated with multiple roles, allowing for grouping and cross-client roles without explicitly choosing roles.


Permissions

CHEFS permissions are handled through the backend database. Keycloak only verifies whether one is a “user” or an “admin.”


Forward Propagating Design

CHEFS is constrained with a forward-propagating design, meaning that all changes to an environment can only be deployed forwards, never backwards. A new migration file must be created in order to make a change and it can’t be removed. Due to this, ensure that the changes you are implementing are correct.


KeycloakID VS GUID

It is best practice to use Government based IDs (GUID/DID) within CHEFS. Using a Keycloak ID (KCID) creates an additional dependency on the Keycloak product which is discouraged should the SSO team decide to use another product in the future.


Migration to Gold

  • Continuity Management Consideration

  • CHEFS Admin Role requires to access admin panel

  • verify-token-audience


Impact on CHEFS Users and End Users

During the process of transitioning the ownership of CHEFS, there is no action required by the users of CHEFS that use the application to create forms or the end-users interacting with the forms (in terms of Keycloak configuration).

However, once the application is hosted on a new domain name, CHEFS users would need to update the new link on any channel they use to reach the end-users.


If you have any questions or suggestions regarding this documentation, kindly contact Jason Chung on the Forms Design and Submissions team.