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

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.5.tar.gz
  • Upload date:
  • Size: 35.5 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.5.tar.gz
Algorithm Hash digest
SHA256 5b7d898ac8e3bd743b5690da2b57e05fb3a8dfdf98fe01c0989d00321d1f11f9
MD5 2de70e82d589db0397c44db0774ff209
BLAKE2b-256 5f5147d2f07c6d9272ef4d590528be16c7777193ba461512e087eb159c748739

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jhub_shibboleth_user_authenticator-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 17.7 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8bcb14b361a8643db0401cad52b6201e3658d13ef7e110e6e0ec407feb117336
MD5 dcf54bf3380b60f5a236a41faa3585cb
BLAKE2b-256 c5e04d5fd3a3de77451453936332ef52c24d452af3621f4b3356ebb75ba8c143

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