使用Facebook用户作为Wordpress用户

时间:2012-12-03 12:07:04

标签: php facebook wordpress

我引用了this code,我试图将facebook用户作为wordpress用户登录。但是,当用户注册时,is_user_logged_in()将重复声明为false。谁能给我一些关于我可能做错了什么的见解?

3 个答案:

答案 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');