Skip to content

7.4. 客户端冒充资源所有者

资源服务器做出访问控制决策时,可能根据的是被颁发访问令牌的资源所有者的身份,或者是客户端凭据许可中客户端的身份。如果两种选择都可行,根据实现细节,客户端的身份可能会被误认为是资源所有者的身份。例如,如果客户端在授权服务器上注册时,可以选择自己的 client_id,那么恶意客户端可能会将其设置为终端用户的标识值(例如,使用 OpenID Connect 时的 sub 值)。如果资源服务器不能正确区分颁发给客户端的访问令牌和颁发给终端用户的访问令牌,客户端就有可能访问终端用户的资源。

如果客户端 ID 和用户标识符在授权服务器上处于同一个通用命名空间,导致资源服务器无法区分资源所有者授权的访问令牌和客户端自身授权的访问令牌,那么授权服务器就不应该允许客户端左右它们的 client_id 或任何其它声明,以免与真正的资源所有者造成混淆。当这种情况无法避免时,授权服务器必须为资源服务器提供其它方法,以区分这两种访问令牌。

本站使用 Vitepress 构建