0

我引用了这段代码,我试图用它来将 facebook 用户记录为 wordpress 用户。然而,当用户注册时,is_user_logged_in() 会重复声明为 false。谁能给我一些关于我可能做错了什么的见解?

4

3 回答 3

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 的同一域上完成。

于 2012-12-03T12:18:51.263 回答
1

你为什么不试试这个插件http://ottopress.com/wordpress-plugins/simple-facebook-connect/

我用过这个,它有效!它有一个功能,可以让用户使用他们的 fb 帐户登录到您的网站。

于 2012-12-03T14:35:45.143 回答
0

请试试这个,

首先,您必须在 facebook 中创建一个新应用程序。在这里,您输入了您的站点域名并获得以下两个值。

1) 应用程序 ID

2) 秘密ID

并将以下代码放入您的函数中connect_to_facebook()

define('APP_ID', 'Copy Facebook Application ID'); 
define('APP_SECRET', 'Copy Facebook Secrate ID');
于 2012-12-03T12:46:17.660 回答