Skip to main content

Auth Exchange

Documentation Status

Documentation: https://django-auth-exchange.readthedocs.io

Source: https://github.com/gregschmit/django-auth-exchange

PyPI: https://pypi.org/project/django-auth-exchange/

Auth Exchange is a reusable Django app that allows you to authenticate users against an Exchange/Office365 server (using exchangelib).

The Problem: I don’t want users of my app to remember another password.

The Solution: This app allows those users to authenticate using their Exchange email credentials.

How to Use

$ pip install django-auth-exchange

Include django_auth_exchange in your INSTALLED_APPS.

Add django_auth_exchange.backends.ExchangeAuthBackend to your AUTHENTICATION_BACKENDS, e.g.:

AUTHENTICATION_BACKENDS = [
    'django_auth_exchange.backends.ExchangeAuthBackend',
    'django.contrib.auth.backends.ModelBackend',
]

Configure at least one domain:

AUTH_EXCHANGE_DOMAIN_SERVERS = {
    'example.org': 'autodiscover',
}

Settings

AUTH_EXCHANGE_CREATE_UNKNOWN_USER (default: True) - Determines if users should be created if they are not found in the local database.

AUTH_EXCHANGE_DEFAULT_DOMAIN (default: 'example.com') - If only a username is provided, this is the default domain that will be associated.

AUTH_EXCHANGE_ALLOWED_FORMATS (default: ['email', 'netbios', 'username']) - This specifies which formats are allowed as the username (email means someuser@example.com, netbios means EXAMPLE\someuser, and username means someuser).

AUTH_EXCHANGE_DOMAIN_SERVERS (default: {}) - This specifies the domains which are allowed to authenticate and the server that should be used for authentication (or 'autodiscover'). Hint: Office365 uses the server outlook.office365.com.

AUTH_EXCHANGE_DOMAIN_USER_PROPERTIES (default: {}) - This specifies the settings we should apply to a user when they are added to the local database for each domain (e.g., to make all example.com users superusers, do: {'example.com': {'is_staff': True, 'is_superuser': True}}).

AUTH_EXCHANGE_NETBIOS_TO_DOMAIN_MAP (default: {}) - This specifies a mapping from NETBIOS names to domain names.

Contributing

Email gschmi4@uic.edu if you want to contribute. You must only contribute code that you have authored or otherwise hold the copyright to, and you must make any contributions to this project available under the MIT license.

To collaborators: don’t push using the --force option.

Metadata

Release files for django-auth-exchange 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-auth-exchange 0.1.2
File Size Uploaded Provenance Actions
django-auth-exchange-0.1.2.tar.gz 6.2 kB Without provenance Details for django-auth-exchange-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-auth-exchange 0.1.2
File Interpreter ABI Platform Actions
django_auth_exchange-0.1.2-py3-none-any.whl Python 3 none any Details for django_auth_exchange-0.1.2-py3-none-any.whl

Total release size: 14.9 kB

Release files / django-auth-exchange-0.1.2.tar.gz

Download URL django-auth-exchange-0.1.2.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2ead29230a73fb3774e6eee40ce820253dda730f8b2dcc4ada73bea95c7c8c8d
BLAKE2b-256 checksum
How to use checksums
4f381d676f778fedf563f5f4d4fd771a5426c2a2008e4ee567dfe3c59535da59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

Release files / django_auth_exchange-0.1.2-py3-none-any.whl

Download URL django_auth_exchange-0.1.2-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b20cf77509736176ab0e9d89f01dec6e7d65d74c33a5f5ae6ffcd463ca643d0f
BLAKE2b-256 checksum
How to use checksums
7b5a23aae28ec4d9017606f68b73b2dfef2df2bd97f6ffb6c7f9b7be72f4ba5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

Security for django-auth-exchange 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page