oauth2.0 如何授权进入下游API?

0ejtzxu1  于 2023-10-15  发布在  其他
关注(0)|答案(1)|浏览(122)

我们使用OAuth 2.0进行授权。
服务器端Web应用程序首先将客户端凭据发送到授权服务器并获得JWT令牌。然后,它向API-1发送请求。API-1需要向API-2发送自己的请求。
是否可以使用API-1已经从客户端接收到的相同JWT来在API-2中进行授权?
如果没有,在这种情况下可以使用什么授权方法?
从我读过的文档来看,似乎不可能重用相同的JWT,但我也不确定在这里使用什么是正确的方法。

busg9geu

busg9geu1#

访问令牌被设计为由多个API使用,因此转发令牌是一个很好的默认操作。这将以可验证和可审计的方式传递用户身份和其他令牌声明。然后,每个API在允许请求之前验证JWT。
令牌转发通常与范围和受众检查相结合,以设置边界。例如,对于sales业务区域,令牌可能具有以下值:

aud: api.mycompany.com
scope: openid sales

每个API都必须检查其所需的受众和范围。这些可以以各种方式设计,例如,如果需要,不同的API操作可能需要不同的作用域。如果上面的令牌被发送到需要不同作用域的finance API,则会被拒绝并返回403错误。
当跨越信任边界时,通常避免令牌转发,例如,如果担心上游API滥用令牌。在这种情况下,可能会使用某种token exchange,它会继续传递身份,尽管权限可能会减少。

相关问题