我想将 facebook 登录添加到我现有的登录系统中,记住我,我知道它应该如何工作:
精简版
检查用户是否登录到 facebook,如果用户是我们检索用户 ID 并检查它是否连接到任何帐户。如果是,我们会获取一些数据并存储会话变量,并且用户已登录。
长版
如何注册
用户点击注册,用户来到一个页面,有两个选项注册和使用 facebook 注册。
如果用户选择用 facebook 注册,那么一些信息将被自动填充(如电子邮件),然后用户需要填写密码和昵称。然后我们验证信息,如果它有效,我们存储用户 + facebook 用户 ID。如果用户选择注册,我们不会自动填充,当然也不会存储 facebook 用户 ID。
如何检查用户是否登录:
检查是否设置了会话变量,如果是用户已登录。如果没有,则继续执行步骤 2。
检查是否存在带有记住我代码的 cookie。如果存在,我们检查代码是否有效,如果是,则用户正在登录。如果 cookie 不存在,则继续执行步骤 3。
检查用户是否在 facebook 登录如果用户是我们检索用户 ID 并查看它是否与 db 中的行匹配如果它存储会话变量并且用户已登录。如果没有,那么我们显示登录形式。
要检索 facebook 用户 ID,我使用以下代码:
<?php
require_once("facebook.php");
$config = array();
$config['appId'] = 'app id';
$config['secret'] = 'secret app id';
$facebook = new Facebook($config);
$uid = $facebook->getUser();
?>
问题
- 这是正确且安全的方法吗?
- 如果没有,你能指出我正确的方向吗?
- 在我获得用户 ID 之前,用户需要允许我的应用程序,对吗?
- 上面的代码适用于 localhost 但不适用于我的服务器,它每次都返回 0。解决方案?
提前致谢!