No project description provided
Project description
keycloakfastsso est un package Python qui facilite l’intégration de l’authentification Keycloak dans des applications construites avec le framework web FastAPI.
Fonctionnalités
Authentication avec bearer JWT tokens.
Vérification de jetons JWT.
Autorisation basée sur les rôles, les groupes et l’état de vérification de l’email de l’utilisateur dans Keycloak.
Fournit des informations sur l’utilisateur validé.
Outils utiles pour vérifier les rôles, les groupes et d’autres attributs utilisateur.
Utilisation
Middleware
Utilisez KeycloakFastSSOMiddleware pour protéger vos routes d’API. Vous devez d’abord configurer la connexion à Keycloak avec les paramètres appropriés.
from fastapi import FastAPI
from keycloakfastsso.middleware import KeycloakFastSSOMiddleware
app = FastAPI()
app.add_middleware(KeycloakFastSSOMiddleware, server_url="https://my-keycloak-url/auth/", client_id="my-client-id", realm_name="my-realm-name", client_secret_key="my-client-secret-key")
Décorateurs
Ces décorateurs peuvent être utilisés pour restreindre l’accès aux routes en fonction des rôles ou des groupes d’utilisateurs.
from keycloakfastsso.decorators import require_role, require_group, require_scope, require_email_verified, require_active_user, require_token_type, require_resource_access, require_allowed_origin
@app.get("/require_role")
@require_role(["admin"])
def require_role_endpoint():
return {"Hello": "World"}
@app.get("/require_group")
@require_group(["my_group"])
def require_group_endpoint():
return {"Hello": "World"}
# other routes continue the same way
Utilitaires
Les utilitaires vous permettent de récupérer des informations spécifiques sur l’utilisateur actuellement authentifié.
from keycloakfastsso.utils import KeycloakUtils
# In your route
@app.get("/whoami")
def who_am_i(request: Request):
return {"user_id": KeycloakUtils.get_user_id(request)}
Installation
Vous pouvez installer keycloakfastsso avec pip :
pip install keycloakfastsso
Pour plus d’informations sur comment utiliser ce package, consultez la documentation officielle.
Project details
Release history Release notifications | RSS feed
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
Hashes for Keycloak-fast-sso-2023.11.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7ae5e58f1cb3e80ca724d86cb568f3b107cee7d1e272bf369473ced4be3fedc |
|
MD5 | b58332b55e0f02915466fa7aa2b4f902 |
|
BLAKE2b-256 | 8de024e9f6705134f5bc4a288b6a0cd60fe78876614b7e9a89c4a7e6abf9ce14 |
Hashes for Keycloak_fast_sso-2023.11.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1eb9283d15cef028b3ed3814003ee5b884b2b969f12a2547fbcffd3cd8d05a05 |
|
MD5 | 5772be12b374af8f9cb6669a540519f4 |
|
BLAKE2b-256 | 031098a18d60f673dc2e7a9028207a1b3687a26fc6a95b3b3ac16923ad6751cf |