Skip to main content

A Python library for performing OAuth login to a Girder 4 (Django) server.

Project description

girder-cli-oauth-client

A Python library for performing OAuth login to a Girder 4 (Django) server.

Description

This provides support for authenticating with Girder 4 servers, using the OAuth2.0 Authorization Code Grant with PKCE flow and out-of-band redirection.

Usage

  • Install the library:

    pip install girder-cli-oauth-client
    
  • Instantiate an OauthClient with your application-specific configuration:

    from girder_cli_oauth_client import GirderCliOAuthClient
    
    oauth_client = GirderCliOAuthClient(
        'http://localhost:8000/oauth/',
        '1ohsuyWIx9fEsJhmAH2AWGNUqd8Wsd7LHyongtVy',
    )
    
  • Call login when it's time to start a login flow:

    oauth_client.login()  # open the browser to login and wait for a code
    
  • At the start of every application start, unconditionally call maybe_restore_login, to attempt to restore a login state; this will no-op if no login is present.

    oauth_client.maybe_restore_login()
    
  • Include these headers with every API request:

    requests.get('http://localhost:8000/api/users/me', headers=oauth_client.auth_headers)
    
  • Call logout to clear any active login:

    oauth_client.logout()
    

Example app

This repository comes bundled with an example application. Run it with:

git clone https://github.com/girder/girder-cli-oauth-client.git
pip install -e '.[dev]'
cd example
python cli.py login
python cli.py me

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

girder-cli-oauth-client-0.3.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

girder_cli_oauth_client-0.3.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file girder-cli-oauth-client-0.3.0.tar.gz.

File metadata

  • Download URL: girder-cli-oauth-client-0.3.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

File hashes

Hashes for girder-cli-oauth-client-0.3.0.tar.gz
Algorithm Hash digest
SHA256 37536b37a7a5f0dfae85f05dc4cab3cc31f0c3b63b59085f0244420fb1ffd46b
MD5 a92f04332ab863e3c5086ba741f6fea1
BLAKE2b-256 65452578b18362fff745f7429cc9ca9080c94a34244a2cc93d98dd2739d5dff8

See more details on using hashes here.

File details

Details for the file girder_cli_oauth_client-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: girder_cli_oauth_client-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

File hashes

Hashes for girder_cli_oauth_client-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5bb48d2072e4a38459c548f0cd9744120d59d7f3be612e6b33e69311202c6a59
MD5 9681445fa4a13876b47350bf083c7415
BLAKE2b-256 57311b65181663ef981d6b5e36b5845a61c2c939f9eebba9064c068564d63519

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