jupyterhub-multiauthenticator


Namejupyterhub-multiauthenticator JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryAuthenticator multiplexer for JupyterHub
upload_time2023-11-20 14:42:58
maintainer
docs_urlNone
author
requires_python
licenseBSD-3-Clause
keywords jupyterhub authenticator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
Copyright © Idiap Research Institute <contact@idiap.ch>

SPDX-License-Identifier: BSD-3-Clause
-->

# OAuthAuthenticator + LDAP Autenticator ++... = MultiAuthenticator :heart:

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
```

## 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:

```python
from oauthenticator.github import GitHubOAuthenticator
from oauthenticator.google import GoogleOAuthenticator
from oauthenticator.gitlab import GitLabOAuthenticator
from jupyterhub.auth import PAMAuthenticator

c.MultiAuthenticator.authenticators = [
    (GitHubOAuthenticator, '/github', {
        'client_id': 'XXXX',
        'client_secret': 'YYYY',
        'oauth_callback_url': 'https://jupyterhub.example.com/hub/github/oauth_callback'
    }),
    (GoogleOAuthenticator, '/google', {
        'client_id': 'xxxx',
        'client_secret': 'yyyy',
        'oauth_callback_url': 'https://jupyterhub.example.com/hub/google/oauth_callback'
    }),
    (GitLabOAuthenticator, '/gitlab', {
        "client_id": "ZZZZ",
        "client_secret": "AAAAA",
        "oauth_callback_url": "https://jupyterhub.example.com/hub/gitlab/oauth_callback",
        "gitlab_url": "https://gitlab.example.com"
    }),
    (PAMAuthenticator, "/pam", {"service_name": "PAM"}),
]

c.JupyterHub.authenticator_class = 'multiauthenticator.multiauthenticator.MultiAuthenticator'
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "jupyterhub-multiauthenticator",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "JupyterHub,Authenticator",
    "author": "",
    "author_email": "Samuel Gaist <samuel.gaist@idiap.ch>",
    "download_url": "https://files.pythonhosted.org/packages/a9/f0/a5ba4455f2d11837541cb6d66da06b39e481f9ded870cd3764bd593058fa/jupyterhub-multiauthenticator-0.2.0.tar.gz",
    "platform": null,
    "description": "<!--\nCopyright \u00a9 Idiap Research Institute <contact@idiap.ch>\n\nSPDX-License-Identifier: BSD-3-Clause\n-->\n\n# OAuthAuthenticator + LDAP Autenticator ++... = MultiAuthenticator :heart:\n\nThe MultiAuthenticator is multiplexer authenticator class that allows to use\nmore than one authentication option with JupyterHub.\n\n## Installation\n\n```\n$ pip install git+https://github.com/idiap/multiauthenticator\n```\n\n## Configuration\n\nThe MultiAuthenticator class only has one configuration point: authenticators.\n\nThis property shall contain a list of tuple with the following content:\n\n- Authenticator class (i.e. GitLabAuthenticator, LDAPAuthenticator)\n- The URL scope (i.e. /gitlab, /ldap)\n- A dictionary with the authenticator's configuration\n\nAs an example:\n\n```python\nfrom oauthenticator.github import GitHubOAuthenticator\nfrom oauthenticator.google import GoogleOAuthenticator\nfrom oauthenticator.gitlab import GitLabOAuthenticator\nfrom jupyterhub.auth import PAMAuthenticator\n\nc.MultiAuthenticator.authenticators = [\n    (GitHubOAuthenticator, '/github', {\n        'client_id': 'XXXX',\n        'client_secret': 'YYYY',\n        'oauth_callback_url': 'https://jupyterhub.example.com/hub/github/oauth_callback'\n    }),\n    (GoogleOAuthenticator, '/google', {\n        'client_id': 'xxxx',\n        'client_secret': 'yyyy',\n        'oauth_callback_url': 'https://jupyterhub.example.com/hub/google/oauth_callback'\n    }),\n    (GitLabOAuthenticator, '/gitlab', {\n        \"client_id\": \"ZZZZ\",\n        \"client_secret\": \"AAAAA\",\n        \"oauth_callback_url\": \"https://jupyterhub.example.com/hub/gitlab/oauth_callback\",\n        \"gitlab_url\": \"https://gitlab.example.com\"\n    }),\n    (PAMAuthenticator, \"/pam\", {\"service_name\": \"PAM\"}),\n]\n\nc.JupyterHub.authenticator_class = 'multiauthenticator.multiauthenticator.MultiAuthenticator'\n```\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Authenticator multiplexer for JupyterHub",
    "version": "0.2.0",
    "project_urls": null,
    "split_keywords": [
        "jupyterhub",
        "authenticator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3194a2cbcbc8bfe737880d5af56577ee1e4b95d62864b9cf06a448c540def30b",
                "md5": "74fe48b785a85f3106866532b0887306",
                "sha256": "da8bfacb4ba0da848d5bc6fd935ff779c81a10b22ecb42a5fc710ea0cf7f7536"
            },
            "downloads": -1,
            "filename": "jupyterhub_multiauthenticator-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "74fe48b785a85f3106866532b0887306",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 4480,
            "upload_time": "2023-11-20T14:42:57",
            "upload_time_iso_8601": "2023-11-20T14:42:57.406747Z",
            "url": "https://files.pythonhosted.org/packages/31/94/a2cbcbc8bfe737880d5af56577ee1e4b95d62864b9cf06a448c540def30b/jupyterhub_multiauthenticator-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a9f0a5ba4455f2d11837541cb6d66da06b39e481f9ded870cd3764bd593058fa",
                "md5": "b96b7223fcf99ab017294ef688af37b8",
                "sha256": "c1fe98d3a79a9e6456222252f82072605edc1f0d42d0bf98713749f8ef543603"
            },
            "downloads": -1,
            "filename": "jupyterhub-multiauthenticator-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b96b7223fcf99ab017294ef688af37b8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 5017,
            "upload_time": "2023-11-20T14:42:58",
            "upload_time_iso_8601": "2023-11-20T14:42:58.765380Z",
            "url": "https://files.pythonhosted.org/packages/a9/f0/a5ba4455f2d11837541cb6d66da06b39e481f9ded870cd3764bd593058fa/jupyterhub-multiauthenticator-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-20 14:42:58",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "jupyterhub-multiauthenticator"
}
        
Elapsed time: 0.13396s