gpt4 book ai didi

facebook - 如何识别通过 Facebook api 登录的用户?

转载 作者:行者123 更新时间:2023-11-30 05:23:43 24 4
gpt4 key购买 nike

我不能理解一件事..

在我的网站上有一个带有 FB.login 方法的按钮,来自 facebook 的 api JS SDK。

当用户第一次访问我的网站时,点击按钮 - 从他的 facebook 个人资料中获取一些数据,然后我们将在我的服务器数据库中检查是否有具有此 ID 的用户?如果没有 - 写一个新行。我们还在我的网站上创建了用户的个人资料。

现在的问题是,当用户下次访问我们的网站(并点击按钮,如果他没有登录)时 - 如何识别他并结合他在我们网站上的个人资料?例如,向他展示他的个人资料,或者他可以更改其中的任何内容......

在通常的授权中我们会比较密码和用户在数据库中的登录,这里没有这种可能。 AccessToken 一直在变化。只是想检查用户的 FB id,但也许任何人都可以替换他的 FB id,并输入他的个人资料,不是吗?

在这种情况下使用了什么技巧?

最佳答案

无论用户是否第一次访问您的网站,您始终使用 FB.login 方法。此方法验证用户是否与您的应用程序相关,并在用户接受您的应用程序时为您提供访问 token 。

当使用 facebook 登录验证用户时,在您的数据库中注册的用户不包含密码,您只有 facebookid 将 facebook 帐户与您的网站配置文件相关联。 facebook id 可以使用服务器端的 FB.login 方法提供的 accesstoken 或通过 javascript 获得,就像下一个例子 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.');
}
});

在响应对象中,您可以获得 facebook id (response.id)。

关于facebook - 如何识别通过 Facebook api 登录的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9876193/

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