跳转至

M2M 令牌

在 M2M 授权中,颁发给应用的访问令牌采用 JWT(JSON Web Token)格式。颁发给 M2M 应用的访问令牌,典型的负载如下所示:

{
  "aud": [
    "https://myapi.com/api"
  ],
  "client_id": "b892697a2075af58",
  "exp": 1755013218,
  "iat": 1755011418,
  "iss": "https://myproject.authanyid.com",
  "jti": "b89bf5e5261f26ed220491ebf0f991ff89b274a21c88350221683cd02b74c364",
  "scope": "read:orders write:orders",
  "sub": "client_id_b892697a2075af58"
}
  • aud:该令牌所面向的 API 资源的标识符(可以有多个)。API 服务器在接受该令牌之前,应检查此声明是否与自身标识符匹配。
  • client_id:请求该令牌的 M2M 应用或客户端的唯一标识符。它可以帮助 API 服务器判断是哪个应用发起了请求,从而应用正确的授权策略。
  • exp:令牌的 过期时间,以秒为单位的 Unix 时间戳表示。超过这个时间后,令牌即失效,API 不得再接受该令牌。
  • iat:令牌的 签发时间,同样以 Unix 时间戳(秒)表示。它标明了令牌的签发时刻,可用于评估令牌的新旧程度。
  • iss:令牌的签发者,通常是 Authany 项目端点(例如 https://myproject.authanyid.com)。API 服务器应验证该值与预期的签发者是否一致,以确保令牌来自可信来源。
  • jti:JWT ID,令牌的唯一标识符,可用于令牌吊销或防止重放攻击。
  • scope:以空格分隔的、授予该客户端的权限列表。API 服务器应检查这些作用域,以确定客户端被授权执行哪些操作(例如 read:orders、write:orders)。
  • sub:令牌的主体。对于 M2M 令牌,这通常就是客户端本身(格式为 client_id_{client_id})。