← 返回产品列表
🔐

OAuth 2.1 授权

Authorization Code + PKCE,零 secret 泄漏

开放平台标准 OAuth 2.1 授权码流程。SPA / 移动 App / iframe 均走 PKCE,无需暴露 client secret。state 防 CSRF,5 分钟 code 缓存防重放。

example.http
# 1. 引导用户授权
GET /oauth/authorize?
  response_type=code&
  client_id=YOUR_APP_KEY&
  redirect_uri=https://yourapp.com/callback&
  scope=openid%20profile&
  state=RANDOM_STATE&
  code_challenge=BASE64URL(SHA256(verifier))&
  code_challenge_method=S256

# 2. 回调接收 code,换 token
POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&
code=AUTH_CODE&
redirect_uri=https://yourapp.com/callback&
client_id=YOUR_APP_KEY&
code_verifier=ORIGINAL_VERIFIER

# 3. 调用 API(Bearer JWT)
GET /oauth/userinfo
Authorization: Bearer <access_token>

核心能力

6 项核心能力,每项独立可用

OAuth 2.1 安全收口

废弃 implicit / password,强制 PKCE,符合最新 RFC

Authorization Code + PKCE

SPA / 移动 App / iframe 统一安全流程

state 防 CSRF

随机 state 原样返回,跨站请求伪造防御

JWT (RFC 9068)

access_token 为 JWT,iss=UM,可本地验签

Refresh Token

长会话场景,refresh_token 续期 access_token

5 分钟 code 缓存

同一 code 5 分钟内只能消费一次,防重放

API 端点

通过 /api/* 调用以下端点

方法路径说明
GET/oauth/authorize授权端点(引导用户授权)
POST/oauth/token令牌端点(code 换 token / refresh)
GET/oauth/userinfoOIDC UserInfo(获取用户信息)
POST/oauth/revoke撤销 token

其他产品