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',
        ['identity'],
    )
    
  • 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.4.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

girder_cli_oauth_client-0.4.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: girder-cli-oauth-client-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 479dbb7d4e5b2533ec673da5b16017f7cc8a7223b24558f1e1e9922247f5401a
MD5 58b4d58af0fec31314fadd9c9ec43a41
BLAKE2b-256 43fd979811b94590efe4fc82c6483ac01b469bd62623fc8aa1ba38bcfa42fd68

See more details on using hashes here.

File details

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

File metadata

  • Download URL: girder_cli_oauth_client-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64d953371debf6eb2db179e6a5c02bdc78d23ca055a19d433d58822a1631821b
MD5 3f2cf7e62142b16ce230601ce3d29368
BLAKE2b-256 313c59dc9da87f132a3acdc484d8a4d749a503d041dae57ab23dff3a20ef0a50

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