我想开发一个原生应用(用于手机),使用OAuth 2.0授权访问来自资源API的受保护资源。根据第2.1节的定义,我的客户端
在注册时,授权服务器提供
客户端将使用授权码从授权服务器接收其授权许可。如果正确实现,这似乎对中间的任何攻击者都很安全。
因此,每当我们处理 PEBKAC 时(我认为这经常发生),如果资源所有者授予了攻击者(可能完全看起来像我的合法客户端)授权许可,那么冒名顶替者可以轻松地访问受保护的资源,这是真的吗?
类型
为公共
。在注册时,授权服务器提供
client_id
进行公共身份验证和redirect_uri
。客户端将使用授权码从授权服务器接收其授权许可。如果正确实现,这似乎对中间的任何攻击者都很安全。
在第10.2节中讨论了客户端模拟。在我的情况下,资源所有者通过用户代理向授权服务器提供其凭据来授权客户端。本节讨论了授权服务器:
应该利用其他手段保护资源所有者免受此类潜在恶意客户端的侵害。例如,授权服务器可以协助资源所有者识别客户端及其来源。
我的主要关注点是一旦检索到client_id
和redirect_uri
,很容易模拟我的客户端。
由于公共客户端的性质,这可以轻松地进行反向工程。或者在我的情况下,该项目将是开源的,因此可以从Web检索此信息。
据我从第10.2节所理解的,资源所有者有责任通过与授权服务器应协助的内容进行比较来检查客户端是否合法。
根据我与第三方应用程序请求授权许可的经验,我收到的只是一个页面,上面有关于实际应该请求授权许可的客户端的一些信息。从纯逻辑上来看,我只能判断请求授权许可的客户端是否确实是授权服务器所告诉我的客户端。因此,每当我们处理 PEBKAC 时(我认为这经常发生),如果资源所有者授予了攻击者(可能完全看起来像我的合法客户端)授权许可,那么冒名顶替者可以轻松地访问受保护的资源,这是真的吗?