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
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 |