Metadata-Version: 2.4
Name: djaodjin-signup
Version: 0.11.2
Summary: Django app for user authentication
Author-email: The DjaoDjin Team <help@djaodjin.com>
Maintainer-email: The DjaoDjin Team <help@djaodjin.com>
License: BSD-2-Clause
Project-URL: repository, https://github.com/djaodjin/djaodjin-signup
Project-URL: documentation, https://djaodjin-signup.readthedocs.io/
Project-URL: changelog, https://github.com/djaodjin/djaodjin-signup/changelog
Keywords: signup,authentication,frictionless,2fa,mfa,otp,oauth,saml
Classifier: Framework :: Django
Classifier: Environment :: Web Environment
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: BSD License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: boto3>=1.4.4
Requires-Dist: Django>=1.11
Requires-Dist: django-fernet-fields>=0.6
Requires-Dist: django-phonenumber-field>=2.4.0
Requires-Dist: django-recaptcha>=2.0
Requires-Dist: djangorestframework>=3.9
Requires-Dist: phonenumbers>=8.12.6
Requires-Dist: PyJWT>=1.6.1
Requires-Dist: pyotp>=2.8.0
Requires-Dist: python3-saml>=1.2.1
Requires-Dist: social-auth-app-django>=4.0.0
Requires-Dist: social-auth-core>=4.2.0
Provides-Extra: ldap
Requires-Dist: python-ldap>=3.2.0; extra == "ldap"
Dynamic: license-file

DjaoDjin-Signup
===============

[![PyPI version](https://badge.fury.io/py/djaodjin-signup.svg)](https://badge.fury.io/py/djaodjin-signup)

This repository contains a Django App for user authentication (intended
as a replacement for the ``django.contrib.auth.views`` pages), and user account
pages.

Major Features:

- HTML forms and API-based authentication
- Cookies, JWT, API Keys
- OTP codes


This project contains bare bone templates which are compatible with Django
and Jinja2 template engines. To see djaodjin-signup in action as part
of a full-fledged subscription-based session proxy, take a look
at [djaoapp](https://github.com/djaodjin/djaoapp/).


Install
=======

Add the signup urls to your urlpatterns and EmailOrUsernameModelBackend
to the settings AUTHENTICATION_BACKENDS.

    urls.py:

        urlpatterns = ('',
            (r'^api/', include('signup.urls.api')),
            (r'^', include('signup.urls.views')),

        )

    settings.py:

        AUTHENTICATION_BACKENDS = (
            'signup.backends.auth.EmailOrUsernameModelBackend',
            'django.contrib.auth.backends.ModelBackend'

        )

Development
===========

After cloning the repository, create a virtualenv environment, install
the prerequisites, create and load initial data into the database, then
run the testsite webapp.

    $ python -m venv .venv
    $ source .venv/bin/activate
    $ pip install -r testsite/requirements.txt
    $ make vendor-assets-prerequisites
    $ make initdb
    $ python manage.py runserver

    # Browse http://localhost:8000/

Release Notes
=============

Tested with

- **Python:** 3.12, **Django:** 5.2 ([LTS](https://www.djangoproject.com/download/))
- **Python:** 3.14, **Django:** 6.0 (next)
- **Python:** 3.10, **Django:** 4.2 (legacy)
- **Python:** 3.9, **Django:** 3.2 (legacy)

0.11.2

  * attaches invalid credentials to input fields
  * fixes incorrect view name in testsite

[previous release notes](changelog)
