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})。