django-admin-keycloak


Namedjango-admin-keycloak JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://github.com/migelbd/django-admin-keycloak
SummaryDjango Admin Keycloak
upload_time2024-02-14 11:36:36
maintainer
docs_urlNone
authorMikhail Badrazhan
requires_python>=3.10,<4.0
license
keywords keycloak django
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # django-admin-keycloak

![](https://github.com/migelbd/django-admin-keycloak/raw/main/example.png)

## 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 
```python

# 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
```python
INSTALLED_APPS = [
    'django_admin_keycloak',
    'django.contrib.admin',
    # ...
]
```
Add to urls.py
```python
urlpatterns = [
    # ...,
    path('sso/', include('django_admin_keycloak.url')),
    # ...
]
```

If you define static config, you must execute command for update providers.
```bash
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


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/migelbd/django-admin-keycloak",
    "name": "django-admin-keycloak",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "keycloak,django",
    "author": "Mikhail Badrazhan",
    "author_email": "mikhail@devilweb.ru",
    "download_url": "https://files.pythonhosted.org/packages/fd/4e/7a06a14f5f895a9ef5cd9e500f42712bb58f4c4afedadef5e9f78b2c5bfd/django_admin_keycloak-0.3.1.tar.gz",
    "platform": null,
    "description": "# django-admin-keycloak\n\n![](https://github.com/migelbd/django-admin-keycloak/raw/main/example.png)\n\n## Keycloak\nCreate Client OpenID with callback url `https://keycloak.example.ru/sso/*`\nadd client scopes \"roles\" and \nset client Backchannel logout URL `https://keycloak.example.ru/sso/logout`\n### Settings \n```python\n\n# define static config or add provider later in admin management\nKEYCLOAK_PROVIDERS = [\n    {\n        'slug': 'local', # internal django slug\n        'name': 'Local', # name on login form\n        'client_id': 'local_django',\n        'client_secret': 'SECRET',\n        'redirect_uri': '/admin', # redirect uri after login\n        'server_url': 'https://keycloak.example.ru',\n        'realm_name': 'django',\n        'role_staff_user': 'dev_staff', # role for staff users\n        'role_super_user': 'dev_super_user', # role for superusers\n    }\n]\n\n```\nAdd to INSTALLED_APPS\n```python\nINSTALLED_APPS = [\n    'django_admin_keycloak',\n    'django.contrib.admin',\n    # ...\n]\n```\nAdd to urls.py\n```python\nurlpatterns = [\n    # ...,\n    path('sso/', include('django_admin_keycloak.url')),\n    # ...\n]\n```\n\nIf you define static config, you must execute command for update providers.\n```bash\npython manage.py update_static_providers\n```\n## Available signals\n### user_sso_login\n###### On login SSO user\n- session: KeycloakSession\n- request: HttpRequest\n- userinfo: dict\n- access_token: str\n#### user_sso_logout\n###### On logout SSO user\n- session: KeycloakSession\n- request: HttpRequest\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Django Admin Keycloak",
    "version": "0.3.1",
    "project_urls": {
        "Homepage": "https://github.com/migelbd/django-admin-keycloak",
        "Repository": "https://github.com/migelbd/django-admin-keycloak"
    },
    "split_keywords": [
        "keycloak",
        "django"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f17d5633ac35d75662a83522d2036b559ccd472d0f88137318cef7305d59527",
                "md5": "d2fc16ffee4e38320d59c44c675f6414",
                "sha256": "733863f97b099b0a5909542eec27b7187a88a87b0a80e10d0c0f882e07bf0fac"
            },
            "downloads": -1,
            "filename": "django_admin_keycloak-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d2fc16ffee4e38320d59c44c675f6414",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 20471,
            "upload_time": "2024-02-14T11:36:34",
            "upload_time_iso_8601": "2024-02-14T11:36:34.546090Z",
            "url": "https://files.pythonhosted.org/packages/0f/17/d5633ac35d75662a83522d2036b559ccd472d0f88137318cef7305d59527/django_admin_keycloak-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd4e7a06a14f5f895a9ef5cd9e500f42712bb58f4c4afedadef5e9f78b2c5bfd",
                "md5": "cda1c8af8740f8aa461ea7fb83393892",
                "sha256": "4a6a5d5d26227da9224f19ec15c117953b20f97db3f27c58bbf6fdd1fc72209c"
            },
            "downloads": -1,
            "filename": "django_admin_keycloak-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cda1c8af8740f8aa461ea7fb83393892",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 12098,
            "upload_time": "2024-02-14T11:36:36",
            "upload_time_iso_8601": "2024-02-14T11:36:36.426707Z",
            "url": "https://files.pythonhosted.org/packages/fd/4e/7a06a14f5f895a9ef5cd9e500f42712bb58f4c4afedadef5e9f78b2c5bfd/django_admin_keycloak-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-14 11:36:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "migelbd",
    "github_project": "django-admin-keycloak",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "django-admin-keycloak"
}
        
Elapsed time: 0.18509s