Authease is a lightweight and flexible authentication package for Django, offering essential tools for secure user authentication, including JWT support, with minimal setup required.
Project description
Authease
Authease is a lightweight, flexible authentication package for Django applications. It provides essential tools for handling user authentication, including JWT-based authentication, making it easy for developers to integrate into their Django projects without building an authentication system from scratch.
Table of Contents
- Features
- Requirements
- Installation
- Configuration
- Usage
- Advanced Configuration
- Documentation
- Issues
- Contributing
- License
- Contact
Features
- User registration and login
- Password management (reset, change, and confirmation)
- JWT-based authentication for secure token management
- Easy configuration and integration with Django settings
- Built-in views and serializers to get started immediately
Requirements
To use Authease, the following packages will be installed in your Django environment:
- Django
- djangorestframework
- python-dotenv
- django-environ
- djangorestframework-simplejwt
- google-api-python-client
- coreapi
- environs
- marshmallow
Note: All necessary dependencies will be installed automatically if not already present.
Installation
To install Authease, use pip:
pip install authease
Configuration
1. Add to Installed Apps
Add Authease to your INSTALLED_APPS list in your Django settings.py file:
INSTALLED_APPS = [
# Other Django apps
'authease',
]
2.Migrate Database
Run the migrations to set up the necessary database tables for Authease:
python manage.py migrate
3. Configure Environment Variables
Authease requires several environment variables for configuration. Add the following variables to your settings.py or .env file:
# For Google OAuth
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>
# For GitHub OAuth
GITHUB_CLIENT_ID=<your_github_client_id>
GITHUB_CLIENT_SECRET=<your_github_client_secret>
# Django Secret Key
SECRET_KEY=<your_secret_key>
Replace <your_google_client_id>, <your_google_client_secret>, <your_github_client_id>, <your_github_client_secret>, and <your_secret_key> with the actual credentials.
Usage
Authease provides built-in views for user authentication, including:
- Registration
- Login
- Password Reset
- Google OAuth
- GitHub OAuth
Example Setup:
Using Login View
You can use the built-in login view in your Django templates:
from authease.auth_core.views import LoginUserView
urlpatterns = [
path('login/', LoginUserView.as_view(), name='login'),
]
OAuth Integration Example
To enable Google and GitHub OAuth in your application, include their respective views:
from authease.oauth.views import GoogleSignInView, GithubSignInView
urlpatterns = [
path('auth/google/', GoogleSignInView.as_view(), name='google_auth'),
path('auth/github/', GithubSignInView.as_view(), name='github_auth'),
]
Advanced Configuration
Authease supports the following settings in your settings.py:
AUTHENTICATION_BACKENDS: Add custom authentication backends if needed.LOGIN_REDIRECT_URL: Specify the URL where users are redirected after successful login.LOGOUT_REDIRECT_URL: Specify the URL where users are redirected after logout.
Example:
LOGIN_REDIRECT_URL = '/dashboard/'
LOGOUT_REDIRECT_URL = '/login/'
Replace /dashboard/ and /login/ with the actual url name
Also, To enable JWT token-based authentication, configure djangorestframework-simplejwt in your settings.py:
from datetime import timedelta
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
'ROTATE_REFRESH_TOKENS': True,
'BLACKLIST_AFTER_ROTATION': True,
}
Documentation
https://pypi.org/project/authease/#description
Issues
If you encounter any issues or bugs while using Authease, please check the following before reporting:
- Ensure Compatibility: Verify that you are using compatible versions of Python and Django.
- Configuration Review: Double-check that all necessary environment variables are set up correctly in your
settings.pyand.envfile. - Check Logs: Review your server or Django logs for any specific error messages that may indicate missing configurations or dependencies.
- Documentation: Refer to the documentation to ensure that all steps for installation and setup have been followed.
Reporting Issues
If the issue persists, please follow these steps to report it:
- Search Existing Issues: First, check if someone has already reported the issue on the GitHub Issues page.
- Open a New Issue: If no existing issue matches yours, create a new issue providing as much detail as possible. Include:
- A clear title and description.
- Steps to reproduce the issue.
- Expected and actual behavior.
- Any relevant logs or error messages.
- Environment Details: Include your environment details such as OS, Python version, Django version, and any other relevant setup information.
Contributing
We welcome contributions to Authease! Please fork the repository, create a new branch, and submit a pull request. Be sure to review the contribution guidelines before submitting.
License
Authease is licensed under the MIT License. See LICENSE for more information.
Contact
For questions or feedback, please contact the package author, Oluwaseyi Ajayi, at oluwaseyitemitope456@gmail.com.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file authease-1.1.5.tar.gz.
File metadata
- Download URL: authease-1.1.5.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4983ed9c47e727a8b4001b728ce442a68fee91b0bf54dd6d876b9dd78c341d03
|
|
| MD5 |
21140c0912711f688f989593e5bf8f77
|
|
| BLAKE2b-256 |
c2d863e2b2a39379ae90286f209a9671ee9d76606824064547ce516e27d4c95b
|
File details
Details for the file authease-1.1.5-py3-none-any.whl.
File metadata
- Download URL: authease-1.1.5-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c6e1bdf48cd2e95b8c3f3fe28f8a65cbb792828c9b3a222cacc991ea1afee5c
|
|
| MD5 |
b6dfc41c134adb95881b576925bf49f2
|
|
| BLAKE2b-256 |
132dd837e77eb2229d9a96208a5cc481ba28a6b69d8cd8f941a98eb9c60bef85
|