Metadata-Version: 1.2
Name: Keycloak-fast-sso
Version: 2023.11.7
Summary: UNKNOWN
Home-page: https://github.com/alexandre-meline/keycloakfastsso
Author: Alexandre Meline
Author-email: alexandre.meline.dev@gmail.com
License: MIT
Description: keycloakfastsso
        ===============
        
        ``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.
        
        .. code:: python
        
           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.
        
        .. code:: python
        
           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é.
        
        .. code:: python
        
           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 :
        
        .. code:: bash
        
           pip install keycloak-fast-sso
        
        --------------
        
        Pour plus d’informations sur comment utiliser ce package, consultez la
        documentation officielle.
Keywords: keycloak fastapi sso
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
