深入研究Oauth2.0授权码

时间:2013-11-11 22:33:55

标签: ios objective-c oauth-2.0

在下面的代码中: https://github.com/jeyben/IOSLinkedInAPI/blob/master/IOSLinkedInAPI/LIALinkedInAuthorizationViewController.m

在第108-109行,作者检查Oauth2.0认证后返回的状态参数是否与传入的参数相同。是否有必要?状态参数如何在Webview中更改或受到损害?

1 个答案:

答案 0 :(得分:0)

推荐。客户端用于维护的不透明值          请求和回调之间的状态。授权          服务器在重定向用户代理时包含此值          给客户。该参数应该用于防止          跨站点请求伪造,如第10.12节所述。

来自http://tools.ietf.org/html/rfc6749#section-4.1.1

然而,据说我不认为这是绝对必要的,因为由于默认情况下从OAuth 2.0协议提供的SSH,尝试进行跨站点伪造将是一个延伸。这仍然是一个很好的安全措施,因为有人可能会了解请求的方式,或者其中的一部分,并试图伪造出来。同样有趣的是,这在移动设备上是如何改变的,但老实说它并没有那么多改变。对于正在检查的状态而言重要的是,如果用户位于在WebView中被黑客攻击的网站上,则移动应用程序可以使用该状态来保护自己免于接受被黑网站的信息为真。无论如何,这是关于状态变量的许多对话之一。

希望这会有所帮助。 安东尼