基础 URL
XID 是身份提供方。实例域名是 OIDC 签发方、API 基础 URL、Hosted Auth 基础 URL 和控制台基础 URL。组织提供策略、品牌、成员关系和资源隔离。
先从实例域名读取 /.well-known/openid-configuration。发现文档会为你的应用提供该签发方的授权、令牌、用户信息、登出和 JWKS 端点。
| 界面 | 路径 | 使用 |
|---|---|---|
| OIDC 发现 | /.well-known/openid-configuration |
配置信赖方前先读取签发方元数据。 |
| 授权 | /authorize |
将用户重定向到统一 Hosted Auth 流程。 |
| 令牌 | /token |
交换授权码或刷新令牌。 |
| 用户信息 | /userinfo |
读取有效访问令牌中的声明。 |
| 管理 API | /v1/* |
从后端管理组织资源。 |
最小集成
- 创建 OIDC 应用并注册精确匹配的重定向 URI。
- 浏览器和原生客户端使用带 PKCE S256 的授权码流程。
- 根据签发方和 JWKS URI 验证 ID 令牌与访问令牌。
- 将刷新令牌存储在服务端或安全的原生凭据存储中。
授权请求
sequenceDiagram participant Browser participant RP participant XID RP->>Browser: /authorize + PKCE S256 Browser->>XID: /authorize + PKCE S256 XID->>Browser: /sign-in Browser->>XID: WebAuthn / SSO XID->>Browser: code Browser->>RP: code RP->>XID: /token + PKCE S256 XID->>RP: ID token + access token
const authorizeUrl = new URL('https://xid.dev/authorize')
authorizeUrl.searchParams.set('client_id', clientId)
authorizeUrl.searchParams.set('redirect_uri', redirectUri)
authorizeUrl.searchParams.set('response_type', 'code')
authorizeUrl.searchParams.set('scope', 'openid profile email')
authorizeUrl.searchParams.set('code_challenge', codeChallenge)
authorizeUrl.searchParams.set('code_challenge_method', 'S256')