OIDC Server Playground for development & testing
Sometime when developing a web app, its easier to integrate OIDC early in the process, as it allows to skip many important auth-related feature (login, registration, password reset, etc). however setting up IdP for development purposes often takes a lot of effort. this project aims to provide a simple IdP server for this purposes, with minimal features
registering on a cloud OIDC provider is not always straightforward (google, twitter, etc). distributing the credentials is also another minefield. so a mock IdP server seems like the best option
Curently we only provide a generic OIDC server module. However in the future we plan to add mock server for popular services such as Google, Github, Keycloak, etc.
To start playing with this tools as a Generic OIDC Server, you could use any OIDC client you have (for example: openidconnect.net , an OIDC client playground by Auth0), and then use the /.well-known/openid-configuration path to populate all the required fields. You could also view request history to known client by visiting the request history page.
There are a tutorial in our wiki page if you wish for a more detailed guidance.
For many cases, using our public instance at authduck.fly.dev should be enough. However if you wish to install it on your own server, we provide several methods:
we provided executables for various platforms, just extract the file and run in. see our releases page.
docker run -it ghcr.io/azophy/authduck:latest
commonly for development. just prepare go version 1.22+ and run go build
.
Using environment variables or via .env
file. please see .env.example
for available options
- well known endpoint
- jwks endpoint
- customize call back payload
- define accepted clients & users
- deployable as single binary
- dockerized in dockerhub
- rate limiter to protect from abuse
- scheduler to clear stale data
- mock for popular OIDC providers: google, facebook, github, keycloak, ory, etc
- go 1.22
- in memory sqlite (configurable)
- tacit css framework
- HTMX
- JWX package for JWT, JWK, and JWS operations