Django Ninja package to integrate keycloak authentication
Project description
django-ninja-keycloak
For review- see https://gitlab.com/django-ninja/django-ninja-keycloak
django-ninja-keycloak is a not official Django Ninja package to providing easy to use bearer token or basic auth authentication with django ninja flow
Installation
Via Pypi Package:
$ pip install django-ninja-keycloak
or
$ pipenv install django-ninja-keycloak
Dependencies
django-ninja-keycloak depends on:
- Python 3
- python-keycloak
- django-ninja
Bug reports
Please report bugs and feature requests at https://gitlab.com/django-ninja/django-ninja-keycloak/issues
Usage
Bearer Auth
keycloak_bearer_auth = KeycloakAuthBearer('https://keyclaokhost/auth/',
'client_id',
'realm_name',
'client_secret_key',
'algorithm', # optionnal default='RS256'
options, # optionnal default= {"verify_signature": True, "verify_aud": True, "verify_exp": True}
roles) # optionnal default= []
@api.get("/bearer", auth=keycloak_bearer_auth)
def bearer(request):
return {"token": request.auth}`
Basic Auth
keycloak_basic_auth = KeycloakBasicAuth('https://keyclaokhost/auth/',
'client_id',
'realm_name',
'client_secret_key',
'algorithm', # optionnal default='RS256'
options, # optionnal default= {"verify_signature": True, "verify_aud": True, "verify_exp": True}
roles) # optionnal default= []
@api.get("/basic", auth=keycloak_basic_auth)
def bearer(request):
return {"token": request.auth}`
Request.auth payload
{
"userInfo": {
"email_verified": '',
"preferred_username": '',
"name": '',
"given_name": '',
"family_name": '',
"email": '',
"sub": '',
},
"roles": []
}
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
Built Distribution
Close
Hashes for django-ninja-keycloak-0.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dec4a1982dc2f5379442aa8c195d13c47a74ad050b3d4f6c0b2aeb1141048a31 |
|
MD5 | 93f6e4834d2b109984d875271b001352 |
|
BLAKE2b-256 | ce00db3f6114afca6d90359cb564650cf9a4f25fe5d5d131236305cc2e3533cf |
Close
Hashes for django_ninja_keycloak-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fdc022ba8aeda45adcd98e00f7dd70ebb03733c084812224e008c4ac05bf737 |
|
MD5 | 4469a3e86c62fbaf6dd656cde901077f |
|
BLAKE2b-256 | be32e63033eb13d60de470ebaef2b948ec98f7a94646dd86320659bcae754519 |