0

FacebookユーザーをWordPressユーザーとしてログに記録するために使用しようとしているこのコードを参照しています。ただし、ユーザーが登録されている間、is_user_logged_in()は繰り返しfalseを示します。誰かが私が間違っているかもしれないことについて私にいくつかの洞察を与えることができますか?

4

3 に答える 3

2

私はwordpressloginas.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.";

そして、私がすべてのクッキーを削除した後、それは非常にうまく機能しています。したがって、コードの前に実行される何かに問題がある可能性があると思います。
実際、私はまだあなたのコードで何が起こっているのか理解できません。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で新しいアプリケーションを作成する必要があります。ここにサイトのドメイン名を入力し、以下の2つの値を取得します。

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 に答える