Android ';重定向url';对于oAuth2.0客户端

Android ';重定向url';对于oAuth2.0客户端,android,rest,oauth-2.0,client,Android,Rest,Oauth 2.0,Client,我对OAuth框架非常陌生,目前正在android平台上编写客户端 当尝试向api提供程序注册我的应用程序时,它会请求重定向url。我在bit搜索了一下,找到了一些文献,说这是一种安全功能,可以避免网络钓鱼攻击之类的东西 我对所学的东西有点困惑。实际上,作为一名客户端开发人员,我应该如何处理重定向url?是否有我需要遵循的指导原则?它接受任意值吗 任何帮助都将不胜感激 谢谢。重定向URL的目的是防止恶意网站的开发人员欺骗OAuth服务器生成一个用于您的令牌并将其提供给他们。潜在的漏洞是: 请求h

我对OAuth框架非常陌生,目前正在android平台上编写客户端

当尝试向api提供程序注册我的应用程序时,它会请求重定向url。我在bit搜索了一下,找到了一些文献,说这是一种安全功能,可以避免网络钓鱼攻击之类的东西

我对所学的东西有点困惑。实际上,作为一名客户端开发人员,我应该如何处理重定向url?是否有我需要遵循的指导原则?它接受任意值吗

任何帮助都将不胜感激


谢谢。

重定向URL的目的是防止恶意网站的开发人员欺骗OAuth服务器生成一个用于您的令牌并将其提供给他们。潜在的漏洞是:

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

    相反,当你注册你的应用程序时,他们会直接要求返回URL。这使它们能够始终重定向到应用程序的同一URL,因此始终将有效令牌传递给已知应用程序

    中介绍了OAuth流的这一部分。这里有很多规则,所以我不会在这里引用


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

    很好的解释。谢谢。另一个问题,为什么服务器首先需要重定向我的请求,如果没有设置重定向,该漏洞是否仍然存在?当用户尝试登录时,使用OAuth的标准web应用程序将按照上述步骤1重定向到OAuth服务器(例如,单击“使用Facebook登录”按钮). OAuth服务器随后将使用令牌重定向回。使用此流,存在漏洞。如果不使用此流,则不需要重定向url。