Skip to main content

JupyterHub OAuthenticator + LDAPAuthenticator ++... = MultiAuthenticator ❤️

The MultiAuthenticator is multiplexer authenticator class that allows to use more than one authentication option with JupyterHub.

Installation

$ pip install git+https://github.com/idiap/multiauthenticator
$ pip install jupyter-multiauthenticator

Configuration

The MultiAuthenticator class only has one configuration point: authenticators.

This property shall contain a list of tuple with the following content:

  • Authenticator class (i.e. GitLabAuthenticator, LDAPAuthenticator)
  • The URL scope (i.e. /gitlab, /ldap)
  • A dictionary with the authenticator's configuration

As an example:

from jupyterhub.auth import PAMAuthenticator

class MyPamAutenticator(PAMAuthenticator):
    login_service = "PAM"

c.MultiAuthenticator.authenticators = [
    {
        "authenticator_class": 'github',
        "url_prefix": '/github',
        "config": {
            'client_id': 'XXXX',
            'client_secret': 'YYYY',
            'oauth_callback_url': 'https://jupyterhub.example.com/hub/github/oauth_callback'
        }
    },
    {
        "authenticator_class": 'google',
        "url_prefix": '/google',
        "config": {
            'client_id': 'xxxx',
            'client_secret': 'yyyy',
            'oauth_callback_url': 'https://jupyterhub.example.com/hub/google/oauth_callback'
        }
    },
    {
        "authenticator_class": 'gitlab',
        "url_prefix": '/gitlab',
        "config": {
            'client_id': 'ZZZZ',
            'client_secret': 'AAAA',
            'oauth_callback_url': 'https://jupyterhub.example.com/hub/gitlab/oauth_callback'
            "gitlab_url": "https://gitlab.example.com"
        }
    },
    {
        "authenticator_class": MyPamAuthenticator,
        "url_prefix": "/pam",
    },
]

c.JupyterHub.authenticator_class = 'multiauthenticator'

Release files for jupyterhub-multiauthenticator 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterhub-multiauthenticator 0.4.0
File Size Uploaded
jupyterhub_multiauthenticator-0.4.0.tar.gz 5.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterhub-multiauthenticator 0.4.0
File Interpreter ABI Platform
jupyterhub_multiauthenticator-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.1 kB

Release files / jupyterhub_multiauthenticator-0.4.0.tar.gz

Download URL jupyterhub_multiauthenticator-0.4.0.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
56f44742cef11f2bc82c688d48de3917a2ef04a73ec2f720a5a48ed23db4085c
BLAKE2b-256 checksum
How to use checksums
acd8fff3e1bd023dee0a7a5bd2849bb577741d4349410c9a986e4b35fd0d3ca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / jupyterhub_multiauthenticator-0.4.0-py3-none-any.whl

Download URL jupyterhub_multiauthenticator-0.4.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
363a94081bbaaf8035dd9a57c82f7da65ce8fa0d3dd1ce69886777b78fd04946
BLAKE2b-256 checksum
How to use checksums
d6406f001657520f99c37a1703fab95dcb3eee3b69da2672fdd830a6ec23937d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page