Metadata-Version: 2.1
Name: django-admin-keycloak
Version: 0.2.1
Summary: Django Admin Keycloak
Home-page: https://github.com/migelbd/django-admin-keycloak
Keywords: keycloak,django
Author: Mikhail Badrazhan
Author-email: mikhail@devilweb.ru
Requires-Python: >=3.10,<4.0
Classifier: Framework :: Django :: 4
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: django (>=4.0,<5.0)
Requires-Dist: python-keycloak (>=3.7.0,<4.0.0)
Project-URL: Repository, https://github.com/migelbd/django-admin-keycloak
Description-Content-Type: text/markdown

# django-admin-keycloak

![](./example.png)

### Settings 
```python
# need for Backchannel logout
SESSION_ENGINE = 'django_admin_keycloak.session.db' 
# or django_admin_keycloak.session.cache

# define static config or add provider later in admin management
KEYCLOAK_PROVIDERS = [
    {
        'slug': 'local', # internal django slug
        'name': 'Local', # name on login form
        'client_id': 'local_django',
        'client_secret': 'SECRET',
        'redirect_uri': '/admin', # redirect uri after login
        'server_url': 'https://keycloak.example.ru',
        'realm_name': 'django',
        'role_staff_user': 'dev_staff', # role for staff users
        'role_super_user': 'dev_super_user', # role for superusers
    }
]

```

Add to urls.py
```python
urlpatterns = [
    # ...,
    path('auth/', include('django_admin_keycloak.url')),
    # ...
]
```

If you define static config, you must execute command for update providers.
```bash
python manage.py update_static_providers
```

