OIDC auth in fastapi using a decorator
Project description
OpenID Connect for FastAPI
prokie-fastapi-oidc-auth is an extension to
FastAPI that allows you to add OpenID
Connect based authentication for your endpoints within minutes.
Installation
pip install prokie-fastapi-oidc-auth
Keycloak settings
Admin
admin_username = "admin"
admin_password = "admin"
host = "http://localhost:8080"
Realm
realm = "myrealm"
Client
Set the Access Type to confidential and Standard Flow Enabled to
ON. Make sure that Valid Redirect URIs contain the URI of your app
or * if you want to allow all URIs. Make sure Client Protocol is set
to openid-connect.
client = "myclient"
secret = "xZEIb4wGoWseNumHJ4Vb7pYvdX3SIQeg"
User
user_username = "myuser"
user_password = "myuser"
How to use
See test.py for a complete example.
Testing
To start a Keycloak instance for testing, run the following command:
docker run -d -p 8080:8080 \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=admin \
-e KEYCLOAK_IMPORT=/opt/jboss/keycloak/imports/realm-export-16.1.1.json \
-v $(pwd)/realm-export-16.1.1.json:/opt/jboss/keycloak/imports/realm-export-16.1.1.json \
--name keycloak \
jboss/keycloak:16.1.1
docker run -d -p 8080:8080 `
-e KEYCLOAK_USER=admin `
-e KEYCLOAK_PASSWORD=admin `
-e KEYCLOAK_IMPORT=/opt/jboss/keycloak/imports/realm-export-16.1.1.json `
-v ${PWD}\realm-export-16.1.1.json:/opt/jboss/keycloak/imports/realm-export-16.1.1.json `
--name keycloak `
jboss/keycloak:16.1.1
To export the realm configuration, run the following command:
docker exec -it keycloak /opt/jboss/keycloak/bin/standalone.sh \
-Djboss.socket.binding.port-offset=100 -Dkeycloak.migration.action=export \
-Dkeycloak.migration.provider=singleFile \
-Dkeycloak.migration.realmName=myrealm \
-Dkeycloak.migration.usersExportStrategy=REALM_FILE \
-Dkeycloak.migration.file=/tmp/realm-export-16.1.1.json
docker exec -it keycloak /opt/jboss/keycloak/bin/standalone.sh `
-Djboss.socket.binding.port-offset=100 `
-Dkeycloak.migration.action=export `
-Dkeycloak.migration.provider=singleFile `
-Dkeycloak.migration.realmName=myrealm `
-Dkeycloak.migration.usersExportStrategy=REALM_FILE `
-Dkeycloak.migration.file=/tmp/realm-export-16.1.1.json
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prokie-fastapi-oidc-auth-0.2.0.tar.gz.
File metadata
- Download URL: prokie-fastapi-oidc-auth-0.2.0.tar.gz
- Upload date:
- Size: 47.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
621f08a7da0bdca0342883e9bf4c06032606e32233d13fb0557b867a59fd042c
|
|
| MD5 |
3e37b2c0816ad38c860498add83ee324
|
|
| BLAKE2b-256 |
75aa50dab1d21c9a2eaed71410222457fb5a5611ef59b70bf0ded4ef3a564a65
|
File details
Details for the file prokie_fastapi_oidc_auth-0.2.0-py3-none-any.whl.
File metadata
- Download URL: prokie_fastapi_oidc_auth-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbe28d083b2c2b820865fd5ba6f172c9a5b6ab4eb32e59938fb5fdeb60250714
|
|
| MD5 |
ddc52ff66ad470c3dfa00ed50f4b75a4
|
|
| BLAKE2b-256 |
1499b8ebba305fac66056a26d098c14873888358a4bc99d6f10db23b6175bc73
|