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

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.6.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for jhub_shibboleth_user_authenticator-0.1.6.tar.gz
Algorithm Hash digest
SHA256 a8d2c5a62daa24ae600d1011eb44dea908b84fb1601c1b990265ddd1953a7380
MD5 376d38176313ec29895c60de236773cd
BLAKE2b-256 57e1f3f9ded9ccacad4bbabbe9574b2cac960c8dccd2834bf61b0ff511c5579a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for jhub_shibboleth_user_authenticator-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 896050bbcfa1aeb3e09b5be63b9a4036f0c738d133b60ebb1a14c6cbcff0dc88
MD5 62e6d453f80baf272cd86545a62de4fb
BLAKE2b-256 2e2000d2d7d605489a05711860289db034ae30af09b7ecd5d7594395e65b7647

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