确定用户是使用Facebook登录还是使用网站登录


Dertermine if User login with Facebook or Website Login?

在网站上,将有两种登录方式- facebook登录或网站标准登录。

确定用户是否使用facebook或网站登录的正确方法是什么?

我正在考虑在users表中添加一个名为login_type字段的字段。

value将为"facebook"或"standard"

如果用户通过facebook登录,那么将login_type的值存储在会话中,例如$_SESSION['login_type'] = "facebook";

但是,如果用户想要注销,我们需要确保执行facebook注销功能。

像这样?

logout.php

if ($_SESSION['login_type'] == "facebook") { 
  $facebook->getLogoutUrl()
  //execute the url to CURL?
  header("LOCATION: index.php");
} 
  1. 在用户表中添加Facebook用户id字段(例如fb_id)
  2. 当用户通过Facebook登录时,你会做与"正常"登录时完全相同的事情-但不是检查用户名/密码,而是检查Facebook id/有效访问令牌
  3. 在此之后,您可以通过他的会话验证用户。你再也不用关心Facebook的登录了。
  4. 在注销时杀死你自己的会话等,然后你可以重定向到Facebook注销url, Facebook将杀死他们的会话的东西。你不能把它卷起来因为你不会得到facebook。com的cookie。,)这样做也会使用户退出Facebook,这对他来说是非常烦人的。

注:4. To be clear about澄清;如果你的应用在Facebook之外运行,你必须在用户退出你的应用/网站时让他退出Facebook。看到I.6。在https://developers.facebook.com/policy/政策。