我引用了this code,我试图将facebook用户作为wordpress用户登录。但是,当用户注册时,is_user_logged_in()将重复声明为false。谁能给我一些关于我可能做错了什么的见解?
答案 0 :(得分:2)
我写了一个wordpress loginas.php页面,因此,一个非常大的安全漏洞:):
require_once(dirname(__FILE__) . '/wp-load.php');
function auto_login( $username ) {
// log in automatically
$user = get_userdatabylogin( $username );
$user_id = $user->ID;
wp_set_current_user( $user_id, $user_login );
wp_set_auth_cookie( $user_id );
}
if (!is_user_logged_in()) {
echo "Logging in as: ".$_GET['username'];
auto_login($_GET['username']);
}
else
echo "You are already logged in.";
并且,在删除所有Cookie 之后,它运行良好。所以,我想你可能会遇到代码之前执行的问题
实际上我仍然无法弄清楚代码中发生了什么,你是否可以尝试改变init
钩子的执行优先级并在第一个位置移动。
请注意,为了正确执行您的编程身份验证,WordPress请求应始终在创建Cookie的同一域中完成。
答案 1 :(得分:1)
为什么不给这个插件一个http://ottopress.com/wordpress-plugins/simple-facebook-connect/
我用过这个,它的确有效!它有一项功能,允许用户使用他们的fb帐户登录您的网站。
答案 2 :(得分:0)
请尝试这个,
首先,你必须在facebook中创建一个新的应用程序。在这里,您输入了自己的网站域名,并获得以下两个值。
1)申请ID
2)Secrate ID
并将以下代码放在您的函数connect_to_facebook()
中:
define('APP_ID', 'Copy Facebook Application ID');
define('APP_SECRET', 'Copy Facebook Secrate ID');