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": []
}
Release files for django-ninja-keycloak 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_ninja_keycloak-0.0.5.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_ninja_keycloak-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.4 kB
Release files / django_ninja_keycloak-0.0.5.tar.gz
| Download URL | django_ninja_keycloak-0.0.5.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
151fa73cc160478d9108cf96c37b538ca3d154abc480ede7b9d3faf6e0e8aac9
|
|
BLAKE2b-256 checksum How to use checksums |
7b93a918c24766113d258244bbb3a73a5b6a7cebb72ec7a7f5dfec2307a6f356
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5
|
Release files / django_ninja_keycloak-0.0.5-py3-none-any.whl
| Download URL | django_ninja_keycloak-0.0.5-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18b6daef6c611d458e211fabbf053c61002f3c776c0200b408d3a34dc03ec36a
|
|
BLAKE2b-256 checksum How to use checksums |
fb4c76b87f6a1f5235da4a3402f84af5a21fb74867b83e27a916f0399a916a94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5
|