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.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 151fa73cc160478d9108cf96c37b538ca3d154abc480ede7b9d3faf6e0e8aac9 |
|
MD5 | e74d9355f33ce519f408837f2ddf998a |
|
BLAKE2b-256 | 7b93a918c24766113d258244bbb3a73a5b6a7cebb72ec7a7f5dfec2307a6f356 |
Close
Hashes for django_ninja_keycloak-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18b6daef6c611d458e211fabbf053c61002f3c776c0200b408d3a34dc03ec36a |
|
MD5 | 1c5e04527d1175e5219c7a879c41aa37 |
|
BLAKE2b-256 | fb4c76b87f6a1f5235da4a3402f84af5a21fb74867b83e27a916f0399a916a94 |