gpt4 book ai didi

facebook - 用于使用 Facebook 进行身份验证的网站的 REST API

转载 作者:行者123 更新时间:2023-11-30 05:13:20 25 4
gpt4 key购买 nike

我们有一个网站,其中唯一登录和验证您自己的方式是使用 Facebook(这不是我的选择)。首次使用 Facebook 登录时,系统会自动为您创建一个帐户。

我们现在想为我们的网站创建一个 iPhone 应用程序,并为其他人使用我们的服务创建一个公共(public) API。

这个问题是关于如何从应用程序/API 对我们的网站进行身份验证,分为两部分:

  1. 处理从 API 到仅使用 Facebook OAuth 作为身份验证方法的网站的 REST 身份验证的正确方法是什么?

我已经阅读并研究了很多关于 REST API 身份验证的标准方法。我们不能使用 Basic Auth over HTTPS 这样的方法,因为这样的用户没有凭据。类似于 this似乎仅用于使用 API 对应用程序进行身份验证。

目前,我认为最好的方法是在我们的 API 上点击/authorize 端点,它重定向到 Facebook OAuth,然后重定向回网站并提供 API 用户可以使用的“ token ”对后续请求进行身份验证。

  1. 对于我们创建的官方应用程序,我们不一定需要以相同的方式使用公共(public) API。那么与我们的网站对话并验证用户身份的最佳方式是什么?

我了解(我认为)如何使用 API(公共(public)) key 和 secret (私有(private)) key 对使用我们的 API 的第 3 方应用程序进行身份验证。但是,当涉及到对使用该应用程序的用户进行身份验证时,当我们必须对用户进行身份验证的唯一方法是 Facebook 时,我对如何去做感到很困惑。

我觉得我遗漏了一些非常明显的东西,或者不完全理解公共(public) REST API 应该如何工作,因此非常感谢任何建议和帮助。

最佳答案

更新:见下文

我也一直在认真思考这个问题。我还不完全清楚,但这是我正在考虑的路线。我正在创建一个 REST API,我的用户通过 Facebook 连接进行身份验证。

在客户端:

  1. 使用 Facebook API 登录并获取 OAUTH2 代码。
  2. 将此代码交换为访问 token 。
  3. 在每次调用我的自定义 API 时,我都会包含 Facebook 用户 ID 和访问 token 。

在 API 上(对于需要用户身份验证的每个方法):

  1. 使用上面的访问 token 向/me Facebook 图发出请求。
  2. 验证返回的 Facebook 用户 ID 是否与从上面传递给我的 API 的用户 ID 匹配。
  3. 如果访问 token 已过期,则需要进行额外的通信。

我还没有测试这个。听起来怎么样?

---更新:2014年7月27日回答问题---

我只在登录后使用上述交易所一次。一旦确定哪个用户正在登录,我就会创建自己的访问 token ,并从那时起使用该 token 。所以新流程看起来像这样......

在客户端:

  1. 使用 Facebook API 登录并获取 OAUTH2 代码。
  2. 将此代码交换为访问 token 。
  3. 我的 API 请求访问 token ,包括作为参数的 Facebook token

在 API 上

  1. 接收访问 token 请求。
  2. 使用 facebook 访问 token 向/me Facebook 图发出请求
  3. 验证 Facebook 用户是否存在并与我的数据库中的用户匹配
  4. 创建我自己的访问 token ,将其保存并返回给客户端,以便从现在开始使用

关于facebook - 用于使用 Facebook 进行身份验证的网站的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12065492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com