No project description provided
Project description
FastAPI Keycloack
Keycloack plugin for FastApi.
Your aplication receives the claims decoded from the access token.
Usage
Run keycloak on port 8080 and configure your keycloack server:
docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:15.0.2
Install dependencies
pip install fastapi fastapi-keycloack uvicorn
Create the main.py module
from fastapi import Depends, FastAPI, Security
from fastapi_keycloack import JwtDecodeOptions, FastApiKeycloack, GrantType
app = FastAPI()
decode_options = JwtDecodeOptions(verify_aud=False)
allowed_grant_types = [
GrantType.IMPLICIT,
GrantType.PASSWORD,
GrantType.AUTHORIZATION_CODE,
GrantType.CLIENT_CREDENTIALS,
]
auth_scheme = FastApiKeycloack(
url="http://localhost:8080/auth/realms/master",
scheme_name="Keycloak",
jwt_decode_options=decode_options,
allowed_grant_types=allowed_grant_types,
)
def get_current_user(claims: dict = Security(auth_scheme)):
return claims
@app.get("/users/me")
def read_current_user(claims: dict = Depends(get_current_user)):
return claims
Run the application
uvicorn main:app
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
Close
Hashes for fastapi_keycloack-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 022553a23f61206c709c71aca9aed0e380de17e5843327c966cbdece1983e9b7 |
|
MD5 | 2d9eb18283d042824e5ce6688160a10b |
|
BLAKE2b-256 | 0a42fc280b587a2e4eaba1291ecb9c25fcb193a8ee1097b6e89a6cd4e73b9b77 |