Skip to content

Cleptomania/django-descope

 
 

Repository files navigation

Descope Django App

Descope is a user management and authentication platform. This plugin integrates Descope with your Django app.

Quick start

  1. Sign up for Descope and set admin roles
  • Get your project id
  • Create two roles in Descope, that will be mapped to Django permissions
    • is_staff
    • is_superuser

Map these roles to any user you would like to make a staff or superuser in your Django app. The names of these roles can be customized in the settings below.

  1. Install "django-descope" and add to your INSTALLED_APPS setting like this:
poetry add django-descope
OR
pip install django-descope
   INSTALLED_APPS = [
   ...
   'django_descope',
   ]
  1. Add Descope Middleware after the AuthenticationMiddleware and SessionMiddleware
   MIDDLEWARE = [
   ...
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   ...
   'django_descope.middleware.DescopeMiddleware',
   ]
  1. Include descope URLconf in your project urls.py like this:
   path('auth/', include('django_descope.urls')),
  1. In your site templates, insert the descope_flow tag where you want to place your flow
{% load descope %}
<!-- load the descope registry -->

{% if user.is_authenticated %}
<h1>Welcome {{ user.email }} you are logged in!</h1>
<p><a href="{% url 'logout' %}">Log Out</a></p>
{% else %} {% descope_flow "sign-up-or-in" "/" %}
<!-- provide the descope flow id, and where to redirect after a successful login-->
{% endif %}
  1. Start the development server and visit the newly created view

Settings

The following settings are available to configure in your project settings.py

Required

DESCOPE_PROJECT_ID

Optional

DESCOPE_MANAGEMENT_KEY
DESCOPE_IS_STAFF_ROLE
DESCOPE_IS_SUPERUSER_ROLE

About

Descope plugin for Django framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.8%
  • HTML 8.0%
  • CSS 5.2%