【问题标题】:OAuth2 implementation for Facebook (or Twitter) mobile APP?Facebook(或 Twitter)移动 APP 的 OAuth2 实现?
【发布时间】:2014-12-18 16:20:00
【问题描述】:

对不起,误导性的标题,但这是我想做的:

  1. 假设我有一个已经在运行的网站 AwesomeWeb,它使用用户名/密码组合对其用户进行身份验证。现在我想为它开发一个移动应用AwesomeApp,同时开发和开放它的RESTful API - AwesomeAPI

  2. 为简单起见,我计划使用 OAuth2 授权 AwesomeAPI,并使 AwesomeApp 成为第一个客户端/应用程序。

  3. 但我确实希望 AwesomeApp 有一个简单的登录过程:输入用户名/密码 -> 点击按钮 -> 完成。换句话说,就像 Facebook 或 Twitter 一样,拥有一种“非网络”的感觉。

  4. 对于那些想要通过 AwesomeAPI 访问资源(如用户名)的第三方移动应用程序,它应该在应用程序的某处嵌入一个按钮,该按钮会打开 AwesomeApp 单击时显示“允许/拒绝”页面。同样,这也是 Facebook 和 Twitter 应用程序正在做的事情。

好的,下面是问题:

  • 在第 3 步,我应该使用什么:webview 或做 http stuffs 背景或仅使用 OAuth2 密码授权类型?利弊?
  • 在第 3 步之后,我获得了 AwesomeApp 的访问令牌。但是此令牌不能在第 4 步中用于为某些 3rd 方应用程序颁发访问令牌,对吗?如果是,如何实现第 4 步?

非常感谢您的帮助!

注意:我不是要求 OAuth2 流或应用间通信。

【问题讨论】:

    标签: android ios oauth-2.0


    【解决方案1】:

    无论您是通过实现RFC 6749(OAuth 2.0)中定义的“Resource Owner Password Credentials”流程还是通过其他方式实现步骤3,都应在后台执行身份验证。请注意,在“资源所有者密码凭据”流程中,客户端应用程序不会访问authorization endpoint,而是直接访问token endpoint,因此不会显示授权 UI(应该显示在授权端点)。

    要实现第 4 步,您必须实现“Authorization Code”流程或“Implicit”流程。

    【讨论】:

      猜你喜欢
      • 2017-02-18
      • 2012-07-13
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多