CKAN extension to use Google as authentication authority
by Yacme S.r.l ([email protected])


CKAN extension for use Google as authentication authority.

This extension allow users to authenticate in CKAN using their google account. Optionally, it’s possible to filter users by google domain.

At the first access, the extension create a new user in CKAN with strong and complex password and username calculated from email address, substituting every non alphanumerical character with underscore “_”. For example: ‘’ -> ‘name_surname_domain_it’.

If ckan.googleauth_omit_domain_from_username is set (see “Config Settings” section) the domain will be stripped from the username. For example: ‘’ -> ‘name_surname’.


ckanext-googleauth was created and tested in CKAN 2.5.1; it was also tested in CKAN 2.4.1. The functioning with other versions of CKAN is not guaranteed.

To use this extension you must register your application with Google to obtaining authorization credentials. For more information please visit


To install ckanext-googleauth:

  1. Download from here ( and uncompress it in /usr/lib/ckan/default/src.

  2. Entry into /usr/lib/ckan/default/src/ckanext-googleauth.

  3. Execute:

    python install

  4. Configure Client ID and (optionally) Hosted Domain (See “Config Settings” section)

  5. Add googleauth to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/production.ini).

  6. Restart CKAN.

##Config Settings

In your config file (/etc/ckan/default/production.ini) add these properties:

  • ckan.googleauth_clientid = client_id_value (REQUIRED). It contains the Client ID. For more information on how to create Client ID please visit

  • ckan.googleauth_hosted_domain = hosted_domain_value (OPTIONAL) It contains the domain authorized to authenticate. If it isn’t set you will have access with any Google Account Credentials.

  • ckan.googleauth_omit_domain_from_username = true | false (OPTIONAL). Strip the domain when creating the username. Only use this option if all users are logging in with the same domain.

##Development Installation

To install ckanext-googleauth for development, activate your CKAN virtualenv and do::

git clone
cd ckanext-googleauth
python develop

##License This extension is licensed under the terms of GNU AFFERO GENERAL PUBLIC LICENSE Version 3.

##Credits This extension was developed with the support of ARPA Emilia Romagna.

Recent Activity