A custom user model for django authentication
Project description
Django custom user model
A Custom User model for authentication
Requirement
- Python (3.5, 3.6, 3.7, 3.8)
- Django (1.11, >2.0, 2.1, 2.2, 3.0, 3.1)
Installation
Install using pip
pip install django-custom-user-models
Add to INSTALLED_APPS
setting
INSTALLED_APPS = {
...
'CustomAuth',
...
}
Set AUTH_USER_MODEL
setting before first migrate
AUTH_USER_MODEL = 'CustomAuth.User'
Migrate apps
py manage.py migrate
Usage
Status Handler
Add handler
to yourproject/urls.py
from CustomAuth.urls import handler400, handler401, handler403, handler404, handler500
Authentication template
Add to settings.py
profile url
USER_PROFILE_URL = '<your user profile url>' # default '/profile/'
login redirect url
LOGIN_REDIRECT_URL = '<your login redirect>' # default '/account/profile/'
logout redirect url
LOGOUT_REDIRECT = '<your logout redirect>' # default '/'
signup successfully redirect
SIGNUP_SUCCESSFULLY_URL = '<your signup successfully redirect url>' # default '/profile/'
verification successfully redirect
VERIFY_SUCCESSFULLY = '<your verify successfully redirect url>' # default '/profile/'
verification failed redirect
VERIFY_FAILED = '<your verify failed redirect url>' # default 'Verification link is invalid!'
Email config
For verify email you should config email smtp server, example(gmail):
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'your name@gmail.com'
EMAIL_HOST_PASSWORD = 'your password'
EMAIL_USE_TSL = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_FROM = EMAIL_HOST_USER
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Magic Link
Use magic link for auto authentication user.
Add to settings.py
AUTHENTICATION_BACKENDS = (
# ...
'CustomAuth.backends.MagicLinkBackend', # magic backend
# ...
)
MIDDLEWARE = [
# ...
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
# ...
'CustomAuth.middleware.magic.MagicMiddleware', # Magic middleware
# ...
]
JWT Authentication
For get new jwt token with 2 month expire time.
curl -H "jwt-authentication:<your token>" -X GET <your host>/jwt/token
For authenticate with jwt use your token.
curl -H "jwt-authentication:<your token>" -X GET <your host>/<relative path>
Versioning
This project follows Semantic Versioning 2.0.0.
License
This project follows the BSD license. See the LICENSE for details.
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
Close
Hashes for django-custom-user-models-0.0.75.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ca2cd3a935e965fb19518e7bf7a9b87ac0500b4e9a39197128729cc35c3bb73 |
|
MD5 | 468136fd78ced8b988ea40f5be72ab03 |
|
BLAKE2b-256 | 568d38cd627e59abbda9f6812fbc4b67bb55581fd0682c171ab97adde5792331 |
Close
Hashes for django_custom_user_models-0.0.75-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20efc871b0234a11ab5de03552beddb2d4fcedb621550fa19b403963f0e57455 |
|
MD5 | 48edf328a94892692721a322f5588fe5 |
|
BLAKE2b-256 | d94294305763659367cd33c9263b512bccf533f880e7ebbb66b81ab63e1aed26 |