gpt4 book ai didi

security - OpenId Connect 如何保护资源服务器免受客户端模拟?

转载 作者:行者123 更新时间:2023-12-03 17:37:44 25 4
gpt4 key购买 nike

我知道 openId connect 可以发出一个 Id token ,该 token 可由
客户端(依赖方)对最终用户进行身份验证。但是如何使用它来保护资源服务器免受客户端模仿呢? (我认为这个问题与 Client impersonation in OAuth application with implicit authorization 非常相似)

比如说,有一个 SPA(android + webAPI),客户端(android 应用程序)实现了 openid 连接隐式流,并将直接使用访问 token 与资源服务器(web api)通信。
应用程序首先将最终用户重定向到 openid 提供程序,并获得 id token 和访问 token 。
但是,有一个恶意应用程序会窃取访问 token 并冒充客户端与资源服务器进行通信。

没有id token ,资源服务器如何知道访问 token 是否被盗?

最佳答案

我不认为可以。正如您所说,OpenID Connect 是关于向客户端验证最终用户的身份。它没有说明将客户端验证到资源服务器的任何内容。客户端和资源服务器之间的关系纯粹是OAuth2,资源服务器通常能做的就是检查访问 token 是否由授权服务器颁发。 Section 10.16 OAuth2 规范的一部分还讨论了如何将访问 token 与隐式授权一起滥用。

使用隐式授权不能保证客户端不是恶意的。它甚至未经授权服务器验证。这与授权代码授权不同,在授权代码授权中,客户端直接向 token 端点进行身份验证。尽管如此,使用普通的 OAuth2,客户端不会向资源服务器进行身份验证,因此资源服务器不知道哪个客户端正在发送请求。

OAuth2 忽略了访问 token 的实现或验证方式,因此根据详细信息,资源所有者可能能够从 token 中获取有关哪个客户端请求它的更多信息。但是对于隐式授权,您没有任何保证。

关于security - OpenId Connect 如何保护资源服务器免受客户端模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44490377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com