Skip to main content

Python requests session for microsoft with support for oauth2, adal and msal

Project description

Python Requests session for authenticating with Microsoft (MSAL/ADAL)

About

requests_ms_auth is a Requests compatible session class that you can use to authenticate with Microsoft either over Azure Active Directory Authentication Library (ADAL) or Microsoft Authentication Library (MSAL).

Basic operation

1. Import the class:

# Import the session class
from requests_ms_auth import MsRequestsSession:

2. Prepare credentials

# Prepare your credentials in a dict
auth_config = {
    # The Azure resource ID
    resource: "12345678-1234-1234-1234-123456789abc"
    # The Azure tenant ID
    tenant: "12345678-1234-1234-1234-123456789abc"
    # The Azure authority host URL
    authority_host_url: "https://login.microsoftonline.com"
    # The service client ID
    client_id: "12345678-1234-1234-1234-123456789abc"
    # The service secret
    client_secret: "this is a very secret secret key"
    # (Optional) An endpoint that should return 200 on get with these credentials (for quickly verifying that auth works)
    verification_url: "https://your.service.example.com/your/api/path"
}

3. Instanciate a session from the class:

# Instanciate the class with authentication dict as parameters
session = MsRequestsSession(auth_config)

4. Use the session:

# Use the session as you would use any other Requests session
res = session.get( "https://your.service.example.com/your/api/path")

5. Profit!

The session should automatically fetch a token on startup and when the token expires. It will also verify itself using the optional verification_url if specified, allowing you to terminate early on failure.

License

Please see LICENSE file for details. requests_adal_auth has G-Faps and is licensed under GNU AFFERO GENERAL PUBLIC LICENSE.

History

This project grew from the need of the latigo project.

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

requests_ms_auth-0.0.7.tar.gz (21.1 kB view hashes)

Uploaded Source

Built Distribution

requests_ms_auth-0.0.7-py3-none-any.whl (16.7 kB view hashes)

Uploaded Python 3

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