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.3.tar.gz.

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 3a3317aefe40d2a7402f4eac43dd52571462120b26d238bb53e51c72bed11583
MD5 098a31f84716f2b34c3d0ef9d3b77f3d
BLAKE2b-256 b24ed2eac88abfd747d386b6401c791c6218e201c0fe915e6dbc6736fa41b223

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.2 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1dad9979e058e3d2308a1c649c29a5696bdef3b6a01e8fc4c7030a84698e3b2c
MD5 28ae01c8ae20a1e2c4a829cefd93ecff
BLAKE2b-256 25eeae9065680c900f7629f59b33a88aa4673596c7a7894e9b30a3c3145bc2bb

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