Extension OAuth2


Extension Basics

Title
OAuth2
Name
ckanext-oauth2
Type
Public extension
Description
OAuth2 Extension ermöglicht Site-Besuchern die Anmeldung über einen OAuth2-Server mit Unterstützung für verschiedene Identity Provider.
CKAN versions
Download-Url (zip)
Last commit
6 years ago (2019-04-12 15:52:23)
Url to repo
Category
Authentication & Security


Background Infos

Description (long)
Show details

The OAuth2 extension allows site visitors to login through an OAuth2 server. This extension supports integration with multiple OAuth2 providers including FIWARE KeyRock, Google, and other OAuth2-compliant services. Features include: automatic user creation on first login, token management with refresh capabilities, JWT token support, customizable authorization headers, configurable login/register/reset URLs, sysadmin group management, and secure HTTPS-only operation. The extension stores access tokens and refresh tokens in a dedicated database table and provides seamless integration with CKAN’s authentication system. Based on the idea proposed by Etalab.

Version
0.7.0
Version release date
2018-11-15
Contact name
Aitor Magán
Contakt email
Contact Url
(not set)


Installation Guide

Configuration hints

Requires HTTPS for operation. Set OAUTHLIB_INSECURE_TRANSPORT=True for development/testing. Configure OAuth2 provider with callback URL: https://YOUR_CKAN_INSTANCE/oauth2/callback. Database table ‘user_token’ is automatically created. Supports environment variables for all configuration options.

Plugins to configure (ckan.ini)
oauth2
CKAN Settings (ckan.ini)
## OAuth2 configuration
# ckan.oauth2.register_url = https://YOUR_OAUTH_SERVICE/users/sign_up
# ckan.oauth2.reset_url = https://YOUR_OAUTH_SERVICE/users/password/new
# ckan.oauth2.edit_url = https://YOUR_OAUTH_SERVICE/settings
# ckan.oauth2.authorization_endpoint = https://YOUR_OAUTH_SERVICE/authorize
# ckan.oauth2.token_endpoint = https://YOUR_OAUTH_SERVICE/token
# ckan.oauth2.profile_api_url = https://YOUR_OAUTH_SERVICE/user
# ckan.oauth2.client_id = YOUR_CLIENT_ID
# ckan.oauth2.client_secret = YOUR_CLIENT_SECRET
# ckan.oauth2.scope = profile other.scope
# ckan.oauth2.rememberer_name = auth_tkt
# ckan.oauth2.profile_api_user_field = JSON_FIELD_TO_FIND_THE_USER_IDENTIFIER
# ckan.oauth2.profile_api_fullname_field = JSON_FIELD_TO_FIND_THE_USER_FULLNAME
# ckan.oauth2.profile_api_mail_field = JSON_FIELD_TO_FIND_THE_USER_MAIL
# ckan.oauth2.authorization_header = Authorization
# ckan.oauth2.jwt.enable = false
# ckan.oauth2.legacy_idm = false
# ckan.oauth2.profile_api_groupmembership_field = 
# ckan.oauth2.sysadmin_group_name =
DB migration to be executed
(not set)
<< back to Extensions