1

我有一个带有标准 PHP 登录系统的网站,没什么特别的,但希望允许人们使用 Facebook 登录和/或注册它,但没有成功。

有很多选择,我不知道该用哪一个。我相当肯定我可以让正确的工作,但我真的不知道从哪里开始。

我已经成功注册了一个应用程序并获得了一个应用程序密钥和密钥。然后我尝试了 facebook 登录按钮,如下所示:https ://developers.facebook.com/docs/guides/web/#login - 但这似乎并不理想,因为我不确定如何存储数据。

然后我检查了 Graph API,我认为这就是我需要的。我的代码能够给我一个 access_token,然后我可以将其存储在 mySQL 数据库中。然后我可以访问https://graph.facebook.com/me?access_token=HOOP_DE_DOOT_DE_FRUIT并获得一个很大的 JSON 列表,这显然与我要求的权限有关。

access_token 方法是正确的方法吗?当然,一旦我拥有它,我可以将令牌放入数据库中,将其与电子邮件地址一起存储,然后访问用户的信息,但我不确定这对于登录是否安全,尽管它会加快注册速度因为我可以预先填写所有字段。

假设我可以成功获取它并将其存储在具有相应电子邮件地址的 mySQL 数据库中,我应该如何使用 access_token 实际登录用户?

4

1 回答 1

1

如果您尝试使用您的数据库登录用户,您希望获取他们的用户 ID,您可以使用 PHP 执行此操作,如下所示:

require_once(BASE_PATH . "facebook.php");
$facebook = new Facebook( array('appId'=>'appId', 
                        'secret'=>'secret', 
                        'cookie'=>false) );
$fbid = $facebook->getUser();

或者您可以像这样在前端登录它们:

FB.login(function(response){
        //Log them in
            if(response.authResponse){
            //They're now logged in
                var uid = response.authResponse.userID;
            }
}

然后使用 ajax 调用或其他东西将 id 传递回后端。

于 2012-08-13T22:50:52.237 回答