我正在为 iOS 创建一个使用我创建的 API 的应用程序,这需要对用户进行身份验证和授权。我正在考虑使用 OAuth 让移动用户使用 Facebook 执行此操作。这是一个内部 API,不打算向第三方公开。
无论如何,我对 OAuth 消费者与 OAuth 提供者的能力和局限性有些困惑。基本上,我想从 iOS 应用程序中实现“使用 Facebook 登录”功能。在我看来,这意味着我的 API 应该是 OAuth 使用者,但问题在于 Web 应用程序的登录流程假定浏览器——一个NSURLConnection
实例不知道如何处理 HTML 登录页面,即使重定向到登录页面是通过在重定向 URI 前加上fb://
架构来实现的,登录表单肯定会将授权令牌传递回 iOS 应用程序而不是我的 API?
所以我的问题是:有没有办法将我的 API 实现为 OAuth 消费者?如果不是,我应该将其实现为 OAuth 提供者,那么使用来自 Facebook 等其他提供者的凭据登录意味着什么?