我引用了这段代码,我试图用它来将 facebook 用户记录为 wordpress 用户。然而,当用户注册时,is_user_logged_in() 会重复声明为 false。谁能给我一些关于我可能做错了什么的见解?
问问题
227 次
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 回答