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)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyterhub_multiauthenticator-0.4.0.tar.gz | 5.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|