Skip to main content

Connect Django Rest Framework with MSAL and JWT

Project description

https://badge.fury.io/py/drf-msal-jwt.svg https://travis-ci.org/narongdejsrn/drf-msal-jwt.svg?branch=master https://codecov.io/gh/narongdejsrn/drf-msal-jwt/branch/master/graph/badge.svg

This package allows user to authenticate using Microsoft Account in Django REST Framework.

This library rely on Django REST Framework and Django Rest Framework JWT to works properly. Please make sure you setup these packages successfully before using this package.

Documentation

The full documentation is at https://drf-msal-jwt.readthedocs.io.

Quickstart

Install Django Rest Framework MSAL + JWT:

pip install drf-msal-jwt

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'drf_msal_jwt',
    ...
)

Add Django Rest Framework MSAL + JWT’s URL patterns:

from drf_msal_jwt import urls as drf_msal_jwt_urls


urlpatterns = [
    ...
    url(r'^', include(drf_msal_jwt_urls)),
    ...
]

Config the settings.py

DEFAULTS = {
    'MSAL_CLIENT_ID': "{AZURE_AD_CLIENT_ID}",
    'MSAL_CLIENT_SECRET': "{AZURE_AD_CLIENT_SECRET}",
    'MSAL_AUTHORITY_URL': 'https://login.microsoftonline.com/common/',
    'MSAL_REDIRECT_URL': "{AZURE_AD_REDIRECT_URL}",
    'MSAL_SCOPES': ["User.ReadBasic.All"],
    'MSAL_USER_HANDLER': 'django.contrib.auth.models.User',
    'MSAL_ALLOW_DOMAINS': ['*'],
    'MSAL_CHECK_STATE': True
}

Features

  • [API] for generating Microsoft Login URL

  • [API] for logging/creating user based on Authorization Code, and generate JWT token

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Deployment

Bumb version & deploy

bumpversion <major/minor/patch>
python setup.py deploy

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

drf-msal-jwt-0.3.6.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

drf_msal_jwt-0.3.6-py2.py3-none-any.whl (10.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file drf-msal-jwt-0.3.6.tar.gz.

File metadata

  • Download URL: drf-msal-jwt-0.3.6.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for drf-msal-jwt-0.3.6.tar.gz
Algorithm Hash digest
SHA256 517f3deb8f69432b0194217f82775fb9efe0f8f89d0cf8bfaf9cc05e6899c558
MD5 8d7556d2770bac69d219f15404e6a1c0
BLAKE2b-256 c7ae3442ba1ba66ea481fa3eb3e411173c392e0bc3e3a8af5db7440dfe4452cc

See more details on using hashes here.

File details

Details for the file drf_msal_jwt-0.3.6-py2.py3-none-any.whl.

File metadata

  • Download URL: drf_msal_jwt-0.3.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for drf_msal_jwt-0.3.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 39c501b6474a3dcb473eaae2fff09aceeb952f0ea0fd5058b8be9ea8e9164e10
MD5 5f90be8c2e72ed7af278709c0b32e829
BLAKE2b-256 6cca5329125b25a6b973adbfbb25e6ae467420c56a4b57479044ba2c6e67719f

See more details on using hashes here.

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