我无法理解一件事......
在我的网站上有一个带有来自facebook的api JS SDK的FB.login方法的按钮.
当用户第一次访问我的网站时,点击按钮 - 从他的Facebook的个人资料中获取一些数据,然后我们将在数据库中检查我的服务器是否有这个用户的用户?如果不是 - 写一个新行.我们还在我的网站上创建用户的个人资料.
现在问题是,当用户下次访问我们的网站时(并点击按钮,如果他没有登录) - 如何识别他与我的网站上的个人资料相结合?例如,向他展示他的个人资料,或者他可以改变其中的任何内容......
在通常的授权中,我们比较密码和用户在数据库中的登录,这里没有这种可能性.AccessToken一直在变化.以为只是检查用户的FB ID,但是,也许,任何人都可以替换他的FB ID,并输入他的个人资料,不是吗?
在这种情况下使用了什么技巧?
小智 6
无论用户是否第一次访问您的网站,您始终都使用FB.login方法.此方法验证用户是否与您的应用程序有关系,并在用户接受您的应用程序时为您提供访问令牌.
当使用Facebook登录来验证用户时,您的数据库中的用户注册不包含密码,您只有facebookid将Facebook帐户与您网站的个人资料相关联.可以使用服务器端FB.login方法提供的accesstoken或者通过javascript来获取facebook id,如下面的facebook docs示例.
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
Run Code Online (Sandbox Code Playgroud)
在响应对象中,您可以获取facebook id(response.id).
| 归档时间: |
|
| 查看次数: |
5003 次 |
| 最近记录: |