feat: support OIDC id_token

- generate JWT id_token in token exchange
- store optional nonce in authorization object
- switch to RS256 algorithm for JWT signature
- add JWKs endpoint to provide OIDC clients with public keys
This commit is contained in:
Matthieu Bessat 2024-12-09 09:38:39 +01:00
parent 4763915812
commit 02e16a7e74
32 changed files with 469 additions and 103 deletions

View file

@ -2,17 +2,17 @@ export RUST_BACKTRACE := "1"
export RUST_LOG := "trace"
export CONTEXT_ARGS := "--config config.toml --database tmp/dbs/minauthator.db --static-assets ./assets"
watch-server:
cargo-watch -x "run --bin minauthator-server -- $CONTEXT_ARGS"
watch-server *args:
cargo-watch -x "run --bin minauthator-server -- $CONTEXT_ARGS {{args}}"
server:
cargo run --bin minauthator-server -- $CONTEXT_ARGS
server *args:
cargo run --bin minauthator-server -- $CONTEXT_ARGS {{args}}
admin:
cargo run --bin minauthator-admin -- $CONTEXT_ARGS
admin *args:
cargo run --bin minauthator-admin -- $CONTEXT_ARGS {{args}}
docker-build:
docker build -t lefuturiste/minauthator .
docker-build *args:
docker build -t lefuturiste/minauthator {{args}} .
docker-init-db:
docker run \
@ -28,6 +28,6 @@ docker-run:
-v minauthator-db:/var/lib/minauthator \
lefuturiste/minauthator
init-db:
sqlite3 -echo tmp/dbs/minauthator.db < migrations/all.sql
init-db *args:
sqlite3 {{args}} tmp/dbs/minauthator.db < migrations/all.sql