🧪 Authn Mock 认证服务

仅供开发与测试。签名私钥/证书公开在源码中,任何人都可伪造本服务签发的令牌或断言。生产系统绝不能信任此服务。

提供三类 mock 角色:OIDC OP(身份提供方)、SAML IdP(身份提供方)、OIDC RP(客户端,可连接任意外部 OP)。

OIDC OP 端点

Discoveryhttps://authn-mock.lich-wang8718.workers.dev/.well-known/openid-configuration
Authorizehttps://authn-mock.lich-wang8718.workers.dev/oidc/authorize
Tokenhttps://authn-mock.lich-wang8718.workers.dev/oidc/token
UserInfohttps://authn-mock.lich-wang8718.workers.dev/oidc/userinfo
JWKShttps://authn-mock.lich-wang8718.workers.dev/oidc/jwks.json

SAML IdP 端点

Metadatahttps://authn-mock.lich-wang8718.workers.dev/saml/idp/metadata
SSO(Redirect/POST)https://authn-mock.lich-wang8718.workers.dev/saml/idp/sso

把上面的 Metadata URL 导入你的 SP 即可对接。SP-initiated 直接向 SSO 端点发 AuthnRequest; IdP-initiated 可访问 https://authn-mock.lich-wang8718.workers.dev/saml/idp/sso?user=alice&sp=<SP-entityID>&acs=<SP-ACS-URL>

OIDC RP(客户端)

打开 RP 控制台 → 用本 mock 作为客户端,连接任意外部 OP / IdP(Keycloak、Auth0、Okta、Azure AD 或本站 Mock OP), 完整走一遍登录并展示 Discovery、令牌、ID Token 验签与 UserInfo。

测试用户

user 参数subemail
alicemock-user-alicealice@mock.authn.example(已验证)
bobmock-user-bobbob@mock.authn.example(未验证)

快速开始

任意 client_id / redirect_uri 均被接受,无需注册。浏览器访问:

https://authn-mock.lich-wang8718.workers.dev/oidc/authorize?client_id=demo&redirect_uri=https://your-app.example/callback&response_type=code&scope=openid+profile+email&state=xyz&nonce=n-abc

选择测试用户后携带 code 回跳。免交互(CI 场景)可直接加 &user=alice。然后换取令牌:

curl -X POST https://authn-mock.lich-wang8718.workers.dev/oidc/token \
  -d grant_type=authorization_code \
  -d code=<code> \
  -d redirect_uri=https://your-app.example/callback \
  -d client_id=demo

特性:PKCE(S256)、refresh_token(scopeoffline_access 时签发)、client_credentials、CORS 全开。 文档与协议讲解见 authn-cn.pages.dev