Skip to main content

Python package to interact with multiple authentication services

Project description

py-multiauth PyPI CI CD codecov

PyPI - Python Version PyPI - Downloads

Installation

pip install py-multiauth

Supported methods

Name Authenticate Refresh Extra
API_KEY
AWS Signature
BASIC
REST
DIGEST
GRAPHQL
HAWK
MANUAL
OAUTH

Usage

Loading a configuration file

Currently, we support 4 way of loading a configuration file.

# Using constructor argument
MultiAuth(authrc_file='path.json')

# Using environment variable
os.environ['AUTHRC'] = 'path.json'

# Using autodection
os.paths.exists('.authrc')?

# Using autodection from user home directory
os.path.exists(os.path.expanduser('~/.multiauth/.authrc'))?

Managing authentication flow

MultiAuth supports context singleton. From that, you can instanciate MultiAuth and re-use the same class in another package as far it is sharing the same context.

auth = MultiAuth(auths=.., users=.., authrc=.., logger=..)

# Sending the requests to get the correct headers
auth.authenticate_users()

# Getting the header before sending a HTTP request
auth_headers = auth.reauthenticate(username=.., additional_headers=.., no_auth=..)
r = requests.get('https://example.com', headers=auth_headers[0])

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License PyPI - License

MIT

Project details


Release history Release notifications | RSS feed

This version

1.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_multiauth-1.9.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

py_multiauth-1.9-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file py_multiauth-1.9.tar.gz.

File metadata

  • Download URL: py_multiauth-1.9.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for py_multiauth-1.9.tar.gz
Algorithm Hash digest
SHA256 7538428801d5350572f3ac84d3b0f31b2d6900e00d9c3fb1ee4c809a20bd8ddf
MD5 eeadc5a6a48d693cca2fd5a18ec8b329
BLAKE2b-256 38f6f15f5d283f25f77f65e4c77877c5b68c6e65b2d64ae079f5debb50d22123

See more details on using hashes here.

File details

Details for the file py_multiauth-1.9-py3-none-any.whl.

File metadata

  • Download URL: py_multiauth-1.9-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for py_multiauth-1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d16d012a93a9b64284cb3fcf79f81f3caf1ecd1895a469e18bbcc19643d75b2f
MD5 eb28501584cb7de0168e1f5b9930f248
BLAKE2b-256 ac12391ea3efa93c84eed8b65a7c956c83ac64c2907ff3eab887a9c766ca3e25

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