Skip to main content

REMOTE_USER Authenticator (Shibboleth variant): An Authenticator for Jupyterhub to read user information from HTTP request headers, as when running behind an authenticating proxy.

Project description

jhub_shibboleth_user_authenticator

Shibboleth User Authenticator for JupyterHub

This is an implementation of a Shibboleth User Authenticator. The authenticator needs a special proxy (e.g. nginx) which implements the shibboleth authorisation as a service provider, serving the /Shibboleth.sso/* commands and pass all other addresses to the jupyterhub proxy.

alt text

This package is the extracting the data from the shibboleth authorisation process and is performing the login process in the jupyterhub.

Shibboleth creates some extra cookies (depending on the configuration), e.g. remote_user . Ususally the remote_user is a complete email address 'username @ domain'. Jupyterhub uses only a username. In some configurations you can get additional cookie entries e.g. the uid which can be used in jupyterhub.

Installation

This package can be installed with pip either from a local git repository or from PyPi.

Installation from local git repository:

cd jhub_shibboleth_user_authenticator
pip install .

Installation from PyPi:

pip install jhub_shibboelth_user_authenticator

Alternately, you can add the local project folder must be on your PYTHONPATH.

Configuration

Usage with a simple jupyterhub configuration:

# use the shibboleth authentidcator
c.JupyterHub.authenticator_class = 'jhub_shibboleth_user_authenticator.shibboleth_user_auth.ShibbolethUserAuthenticator

# use a different cookie entry as the user name , remote_user is the default!
c.Authenticator.header_name = 'uid'

# put some extra values in the auth_state for the spawner
# don't forget to activate c.Authenticator.enable_auth_state = True
c.Authenticator.auth_state_header_names = ['mail', 'givenname']

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

Built Distribution

File details

Details for the file jhub_shibboleth_user_authenticator-0.1.4.tar.gz.

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.4.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for jhub_shibboleth_user_authenticator-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1d6db909125a990370fc7c13f86e43ecbf4fa5cd85c8384dbb6d91c0ff2d3b80
MD5 4495324501ad1261266a973365f8609a
BLAKE2b-256 0bade474baf921cdf98e85a3b6375e861c2572233b524e0059dd4a1e03d53d33

See more details on using hashes here.

File details

Details for the file jhub_shibboleth_user_authenticator-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for jhub_shibboleth_user_authenticator-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e8053e7470676086263362233011c34a0e2159dc6ca01eebf548e04fdcaa0bec
MD5 6bd8d10410949480e1b297545111c0f3
BLAKE2b-256 7266df015181b5a7d6cac8596c1e9e1adf7295021a4e149928aac4c2d3b74e37

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