Skip to main content

Django Admin Keycloak

Project description

django-admin-keycloak

Keycloak

Create Client OpenID with callback url https://keycloak.example.ru/sso/* add client scopes "roles" and set client Backchannel logout URL https://keycloak.example.ru/sso/logout

Settings

# 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 INSTALLED_APPS

INSTALLED_APPS = [
    'django_admin_keycloak',
    'django.contrib.admin',
    # ...
]

Add to urls.py

urlpatterns = [
    # ...,
    path('sso/', include('django_admin_keycloak.url')),
    # ...
]

If you define static config, you must execute command for update providers.

python manage.py update_static_providers

Available signals

user_sso_login

On login SSO user
  • session: KeycloakSession
  • request: HttpRequest
  • userinfo: dict
  • access_token: str

user_sso_logout

On logout SSO user
  • session: KeycloakSession
  • request: HttpRequest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_admin_keycloak-0.3.1.tar.gz (12.1 kB view hashes)

Uploaded Source

Built Distribution

django_admin_keycloak-0.3.1-py3-none-any.whl (20.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page