Easily integrate Microsoft Authentication into your Django projects
Welcome to Django Microsoft SSO
This library aims to simplify the process of authenticating users with Microsoft in Django Admin pages,
inspired by libraries like django_microsoft_auth
and django-admin-sso
Documentation
Install
$ pip install django-microsoft-sso
Configure
- Add the following to your
settings.py
INSTALLED_APPS
:
INSTALLED_APPS = [
"django.contrib.messages",
"django_microsoft_sso",
]
- In Microsoft Entra Administration Center create a multi-tenant app registration and at Application Register, retrieve your
Application ID. Navigate to Certificate & secrets link, and get the Client Secret Value. Add both in your
settings.py
:
MICROSOFT_SSO_APPLICATION_ID = "your Application ID here"
MICROSOFT_SSO_CLIENT_SECRET = "your Client Secret Value here"
MICROSOFT_SSO_SCOPES = ["User.Read.All"]
-
Add the callback uri http://localhost:8000/microsoft_sso/callback/
in your Microsoft Console, on the "Authorized Redirect
URL".
-
Let Django Microsoft SSO auto create users for allowable domains:
MICROSOFT_SSO_ALLOWABLE_DOMAINS = ["contoso.com"]
- In
urls.py
please add the Django-Microsoft-SSO views:
from django.urls import include, path
urlpatterns = [
path(
"microsoft_sso/", include("django_microsoft_sso.urls", namespace="django_microsoft_sso")
),
]
- And run migrations:
$ python manage.py migrate
That's it. Start django on port 8000 and open your browser in http://localhost:8000/admin/login
and you should see the
Microsoft SSO button.
License
This project is licensed under the terms of the MIT license.