No project description provided
Project description
Garpix Keycloak
Keycloak uth module for Django/DRF projects. Part of GarpixCMS.
Used packages:
- django rest framework
- etc; see setup.py
Quickstart
Install with pip:
pip install garpix_keycloak
Add the garpix_keycloak
to your INSTALLED_APPS
:
# settings.py
# ...
INSTALLED_APPS = [
# ...
'garpix_keycloak',
]
Add KeycloakUserMixin
to your User
model:
from django.contrib.auth.models import AbstractUser
from garpix_keycloak.mixins import KeycloakUserMixin
class User(AbstractUser, KeycloakUserMixin):
class Meta:
verbose_name = 'Пользователь'
verbose_name_plural = 'Пользователи'
def __str__(self):
return self.username
Add KeycloakAuthMiddleware
to MIDDLEWARE
settings after django.contrib.auth.middleware.AuthenticationMiddleware
:
# settings.py
MIDDLEWARE = [
# ...
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'garpix_keycloak.middlewares.KeycloakAuthMiddleware',
]
Add authentication backend:
AUTHENTICATION_BACKENDS = [
# ...
'garpix_keycloak.backends.KeycloakAuthenticationBackend'
]
Add keycloak parameters to settings.py
:
# settings.py
KEYCLOAK = {
'SERVER_URL': 'your_server_url',
'REALM': 'your_realm',
'CLIENT_ID': 'your_client_id',
'CLIENT_SECRET_KEY': 'your_client_secret_key'
}
Use get_keycloak_url
from KeycloakService
to generate keycloak log in link.
garpix_keycloak
creates User
model instance, using create_keycloak_user
class method.
You can override it if you need some customization in your project.
Enjoy!
Changelog
See CHANGELOG.md.
Contributing
See CONTRIBUTING.md.
License
Developed by Garpix / https://garpix.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
Hashes for garpix_keycloak-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bd756fe1253f70c2d552f3c40878671fe6095e3ea42098e7233d5f7a6425956 |
|
MD5 | ef7b40aa72b2a521fa605470558f4aac |
|
BLAKE2b-256 | 01ac92be7cdb89deb6a920ee27a8e4f5cb843095aff0fd95811df29877892cae |