ckanext-sso
OpenID Connect plugin for CKAN used by the B.C. Data Catalogue.
Currently only supports Keycloak.
Features
- Keycloak-based Single Sign-On (SSO) authentication
- Bearer token support for CKAN REST API access
- Auto-creation of CKAN users for corresponding Keycloak users
- Original CKAN auth works alongside SSO
- Users are added to organizations based on Keycloak group memberships
- Sysadmin group assignment via Keycloak groups
Requirements
- CKAN 2.7+
- Keycloak identity provider
Installation
To install ckanext-sso:
- Activate your CKAN virtual environment.
- Clone the source and install it:
git clone https://github.com/bcgov/ckanext-sso.git
cd ckanext-sso
pip install -e .
- Add
sso to the ckan.plugins setting in your CKAN config file.
- Configure the Keycloak settings in your CKAN config.
Config settings
ckan.sso.authorization_endpoint = <keycloak auth endpoint>
ckan.sso.realm = <keycloak realm>
ckan.sso.client_id = <client id>
ckan.sso.client_secret = <client secret>
ckan.sso.sysadmin_group_name = <group name for sysadmins>
ckan.sso.profile_group_field = <field for group membership>
ckan.sso.profile_username_field = <field for username>
ckan.sso.profile_email_field = <field for email>
ckan.sso.profile_fullname_field = <field for display name>
ckan.sso.profile_group_delim = <delimiter for groups>
License
AGPL-3.0