Simple app to enable Microsoft Account, Office 365 and Xbox Live authentcation as a Django authentcation backend.
Project description
Django Microsoft Authentication Backend
Simple app to enable Microsoft Account, Office 365 and Xbox Live authentcation as a Django authentcation backend.
Free software: MIT license
Documentation: https://django-microsoft-auth.readthedocs.io.
Python/Django support
django_microsoft_auth follows the same support cycle as Django, with one exception: no Python 2 support. If you absoutely need Python 2.7 support, everything should largely already work, but you may need to patch microsoft_auth.admin and/or other files to get it to work.
Supported python versions: 3.4+
Supported Django version: 1.11 LTS, 2.0+
Quickstart
Install Django
- Install and configure the Sites framework
Make sure you update the domain of SITE_ID, this is important and used later. Easy way is to go /admin/sites/site/1/change/ if you have the admin site enabled.
- Create a Microsoft OAuth Application
write down your client ID
Generate an Application Secret, store this somewhere, you will need it for later
Add a Web Platform with Allow Implicit Flow and a valid Redirect URL (this will probably be https://<your-domain>/microsoft/auth-callback/), it must be HTTPS
Add User.Read under Delegated Permissions
Install package from PyPi:
pip install django_microsoft_auth
Add the following to your settings.py:
INSTALLED_APPS = [ # other apps... 'django.contrib.sites', 'microsoft_auth', ] TEMPLATES = [ { # other template settings... 'OPTIONS': { 'context_processors': [ # other context_processors... 'microsoft_auth.context_processors.microsoft', ], }, }, ] AUTHENTICATION_BACKENDS = [ 'microsoft_auth.backends.MicrosoftAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend' # if you also want to use Django's authentication # I recommend keeping this with at least one database superuser in case of unable to use others ] # pick one # Microsoft authentication # include Microsoft Accounts, Office 365 Enterpirse and Azure AD accounts MICROSOFT_AUTH_LOGIN_TYPE = 'ma' # Xbox Live authentication # MICROSOFT_AUTH_LOGIN_TYPE = 'xbl' # Xbox Live authentication MICROSOFT_AUTH_CLIENT_ID = 'your-client-id-from-apps.dev.microsoft.com' MICROSOFT_AUTH_CLIENT_SECRET = 'your-client-secret-from-apps.dev.microsoft.com'
Add the following to your urls.py:
urlpatterns = [ # other urlpatterns... url(r'^microsoft/', include('microsoft_auth.urls', namespace='microsoft')), ]
Run migrations:
python manage.py migrate
Start site and goto /admin to and logout if you are logged in.
Login as Microsoft/Office 365/Xbox Live user. It will fail. This will automatically create your new user.
Login as a Password user with access to change user accounts.
Go to Admin -> Users and edit your Microsoft user to have any permissions you want as you normally.
See microsoft_auth/templates/microsoft/admin_login.html for details examples on making a Login form.
See official docs for more details on setup and configuration.
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
1.1.0 (2018-7-3)
- Removes o365 option. New authorization URL works well enough for both
Xbox Live Auth still uses old Microsoft Auth URL
‘o365’ will still work as a MICROSOFT_AUTH_LOGIN_TYPE value, but you should change it to ‘ma’
- Adds extras:
ql: DjangoQL package and support
test: test dependencies (same as test_requires packages)
dev: ql`+`test and extra dev only dependencies like twine and pip-tools
Pip 10 support (thanks Shigumitsu!)
Fixes max length of o365 IDs (thanks Shigumitsu!)
1.0.6 (2018-4-8)
Added patched username validator to allow spaces for usernames for Xbox Live Gamertags
1.0.5 (2018-4-8)
Added missing templates and static files to MANIFEST
1.0.4 (2017-12-2)
Updated Django category to include 2.0
1.0.3 (2017-12-2)
Updated for Django 2.0
1.0.2 (2017-11-27)
Changed Development Status category to Stable
1.0.0 (2017-11-19)
First release on PyPI.
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
Hashes for django_microsoft_auth-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fce16e6b1486dab1c3fc44f09e1e05e35da01888f4756bafb4fce26929315e1b |
|
MD5 | 41115d95e0ed1acbc8574d83676d9722 |
|
BLAKE2b-256 | d652c3ed21d88de48196273370f2fabcf359ca033743a0e81a8c29b3985aca73 |