gpt4 book ai didi

facebook - 我可以仅使用 Facebook 签名请求安全地验证 Facebook 用户吗?

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

我想让我的用户将他们的用户帐户与 Facebook 或 Twitter 相关联,并允许他们使用他们的 Facebook/Twitter 帐户登录我的服务器,而不是使用传统的用户名/密码。与StackOverflow中的登录基本相同的思路.

我目前对 Facebook 的做法:客户端应用程序将执行 OAuth,然后使用他们的 Facebook id 登录我的服务器。基于这个 Facebook id,服务器将查找关联的用户帐户并执行登录,而不需要用户名/密码。然而,仅依靠 Facebook id 登录并不是很安全,因为这与仅使用用户名而不是用户名和密码登录是一样的。

因此,为了确保 Facebook id 的真实性,客户端应用程序还将在登录请求中提供 FBSR(Facebook 签名请求,请参阅:https://developers.facebook.com/docs/facebook-login/using-login-with-games/#checklogin)。
服务器将使用此 FBSR 检查两件事:

  1. 请求中的 Facebook id 必须与 Conceal 在 FBSR 中的 Facebook id 相同

  2. 服务器将通过 Facebook key 重新计算签名部分。这必须与 FBSR 中的签名匹配。

通常,服务器应使用 oauth_token 与 Facebook 服务器进行检查,以 100% 确定用户身份。但是我需要跳过这个以避免依赖我们服务器上的 Facebook 服务器。

我有两个问题:

1) 上述方法是否足够好?是否可以改进(没有服务器到服务器的通信)?

2) 我想对 Twitter 帐户执行相同的操作,但他们的签名请求与 Facebook 不同。 Twitter 用户 ID 似乎嵌入在 oauth_token 中,所以我的方法可能需要稍微调整一下,但我不确定用户 ID 是否始终是 oauth_token 的一部分,并且在搜索互联网后无法确认这一点。

最佳答案

我认为您的方法已经足够好了,并且看不到任何方法来避免使用签名请求进行服务器到服务器通信。请记住,对于 Facebook Graph Api Version 2,为了保护用户的隐私,Facebook 将发送的不是真实的用户 ID,而是为应用程序生成的 ID。还可以启用匿名登录。

我不确定你想用 Twitter 做什么,也不知道你为什么要比较这些 API(它们完全不同)。 Twitter login ,也称为使用 Twitter 登录,用于任何网站或移动应用程序,应该也适用于您。

关于facebook - 我可以仅使用 Facebook 签名请求安全地验证 Facebook 用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160384/

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