Skip to main content

Login to CKAN using Drupal's session cookie

Project description

Tests

ckanext-drupal-idp

When Drupal's session cookie is available use it for user authentication. Create missing users, using data from Drupal's DB and synchronize(conditionally) fields when user details changed on Drupal's side.

Requirements

  • python >= 3.6
  • CKAN >= 2.9

Installation

To install ckanext-drupal-idp:

  1. Activate your CKAN virtual environment, for example:

    . /usr/lib/ckan/default/bin/activate

  2. Clone the source and install it on the virtualenv

    git clone https://github.com/DataShades/ckanext-drupal-idp.git cd ckanext-drupal-idp pip install -e .

  3. Add drupal-idp to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/ckan.ini).

  4. Configure Drupal's DB:

    ckanext.drupal_idp.db_url =

  5. Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:

    sudo service apache2 reload

Config settings

# Defines database used by the Drupal application
# (mandatory).
ckanext.drupal_idp.db_url = mysql://drupal_user:drupal_pass@127.0.0.1:3306/db_name

# Whether to make an attempt to synchronize user's email and name everytime
# session is used. This may result in unauthenticated session if new name or email
# already present in CKAN database
# (optional, default: false).
ckanext.drupal_idp.synchronization.enabled = true

# Configure hostname of the drupal instance statically. Usefull for local testing with
# manually added cookie from any accessible drupal instance
# (optional)
ckanext.drupal_idp.host = my.site.com

# Whether to set sysadmin flag on the user who has Drupal's admin role
# (optional, default: false)
ckanext.drupal_idp.admin_role.inherit = true

# Name of the role that grants sysadmin status
# (optional, default: administrator)
ckanext.drupal_idp.admin_role.name = administrator

Developer installation

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

git clone https://github.com/DataShades/ckanext-drupal-idp.git
cd ckanext-drupal-idp
python setup.py develop
pip install -r dev-requirements.txt

Tests

To run the tests, do:

pytest --ckan-ini=test.ini ckanext/drupal_idp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckanext-drupal-idp-0.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

ckanext_drupal_idp-0.1.0-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file ckanext-drupal-idp-0.1.0.tar.gz.

File metadata

  • Download URL: ckanext-drupal-idp-0.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for ckanext-drupal-idp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2375efde2178bed9fc0c105977297cbed7afcf75a4ef15a89e08bd2ce258ff53
MD5 0c4056ccd837a7e0618441633f8c6eeb
BLAKE2b-256 3ace45b3f14f88664cf5947a389f98d10668862c81d826925c64dbc5d7da0413

See more details on using hashes here.

File details

Details for the file ckanext_drupal_idp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ckanext_drupal_idp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for ckanext_drupal_idp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dfba03e8d8ac35dff672b571f7a245e0c9b6c8eca24e0107cbc1712ba0bdfa18
MD5 10ceca65bbb4b65f66ad1d07240bd5f4
BLAKE2b-256 6c8ad99a3d537f923936d3c83436be187134dd879372cbaa888a223e8b0f9d6d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page