'重定向网址'对于oAuth2.0客户端

时间:2015-05-05 19:38:11

标签: android rest oauth-2.0 client

我对OAuth框架非常陌生,目前正致力于在Android平台上编写客户端。

尝试使用api提供程序注册我的应用程序时,它会要求重定向URL。我搜索了一下,发现一些文献说这是一个安全功能,以避免网络钓鱼攻击和类似的东西。

我对学到的东西感到困惑。实际上,作为客户端开发人员,我应该如何使用重定向网址?是否有我需要遵循的指南?是否需要任意值?

任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

重定向网址的目标是防止恶意网站的开发者欺骗OAuth服务器生成适合您的令牌并将其提供给他们。潜在的漏洞是:

  1. 请求https://oauth.server.com/login?app_id=2&redirect_uri=https://malicious.com
  2. 用户登录后,OAuth服务器会生成令牌并重定向到https://malicious.com?token=xxx
  3. 如果上述流程有效,则恶意服务器会获得一个有效令牌,然后可以使用该令牌与您的应用程序进行交互。

    相反,当您注册申请时,他们会立即要求提供返回网址。这使他们能够始终重定向到应用程序的相同URL,因此始终将有效令牌传递给已知应用程序。

    OAuth流程的这一部分包含在the OAuth 2 spec section 3.1.2 Redirection Endpoint中。它有很多规则,所以我不会在这里引用它。

    如果您通过API而非OAuth流使用此令牌,那么您可能不需要重定向网址。