oauthenticator | OAuth + JupyterHub Authenticator = OAuthenticator | OAuth library

 by   jupyterhub Python Version: 15.1.0 License: BSD-3-Clause

kandi X-RAY | oauthenticator Summary

kandi X-RAY | oauthenticator Summary

oauthenticator is a Python library typically used in Security, OAuth applications. oauthenticator has no bugs, it has build file available, it has a Permissive License and it has low support. However oauthenticator has 2 vulnerabilities. You can download it from GitHub.

OAuth is a token based login mechanism that doesn't rely on a username and password mapping. In order to use this login mechanism with JupyerHub the login handlers need to be overridden. OAuthenticator overrides these handlers for the common OAuth2 identity providers allowing them to be plugged in and used with JupyterHub. The following authentication services are supported through their own authenticator: Auth0, Azure AD, Bitbucket, CILogon, FeiShu, GitHub, GitLab, Globus, Google, MediaWiki, Okpy, OpenShift. There is also a GenericAuthenticator that can be configured with any OAuth 2.0 identity provider or can be used to create a new authenticator class when additional customization is needed.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              oauthenticator has a low active ecosystem.
              It has 360 star(s) with 347 fork(s). There are 23 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 35 open issues and 207 have been closed. On average issues are closed in 351 days. There are 15 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of oauthenticator is 15.1.0

            kandi-Quality Quality

              oauthenticator has 0 bugs and 0 code smells.

            kandi-Security Security

              oauthenticator has 2 vulnerability issues reported (0 critical, 1 high, 1 medium, 0 low).
              oauthenticator code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              oauthenticator is licensed under the BSD-3-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              oauthenticator releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              oauthenticator saves you 1490 person hours of effort in developing the same functionality from scratch.
              It has 4098 lines of code, 284 functions and 42 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed oauthenticator and discovered the below as its top functions. This is intended to give you an instant insight into oauthenticator implemented functionality, and help decide if they suit your requirements.
            • Authenticate the user
            • Helper function to create auth state
            • Get an OAuth2 token
            • Construct the headers for the client
            • Handle login request
            • Handle logout
            • Delete all credentials for a given user
            • Revoke access tokens
            • Perform authorization redirect
            • Get next state
            • Serializes the given state into a base64 encoded string
            • Redirect to the user
            • Authenticate using the provider
            • Wrapper for fetch
            • Get next page from response headers
            • Parse header links
            • Handles the request
            • Return a JSON representation of a request token
            • Authenticate with MediaWiki
            • Render autodoc modules
            Get all kandi verified functions for this library.

            oauthenticator Key Features

            No Key Features are available at this moment for oauthenticator.

            oauthenticator Examples and Code Snippets

            No Code Snippets are available at this moment for oauthenticator.

            Community Discussions

            QUESTION

            Use Django OAuth2 provider with JupyterHub
            Asked 2019-Aug-21 at 07:23

            I'm attempting to run a Django web application that pairs with a JupyterHub server, where users enter via the web app and are then granted access to a notebook server once they've signed in. To facilitate this, I'm attempting to use OAuth2, where Django provides the authentication and JupyterHub verifies users against that.

            I'm using django-oauth-toolkit to provide the authentication service and linking against it using the Generic OAuthenticator. A docker-compose reference implementation is available here. Currently, the authorize redirect works, but some part of the token retrieval process throws the following error:

            ...

            ANSWER

            Answered 2018-Jan-12 at 23:01

            Turned out to be a few minor bugs I had to work through to get this to work:

            1. The URL used to get a token is relative to the JupyterHub server, NOT relative to the client/browser like the authorization url is. In the Docker Compose example provided, the django authentication server is "localhost:8000" relative to the client, but "django:8000" relative to the JupyterHub server.
            2. The appropriate hostnames (both "localhost" and "django") therefore needed to be in the Django app's ALLOWED_HOSTS list.
            3. I'm not positive it's necessary, but I also added the middleware suggested by the oauth-toolkit documentation:

              MIDDLEWARE = [ ..., 'oauth2_provider.middleware.OAuth2TokenMiddleware', ]

            4. JupyterHub also expects a userdata URL to get a username. This must be provided in the OAUTH2_USERDATA_URL environment variable (again, using a URL relative to the JupyterHub server), and that URL must return a JSON blob with, at least, a 'username' key.

            Complete diffs from the previous code to the working example are available at this commit (as well as a complete, minimal example in that repository).

            Source https://stackoverflow.com/questions/48175325

            QUESTION

            JupyterHub does not connect to its public port
            Asked 2019-Apr-20 at 13:19

            JupyterHub not working on public port 8000. It only works on port 8081. Everywhere I read, everyone got their issues magically solved without any solutions.

            https://github.com/jupyterhub/jupyterhub/issues/742

            ...

            ANSWER

            Answered 2019-Apr-20 at 13:19

            Apparently I have to run the following line on another terminal window before JupyterHub.

            Run:

            Source https://stackoverflow.com/questions/55274960

            QUESTION

            How to configure nginx-ingress controller for Github Authentication?
            Asked 2018-May-15 at 10:42

            I set up a Kubernetes Cluster using kubeadm.

            ...

            ANSWER

            Answered 2018-May-15 at 10:42

            It was not a matter of configuration, my configuration was not all that wrong, but it was a port problem. The machines I am using are related to two different accounts on an OpenStack server. The OpenStack server has an ingress/engress controller. I thought I opened up all necessary ports... but it did not work... what struck me, was that it sometimes did work... I figured that when all pods were created on nodes belonging to one account it did work.

            So I decided to only use one account (open all necessary ports for the kubernetes cluster listed here) and it worked.

            I will update my answer if I find out which ingress and engress rules I have to apply to the other account.

            I will update if I find out which ingress and engress rules I have to apply to the

            Source https://stackoverflow.com/questions/50213729

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            An issue was discovered in Project Jupyter JupyterHub OAuthenticator 0.6.x before 0.6.2 and 0.7.x before 0.7.3. When using JupyterHub with GitLab group whitelisting for access control, group membership was not checked correctly, allowing members not in the whitelisted groups to create accounts on the Hub. (Users were not allowed to access other users' accounts, but could create their own accounts on the Hub linked to their GitLab account. GitLab authentication not using gitlab_group_whitelist is unaffected. No other Authenticators are affected.)
            OAuthenticator is an OAuth login mechanism for JupyterHub. In oauthenticator from version 0.12.0 and before 0.12.2, the deprecated (in jupyterhub 1.2) configuration `Authenticator.whitelist`, which should be transparently mapped to `Authenticator.allowed_users` with a warning, is instead ignored by OAuthenticator classes, resulting in the same behavior as if this configuration has not been set. If this is the only mechanism of authorization restriction (i.e. no group or team restrictions in configuration) then all authenticated users will be allowed. Provider-based restrictions, including deprecated values such as `GitHubOAuthenticator.org_whitelist` are **not** affected. All users of OAuthenticator 0.12.0 and 0.12.1 with JupyterHub 1.2 (JupyterHub Helm chart 0.10.0-0.10.5) who use the `admin.whitelist.users` configuration in the jupyterhub helm chart or the `c.Authenticator.whitelist` configuration directly. Users of other deprecated configuration, e.g. `c.GitHubOAuthenticator.team_whitelist` are **not** affected. If you see a log line like this and expect a specific list of allowed usernames: "[I 2020-11-27 16:51:54.528 JupyterHub app:1717] Not using allowed_users. Any authenticated user will be allowed." you are likely affected. Updating oauthenticator to 0.12.2 is recommended. A workaround is to replace the deprecated `c.Authenticator.whitelist = ...` with `c.Authenticator.allowed_users = ...`. If any users have been authorized during this time who should not have been, they must be deleted via the API or admin interface, per the referenced documentation.

            Install oauthenticator

            The installation guide can be found in the docs.
            General Setup
            Azure AD
            FeiShu
            GitHub
            GitLab
            Google
            OpenShift
            Okpy
            Globus
            Moodle
            Yandex

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/jupyterhub/oauthenticator.git

          • CLI

            gh repo clone jupyterhub/oauthenticator

          • sshUrl

            git@github.com:jupyterhub/oauthenticator.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular OAuth Libraries

            satellizer

            by sahat

            cpprestsdk

            by microsoft

            oauth2-server

            by thephpleague

            scribejava

            by scribejava

            socialite

            by laravel

            Try Top Libraries by jupyterhub

            jupyterhub

            by jupyterhubPython

            binderhub

            by jupyterhubPython

            repo2docker

            by jupyterhubPython

            zero-to-jupyterhub-k8s

            by jupyterhubPython

            the-littlest-jupyterhub

            by jupyterhubPython