Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-ai-kit-auth-0.2.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_ai_kit_auth-0.2.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file django-ai-kit-auth-0.2.0.tar.gz.

File metadata

  • Download URL: django-ai-kit-auth-0.2.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7

File hashes

Hashes for django-ai-kit-auth-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cdeb524651af0ca6b8f66b8713e42dbf7382c55fdaf97d9c4e288babc60280a1
MD5 33ada5a46428799ce0611a588ff3c5ca
BLAKE2b-256 b32d46ec99ce9f0cc75d753ad87fda31a6c782abbe11a15d7a8acd84c50222a1

See more details on using hashes here.

File details

Details for the file django_ai_kit_auth-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: django_ai_kit_auth-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7

File hashes

Hashes for django_ai_kit_auth-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b8230ec1f1536cd5e0186c00e02d2c5a5b227b65a7dad6e47348426d27dc4c8
MD5 9ebac1c42a96c49004adf2bd73d3e0e8
BLAKE2b-256 79f90272bb55f6cd2f7aea0141b114e859e74a1e4ba7092b55441965b1c72d4a

See more details on using hashes here.

Release history Release notifications | RSS feed

2.0.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.8.3

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

0.1.1

2 files

0.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page