使用facebook连接问题登录
我想在我的网站上实现facebook connect。我已使用oauth api获取应用程序的权限请求 然而,我有以下问题 如果用户第一次使用facebook connect登录我的网站,我需要为他(在我的网站上)创建一个新的用户名/密码,以便他能够在我的网站上冲浪并设置所有会话变量。但是,我应该使用什么作为用户名/密码? 我知道facebook用户可以更改他的电子邮件地址 我如何处理第二次或第三次使用facebook connect登录的用户(他们已经是我网站的成员)?我不需要在我的网站上为他们创建一个用户,因为他第一次登录时已经创建了这个用户。我是否检查电子邮件地址以查看数据库中是否存在facebook用户的电子邮件地址?此外,同样的问题也随之而来,facebook用户可以更改他的电子邮件地址 对于一个facebook用户来说,我可以用什么作为他的用户名而不会改变?还有,我用什么作为他的密码?此外,我知道如果我使用可用应用程序数据中的用户名/密码,那么使用正常机制,用户也可以登录到我的网站。我如何防止这个安全漏洞使用facebook连接问题登录,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我想在我的网站上实现facebook connect。我已使用oauth api获取应用程序的权限请求 然而,我有以下问题 如果用户第一次使用facebook connect登录我的网站,我需要为他(在我的网站上)创建一个新的用户名/密码,以便他能够在我的网站上冲浪并设置所有会话变量。但是,我应该使用什么作为用户名/密码? 我知道facebook用户可以更改他的电子邮件地址 我如何处理第二次或第三次使用facebook connect登录的用户(他们已经是我网站的成员)?我不需要在我的网站上为他
请提供帮助。Facebook提供用户的唯一ID。您可以使用此信息识别用户。我使用Facebook在回调中发送的信息(Facebook唯一用户ID或普通ID),然后检查用户是否在我的数据库中,如果不是,我插入他,但我将其他密码或用户电子邮件留空(您也可以请求该信息检查php api中的第418行并添加“'req_perms'=>'email'”),因为我可以在它们再次连接时检索该数据,然后像所有方式一样设置会话。 如果用户更改了电子邮件,只需在每次登录时检查并更新数据。 例如:
非常感谢,伙计。你的回答真的很有帮助。我几乎放弃了这一点。:)如果你还有更多问题,我们都会在这里帮助你;)
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cookie' => true,
));
$session = $facebook->getSession();
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
// login or logout url will be needed depending on current user state.
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
if ($me) {
if (!isset($_SESSION["usr_id"])){
$_SESSION["usr_id"] =$me['id'];
$_SESSION["usr_name"]=$me['name'];
// or do your sql verification and then set the sessions
}
}
/////////////////////////////////////////////