我们有一个网站,在该网站上登录和验证自己的唯一方法是使用 Facebook(这不是我的选择)。首次登录 Facebook 时,系统会自动为您创建一个帐户。
我们现在想为我们的网站创建一个 iPhone 应用程序,并为其他人创建一个公共 API 以使用我们的服务。
这个问题是关于如何通过应用程序/API 对我们的网站进行身份验证,分为两部分:
- 处理从 API 到仅使用 Facebook OAuth 作为身份验证方法的网站的 REST 身份验证的正确方法是什么?
我已经阅读并研究了很多关于 REST API 的标准身份验证方法。我们不能使用诸如Basic Auth over HTTPS之类的方法,因为这样的用户没有凭据。像这样的东西似乎只用于使用 API 验证应用程序。
目前,我能想到的最好方法是在我们的 API 上点击 /authorize 端点,它重定向到 Facebook OAuth,然后重定向回站点并提供 API 用户可以用来验证后续身份的“令牌”要求。
- 对于我们创建的官方应用程序,我们不一定需要以相同的方式使用公共 API。那么与我们的网站交谈并验证用户身份的最佳方式是什么?
我了解(我认为)如何使用 API(公共)密钥和秘密(私有)密钥来验证使用我们 API 的第 3 方应用程序。但是,当涉及到对使用该应用程序的用户进行身份验证时,当我们必须对用户进行身份验证的唯一方法是 Facebook 时,我对如何去做感到相当困惑。
我觉得我遗漏了一些非常明显的东西,或者不完全理解公共 REST API 应该如何工作,所以任何建议和帮助将不胜感激。