Mock SAML and OIDC identity provider for testing SSO
Paste the SAML metadata URL, or the OIDC issuer with any client ID and secret, into your app. Sign in as anyone, at any email domain. No install, no sign-up, no client registration.
Your domain
Optional — per-tenant issuer for SAML and OIDCType any domain — the namespaced URLs below update instantly. Skip it to use the global URLs.
Use letters, digits, dots, dashes, or underscores.
SAML 2.0 metadata URL
Paste this into your SPOpenID Connect issuer
Point your app at thishttps://mockidp.dev
https://mockidp.dev/namespace/acme.io
mock-client
Any string. It becomes the ID token’s aud.
mock-secret
Any string, never checked. Leave it empty for a public client using PKCE.
Any absolute http or https URL is accepted.
openid email profile
noneclient_secret_basicclient_secret_post
Authorization code flow. PKCE (S256) optional. ID tokens signed with RS256.
Example config
OIDC_ISSUER=https://mockidp.dev
OIDC_CLIENT_ID=mock-client
OIDC_CLIENT_SECRET=mock-secret
OIDC_SCOPES="openid email profile"
- Copy the SAML metadata URL, or the OIDC issuer and client settings
- Paste it into your app’s SSO settings
- Start login from your app — any email and password work
All endpoints
SAML, per-domain acme.io
- Metadata /api/namespace/acme.io/saml/metadata
- SSO /api/namespace/acme.io/saml/sso
- Login /namespace/acme.io/saml/login
SAML, global
- Metadata /api/saml/metadata
- SSO /api/saml/sso
- Login /saml/login
OIDC, per-domain acme.io
-
Issuer
https://mockidp.dev/namespace/acme.io - Discovery /namespace/acme.io/.well-known/openid-configuration
-
Authorize
/namespace/acme.io/oauth/authorize -
Token
/namespace/acme.io/oauth/token -
Userinfo
/namespace/acme.io/oauth/userinfo - JWKS /namespace/acme.io/oauth/jwks
- Login /namespace/acme.io/oidc/login
OIDC, global
-
Issuer
https://mockidp.dev - Discovery /.well-known/openid-configuration
-
Authorize
/oauth/authorize -
Token
/oauth/token -
Userinfo
/oauth/userinfo - JWKS /oauth/jwks
- Login /oidc/login
FAQ
What is a mock SAML identity provider?
A mock SAML identity provider stands in for a real IdP such as Okta, Entra ID, or Google Workspace while you build and test SSO. It issues genuinely signed SAML 2.0 assertions your service provider can validate, but it authenticates nobody: any password is accepted, so you can test login flows without provisioning users or waiting on IT.
Is it free, and do I need to sign up?
It is free and there is no sign-up. Point your app's SAML settings at the metadata URL, or its OIDC settings at the issuer URL, and start testing immediately.
Can I test multi-tenant SSO with different email domains?
Yes. Every URL has a namespaced twin, so a namespace per tenant gets its own issuer, its own metadata, and a login form with the domain prefilled. No domain allowlist means any email domain signs in.
Does it support SP-initiated and IdP-initiated login?
Both. Send an AuthnRequest over HTTP-POST or HTTP-Redirect for the SP-initiated flow and the audience and ACS URL are read from the request. Or open the login form directly and supply them yourself for an IdP-initiated test.
Are the SAML assertions really signed?
Yes. Assertions are signed with RSA-SHA256 using exclusive canonicalization, with the certificate embedded in KeyInfo, so your service provider validates the signature for real.
Does it support OpenID Connect?
Yes. It is also an OpenID Connect provider: authorization code flow, RS256 ID tokens signed with the same key, and PKCE S256. Point your app at the issuer URL. A namespace gets its own issuer, the same way it gets its own SAML entity ID. Any client ID and any http or https redirect URI are accepted, and the login form is the one SAML uses.
What client ID and client secret do I use for OIDC?
Any. There is no client registry, so pick any client ID, such as mock-client, and any client secret, or none at all for a public client using PKCE. Secrets are accepted via client_secret_basic or client_secret_post and never checked. Register any http or https redirect URI; the ID token's audience is the client ID you sent.
Can I use it in production?
No. It verifies no passwords and no domains, so it must never be used as a real identity source or pointed at production traffic. It is a testing tool. You can also self-host it from source.