AM
ZH-CN
免费开始
菜单
功能

后端集成

通过 JWKS 与 OIDC Discovery 在后端服务中验证令牌。

backendjwtjwksverificationoidc

后端集成

AM 通过 JWKS 暴露公钥,通过 OIDC Discovery 暴露配置。这些都是标准协议,任意 JWT 库都可直接使用。

在本地验证令牌、信任声明并进行授权即可。

Token 验证流程

AM你的后端客户端AM你的后端客户端GET /.well-known/jwks.json (cached)公钥请求 + Bearer 令牌在本地验证 JWT 签名Check exp, aud, scope响应

Endpoints

Endpoint 用途
/.well-known/jwks.json 公共签名密钥
/.well-known/openid-configuration OIDC Discovery 文档
/oauth2/introspect Refresh Token 自省

JWKS

获取公钥用于本地验证:

GET /.well-known/jwks.json
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "key_...",
      "alg": "RS256",
      "n": "0vx7agoebG...",
      "e": "AQAB"
    }
  ]
}

密钥轮换期间可能同时存在多把密钥。请用 JWT 头部里的 kid 声明进行匹配。

OIDC Discovery

通过 Discovery 文档自动配置客户端:

GET /.well-known/openid-configuration

返回符合 OpenID Connect Discovery 规范的端点信息、支持算法和能力。

JWT Claims

验证后的令牌包含:

Claim 说明
iss 签发方 URL
sub 主体(用户 ID 或客户端 ID)
aud 目标受众
exp 过期时间(Unix 时间戳)
iat 签发时间(Unix 时间戳)
scope 已授予权限
cid 客户端 ID
app 应用 ID
acc 当前账户 ID
uid 用户 ID(用户认证场景)
role 用户在当前账户中的角色

缓存

  • 缓存 JWKS 响应(使用 ETag/If-None-Match)
  • 签名验证失败时主动刷新(应对密钥轮换)
  • 典型 TTL:1 小时

Token 自省

对于 Refresh Token 或需要权威验证的场景:

POST /oauth2/introspect
Content-Type: application/x-www-form-urlencoded

token=...&client_id=...&client_secret=...

返回 active: true/false 及令牌声明。Access Token 是 JWT,优先通过 JWKS 本地验证。

相关