0

Facebook PHP SDK を使用して facebook を自分のサイトに統合しました。自分の facebook アカウントにログインしましたが、自分の Web サイトに入ると自動ログインが行われません。

    $facebook = new Facebook(array(
      'appId'  => XXXXXX,
      'secret' => XXXXXXXXXXXXXX,
    ));



$user = $facebook->getUser();

// Login or logout url will be needed depending on current user state.
if ($user) {
    $logoutUrl = $facebook->getLogoutUrl();
} else {
    $loginUrl = $facebook->getLoginUrl();
}

ここで$user値は '0' で、Facebook アカウントにログインした後、自分の Web ページにアクセスします。

私のウェブサイトのFacebookログインからログインした場合。それは機能します。つまり$user、IDを取得します。

4

1 に答える 1

0

しかし、自分の Web サイトに入ると、自動ログインが行われません。

PHP SDK だけでは、自分のドメインに設定された Facebook の Cookie を読み取ることができないため、ページに再度アクセスしたユーザーの自動ログインを提供できません。

これを JS SDK と組み合わせる必要があります。JS SDK はクロスドメイン リクエストを実行できるため、現在 Facebook にログインしているユーザーと、そのユーザーが以前にページにアクセスしてアプリを使用したことがあるかどうかを判断できます。

FB.getLoginStatusそのために使用する方法です。ユーザーがすでにアプリに接続されていることが返された場合は、JavaScript からページのリロードをトリガーして、PHP SDK がユーザーを認識できるようにすることができます。(ページをリロードしない場合、PHP はユーザーがページ内のリンクをクリックした後にのみユーザーを認識し、サーバー自体への次のリクエストをトリガーします。)

于 2012-08-07T09:29:39.840 に答える