---
title: "OIDC 和 OAuth"
description: "Discovery、授权、令牌、登出与 OAuth 扩展端点。"
locale: "zh-Hans"
---

> Documentation Index
> Fetch the locale documentation index at: https://xid.dev/zh-hans/llms.txt
> Use this file to discover all available pages before exploring further.

# OIDC 和 OAuth

## 核心端点

| 端点 | 描述 |
| --- | --- |
| `/.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 响应、RAR`resource_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 处理器上线前，不支持的操作会返回明确错误。 |

Source: https://xid.dev/zh-hans/oidc-oauth/index.mdx
