A Django package for account and authentication managment
Project description
django-ai-kit-auth bundles everything authentication related and is meant to work seamlessly with the ai-kit-auth react component.
It provides routes for login, password validation, password reset, registration and account verification.
It includes a services to trigger the account validation and other functionality. It works with the standard django and with a custom user model as long as its provides an email address.
Standard Django sessions are used for authentification.
Quick Start
1.) Add ai-kit-auth to your INSTALLED_APPS like so:
INSTALLED_APPS = ( # ... "rest_framework", # ... "ai-kit-auth", # ... "corsheaders", )
rest_framework and corsheaders are dependencies and must be installed.
2.) Configuration is namespaced unter AI_KIT_AUTH like so:
AI_KIT_AUTH = { "FRONTEND": { "URL": "example.com", }, # ... }
Note that FRONTEND.URL is a required configuration that does not have a default. Default configurations are:
DEFAULTS = { # Templates for all the email notifications to the user "EMAIL_TEMPLATES": { # is send when the user is created by registration "USER_CREATED": { "TITLE": "ai_kit_auth/user_created_title.txt", "BODY_PLAINTEXT": "ai_kit_auth/user_created_body.txt", "BODY_HTML": "ai_kit_auth/user_created_body.html", }, # is send to the user after they triggered the forget password # feature. Contains the time limited password reset link "RESET_PASSWORD": { "TITLE": "ai_kit_auth/reset_password_title.txt", "BODY_PLAINTEXT": "ai_kit_auth/reset_password_body.txt", "BODY_HTML": "ai_kit_auth/reset_password_body.html", }, }, # If true, the user has to specify a username in addition to the # mail address "USERNAME_REQUIRED": False, # information about the frontend, mostly the used routes. In most cases # the defaults are fine, but can be changed for localisation of the # urls. # Only the actual frontend url is unset and you will get an # configuration error if you don't specify it. "FRONTEND": { "URL": "", "ACTIVATION_ROUTE": "/auth/activation/", "RESET_PW_ROUTE": "/auth/reset_password/", }, }
In addition to that some general configuration is required:
CORS_ORIGIN_WHITELIST = [ "http://localhost:8000", "http://localhost:3000", # add other front-end backend urls ] CORS_ALLOW_CREDENTIALS = True # otherwise authentification to the django admin and the frontend can # interfere with eath other CSRF_USE_SESSIONS = True CSRF_TRUSTED_ORIGINS = [ "http://localhost:8000", "http://localhost:3000", # add other front-end backend urls ]
See the django-cors-headers for details.
3.) Include the routes in your urls.py:
urlpatterns = [ # ... re_path("^api/v1/", include("ai_kit.urls")) # ... ]
4.) Run python manage.py migrate. Only required if you add the dependencies to your project since this package does not define models on its own.
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
Built Distribution
Hashes for django_ai_kit_auth-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b8230ec1f1536cd5e0186c00e02d2c5a5b227b65a7dad6e47348426d27dc4c8 |
|
MD5 | 9ebac1c42a96c49004adf2bd73d3e0e8 |
|
BLAKE2b-256 | 79f90272bb55f6cd2f7aea0141b114e859e74a1e4ba7092b55441965b1c72d4a |