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 Proxy support
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=.., public=..)
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

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-2.0.0rc20.tar.gz (42.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_multiauth-2.0.0rc20-py3-none-any.whl (55.9 kB view details)

Uploaded Python 3

File details

Details for the file py_multiauth-2.0.0rc20.tar.gz.

File metadata

  • Download URL: py_multiauth-2.0.0rc20.tar.gz
  • Upload date:
  • Size: 42.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for py_multiauth-2.0.0rc20.tar.gz
Algorithm Hash digest
SHA256 715779970bcbc8cc8e46ffee2196be84dfa758b6999ddf6efe042bf43417704f
MD5 6d0ddda9feb6870e720e04c13b06f26a
BLAKE2b-256 0cca00298ec2a47e2921664163144145f1098567bfb57de3ca41e743396a1fe0

See more details on using hashes here.

File details

Details for the file py_multiauth-2.0.0rc20-py3-none-any.whl.

File metadata

File hashes

Hashes for py_multiauth-2.0.0rc20-py3-none-any.whl
Algorithm Hash digest
SHA256 575c4eec048c976fec28d335c314f01a8251c0335fac595b690200086b115c59
MD5 2c25c5f95520cadcfaeaace69ea01d5b
BLAKE2b-256 e77abaeeaf4d6904e136de06822d7f7b2caf832894f05828b9f4fcd88e1691f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page