核心端点
| 端点 | 描述 |
|---|---|
/.well-known/openid-configuration |
当前签发方的 OIDC 发现文档。 |
/.well-known/oauth-protected-resource |
XID 托管资源端点的 OAuth 受保护资源元数据。 |
/jwks |
实例公共签名密钥,包含当前生效和轮换中的密钥 ID。 |
/authorize |
授权端点支持 PKCE、state、nonce、PAR 和 Hosted Auth 交接。 |
/par |
使用一次性 request_uri 的推送授权请求。 |
/token |
支持授权码、刷新令牌、客户端凭据、设备码和令牌交换。 |
/userinfo |
Bearer 或 DPoP 访问令牌中的用户声明。 |
/end_session |
RP 发起登出,并使用已注册的登出后重定向。 |
协议要求
- PKCE 使用 S256。拒绝明文 PKCE。
- 重定向 URI 必须精确匹配。不接受通配符。
- 授权码只能使用一次。
- 刷新令牌每次使用都会轮换,重放会吊销整个令牌族。
- DPoP 绑定客户端在 token 和 resource 调用中必须提交有效 DPoP proof。Authorization request
dpop_jkt会绑定到 authorization code exchange。
支持等级
| 等级 | OAuth 和 OIDC 功能 |
|---|---|
| 已实现 | 授权码、PKCE S256、refresh 轮换、PAR、DPoP 证明与 dpop_jkt 绑定、动态客户端注册、ID token、userinfo、混合响应类型、签名 JAR 请求对象、签名 JARM 响应、RARresource_access 授权详情、token exchange refresh 与 ID token 签发、mTLS 客户端认证以及前端通道登出。 |
| 提供商就绪 | 设备授权轮询、Session Management check_session、CIBA 后端通道批准、FAPI 2.0 / 基于浏览器的应用 profile 门控、OpenID Federation 和 Shared Signals 公开受控最小化或 provider-ready 子集。GNAP、UMA、HEART、OpenID4VP 和 OpenID4VCI 在完整 profile 处理器上线前返回否定或 501 桩。 |
| 计划中 | 下游 SaaS OIDC 在本地使用当前通用 OIDC 基线,但 SaaS 专属生产支持仍需要真实 SaaS L4。 |
| 已废弃或不支持 | 隐式流、密码授权、plain PKCE 和通配符重定向。 |
角色边界
| XID 角色 | 当前公开状态 |
|---|---|
| 面向客户应用的 OIDC / OAuth 身份提供商 | 在本地和 Worker 路由中已实现,覆盖 authorization code、PKCE S256、PAR、DPoP、JAR、JARM、RAR、discovery、JWKS、token、userinfo、introspection 和 revocation。 |
| 上游企业 OIDC 依赖方 | 企业连接已 provider-ready。生产支持需要真实 IdP 配置和 callback L4。 |
| 社交 OAuth 依赖方 | GitHub、Google、Microsoft 账号和 Apple 已 provider-ready。提供商特定边界请参见社交登录。 |
| 下游 SaaS OIDC 身份提供商 | 通用 OIDC 基线已在本地可用。在生产支持声明之前,仍需 SaaS 专项应用模板和真实 SaaS L4。 |
客户端类型
| 客户端 | 推荐流程 |
|---|---|
| Web 应用 | 通过服务端交换令牌的授权码流程。 |
| SPA | 使用 PKCE S256 的授权码流程。 |
| 原生应用 | 使用 PKCE S256 和声明式重定向的授权码流程。 |
| 机器到机器 | 带作用域访问的客户端凭据。 |
受控或最小化的 OAuth 与 OIDC 扩展
| 等级 | 状态 |
|---|---|
| 断言授权 | 未启用 JWT bearer 和 SAML bearer 断言授权。注册会拒绝断言授权元数据,直到存在信任根。 |
| GNAP, UMA, HEART, OpenID4VP, OpenID4VCI | 公开最小化路由子集和对发现友好的元数据。在完整 profile 处理器上线前,不支持的操作会返回明确错误。 |