Skip to content

isprojects/_obsolete_django-auth-adfs-db

Repository files navigation

Version:0.3.0
Source:https://github.com/isprojects/django-auth-adfs-db
Keywords:ADFS, Django, database, authentication backend
PythonVersion:3.7

build-status Coverage status

python-versions django-versions pypi-version

A database-backed django-auth-adfs settings class

  • Thin layer on top of django-auth-adfs
  • SAAS ready: store ADFS configuration in a database singleton
  • Quick toggle to enable/disable ADFS based auth
  • Hooks into Django's auth machinery

Django-auth-adfs-db provides a setting class reading out the dynamic ADFS configuration. This moves the ADFS configuration from deploy-time to run-time, and SAAS clients can configure their ADFS integration themselves. No more server reloads of deployment environment variable changes needed!

  • Python 3.6 or higher
  • setuptools 30.3.0 or higher
  • Django 2.1 or higher
  • PostgreSQL (with jsonb field)
pip install django-auth-adfs-db

This will also install the django-auth-adfs and django-solo packages.

Make sure the following libraries are added to your INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    "django_auth_adfs"
    "django_auth_adfs_db"
    "solo",
    ...
]

Add django_auth_adfs_db.backends.AdfsAuthCodeBackend to AUTHENTICATION_BACKENDS.

Ensure that LOGIN_URL and LOGIN_REDIRECT_URL are configured. You can set:

LOGIN_URL = reverse_lazy("django_auth_adfs:login")
LOGIN_REDIRECT_URL = "/"

if you wish to make ADFS your primary auth login.

Set the AUTH_ADFS config class:

AUTH_ADFS = {"SETTINGS_CLASS": "django_auth_adfs_db.settings.Settings"}

or a subclass thereof.

Finally, register the URLs in your root config with:

urlpatterns += [path("oauth2/", include("django_auth_adfs.urls")),]

Template: admin/login.html

{% extends "admin/login.html" %}
{% load solo_tags i18n %}


{% block content %}
{{ block.super }}

{% get_solo 'django_auth_adfs_db.ADFSConfig' as adfs_config %}
{% if adfs_config.enabled %}
<div class="submit-row">
    <a href="{% url 'django_auth_adfs:login' %}">{% trans "Login with ADFS" %}</a>
</div>
{% endif %}
{% endblock %}

You can now configure the ADFS settings in the Django admin.

Please follow the django-auth-adfs documentation for advanced usage.

About

A database-backed django-auth-adfs settings class

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages