0

我正在为 iOS 创建一个使用我创建的 API 的应用程序,这需要对用户进行身份验证和授权。我正在考虑使用 OAuth 让移动用户使用 Facebook 执行此操作。这是一个内部 API,不打算向第三方公开。

无论如何,我对 OAuth 消费者与 OAuth 提供者的能力和局限性有些困惑。基本上,我想从 iOS 应用程序中实现“使用 Facebook 登录”功能。在我看来,这意味着我的 API 应该是 OAuth 使用者,但问题在于 Web 应用程序的登录流程假定浏览器——一个NSURLConnection实例不知道如何处理 HTML 登录页面,即使重定向到登录页面是通过在重定向 URI 前加上fb://架构来实现的,登录表单肯定会将授权令牌传递回 iOS 应用程序而不是我的 API?

所以我的问题是:有没有办法将我的 API 实现为 OAuth 消费者?如果不是,我应该将其实现为 OAuth 提供者,那么使用来自 Facebook 等其他提供者的凭据登录意味着什么?

4

1 回答 1

0

我认为事情有点混乱:

  1. OAuth 是针对 facebook 对您的应用进行身份验证。用户代表他向您的应用授予对其 FB 帐户的访问权限
  2. “使用 FB 登录”是另一种方式,而不是 OAuth:拥有 FB 帐户的用户正在使用此数据注册并登录到您的应用程序。

#2 的整个流程可以在这里阅读。

于 2013-06-09T18:01:18.517 回答