🧪 Authn Mock 认证服务

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

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

OIDC OP 端点

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

SAML IdP 端点

Metadatahttps://mock.authn.tech/saml/idp/metadata
SSO(Redirect/POST)https://mock.authn.tech/saml/idp/sso

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

SAML SP(服务提供方)

打开 SP 控制台 → 作为 SP 与 IdP 配对完成 Web Browser SSO。默认对接本站 Mock IdP,可一键端到端演示;ACS 会展示验签与断言解析结果。Metadata: https://mock.authn.tech/saml/sp/metadata

OIDC RP(客户端)

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

资源服务器(Resource Server)

打开资源服务器说明 → 一个受 Bearer access token 保护的 API(https://mock.authn.tech/rs/api), 演示 OAuth2 里 RP 之外的角色:校验令牌签名、过期与 scope 后返回受保护资源。

TOTP 验证器(第二因素)

打开 TOTP 说明 → 按 Base32 密钥计算当前验证码(/totp/code,充当认证器)或校验验证码(/totp/verify,带时间容错)。RFC 4226 / 6238。

WebAuthn RP(Passkey)

打开 WebAuthn 演示 → 自包含的依赖方:在浏览器里完整跑通 Passkey 注册与登录,服务端真实解析 attestation 并用注册公钥验证登录断言签名。

邮件服务器(收件箱)

打开 Mock 收件箱 → 用 Cloudflare Email Routing 接收邮件,在线或用 API 查看,并自动抽取一次性验证码。 联调邮件 OTP:发验证码到某地址后,GET https://mock.authn.tech/mail/api/latest?to=<地址> 即可取回;无需真实收信可 POST https://mock.authn.tech/mail/api/inject 注入假邮件。

LDAP 目录(搜索模拟器)

打开 Mock LDAP 说明 → 用 HTTP/JSON 暴露固定示例目录并按 RFC 4515 过滤器求值(非真 LDAP 协议;Workers 无法监听 TCP)。 搜索:https://mock.authn.tech/ldap/search?base=&scope=&filter=

测试用户

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

快速开始

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

https://mock.authn.tech/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://mock.authn.tech/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