Getting Started
-
Start stubIdP
Terminal window npx @cerberauth/stubidp --redirect-uri http://localhost:8080/callbackThe server starts at
http://localhost:8484.--client-idand--client-secretare optional. When omitted, a human-readable ID (e.g.brave-falcon-3a9f12) and a secure random secret are generated and printed in the startup table. -
Verify it is running
Terminal window curl http://localhost:8484/.well-known/openid-configurationYou should receive a JSON document with standard OIDC discovery fields.
-
Configure your application
Point your OAuth 2.0 / OIDC client library at stubIdP:
Setting Value Issuer / Discovery URL http://localhost:8484Client ID value printed in startup log Client Secret value printed in startup log Authorization endpoint http://localhost:8484/authToken endpoint http://localhost:8484/tokenJWKS URI http://localhost:8484/jwks -
Log in
When your app redirects to the authorization endpoint, stubIdP shows a login form. Enter any username and password — all credentials are accepted.
-
Approve scopes
After login, stubIdP shows a consent screen listing the requested scopes. Click Allow to complete the flow and receive tokens.
Next steps
Section titled “Next steps”- Dynamic Client Registration — use stubIdP as a shared OIDC server for teams or multi-service environments
- GitHub Actions — run stubIdP in CI pipelines
- Cloudflare Workers — deploy a globally distributed OIDC server
- Docker — run stubIdP as a container
- Configuration — CLI flags, environment variables, and database options