Skip to main content

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

Release files for fastapi-keycloack 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapi-keycloack 0.2.1
File Size Uploaded
fastapi-keycloack-0.2.1.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapi-keycloack 0.2.1
File Interpreter ABI Platform
fastapi_keycloack-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.1 kB

Release files / fastapi-keycloack-0.2.1.tar.gz

Download URL fastapi-keycloack-0.2.1.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7c8d7eb438f4b8ae62e8472851a0a4b48a6dbc19f9041bf08e5c88692fc0d2f3
BLAKE2b-256 checksum
How to use checksums
68a7013cdbbbe29f31b12f0aea0d4d3d4b4a8df410d4d48f5421f9fd264c1b6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.9.5 Linux/5.14.16-arch1-1

Release files / fastapi_keycloack-0.2.1-py3-none-any.whl

Download URL fastapi_keycloack-0.2.1-py3-none-any.whl
Size 4.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
022553a23f61206c709c71aca9aed0e380de17e5843327c966cbdece1983e9b7
BLAKE2b-256 checksum
How to use checksums
0a42fc280b587a2e4eaba1291ecb9c25fcb193a8ee1097b6e89a6cd4e73b9b77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.9.5 Linux/5.14.16-arch1-1

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page