我在客户端不记名令牌中验证什么?

What do I verify within a client bearer token?

我有服务 A、OAuth 2 身份验证服务器和服务 B。

服务 A 有一个 API 并信任身份验证服务器。

服务 B 需要调用服务 A 的 API,为此它需要在请求中包含一个客户端(即 non-user-specific)承载令牌 header。

除了client_idsub(应该和client_id一样),服务A需要使用bearer token中的哪些信息来验证认证服务器服务 B 是它所说的那个人,不记名令牌有效吗?

what information from the bearer token does service A need to use to verify with the auth server that service B is who it says it is, that the bearer token is valid?

除了sub,您还应该验证:

  • 没有过期
  • 令牌发行者 iss 是您信任的服务器。
  • 令牌已签名,例如使用 RSA 并由发行者私人证书签名。

市场上常见的 OAuth 服务器通常可以使用 http 端点为您执行这些验证。