【问题标题】:How to authenticate Facebook User after receiving response.status === 'connected'?收到 response.status === 'connected' 后如何验证 Facebook 用户?
【发布时间】:2013-08-26 15:05:36
【问题描述】:

也许我的做法是错误的,但我有一个允许 facebook 登录的网站。

  1. 如果用户已经在我的网站上注册了
  2. 已登录 facebook 但未登录我的网站
  3. 访问登录页面时,我会检查他们的 facebook 登录状态并通过 - 获取 response.status === 'connected'

    FB.Event.subscribe('auth.authResponseChange', function (response) 
    {
        if (response.status === 'connected') 
        {
            var s = JSON.stringify(response.authResponse);
            LogMeIn(s, function(response) 
            {
                HandleAjaxError(response, function(msg)
                {
                    window.location = '/_/';  
                });
            });
        }
     }
    
  4. 然后我想将他们的 authResponse 对象传递给服务器,并在我以该用户身份登录之前确认此用户 ID 与此令牌一起使用

我已经阅读了简单地获取 -

的 json 内容

https://graph.facebook.com/{userID}?access_token={accessToken}

如果它没有返回错误,那很好!但是在测试此方法时,我注意到相同的 access_token 对两个不同的用户 ID 有效(这意味着它没有为未在我的计算机上登录的用户 ID 返回错误)。相反,它返回了带有名称、位置等的 facebook 用户对象。

这真的让我感到惊讶,正如我所期望的 access_tokenwork only with a single user id。

为了防止有人在继续执行脚本之前简单地更改用户 ID,我需要通过服务器端进行身份验证。有什么方法可以做到这一点?

证明,去这些链接查看个人资料信息

我的个人资料-

https://graph.facebook.com/1233822590?access_token=CAACCBJJZBgjABAOGmvmsou8gMYGulLHTgAr5ZCHZAU7pKEp0cMAeX8r4qHLpiVuZCOT1v0ulMZAxX5YfLJkcZBr9l6qJQoPxWS5Fs5ndohDnH6ZAPPfZCZCTQtwWgAZAg6I1PAOIpdtCc0OUaMmBZAvGiMm9gQhmNXRbocZD

另一个具有相同 access_token 的用户 ID-

https://graph.facebook.com/100000116781159?access_token=CAACCBJJZBgjABAOGmvmsou8gMYGulLHTgAr5ZCHZAU7pKEp0cMAeX8r4qHLpiVuZCOT1v0ulMZAxX5YfLJkcZBr9l6qJQoPxWS5Fs5ndohDnH6ZAPPfZCZCTQtwWgAZAg6I1PAOIpdtCc0OUaMmBZAvGiMm9gQhmNXRbocZD

【问题讨论】:

    标签: facebook api login


    【解决方案1】:

    没什么好惊讶的。您可以使用 facebook 的任何用户的访问令牌来获取 facebook 的任何用户的基本详细信息。所以这不是验证令牌的好方法。此外,不需要确认令牌部分。

    如果你想通过服务器端进行授权,请通过this链接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 2015-11-08
      相关资源
      最近更新 更多