Facebook認証を使用するWebサイトがあります。次のコードを使用してログインおよびログアウト機能を実装しました-
$scope = 'email,publish_actions';
$loginUrl = $facebook->getLoginUrl(array('scope' => $scope,'redirect_uri'=>$redirect_uri));
$logoutUrl = $facebook->getLogoutUrl(array('next' => $redirect_uri));
ここまでは問題なく動作していますが、ウェブサイトからログアウトすると問題が発生します。次のことが起こります-
- Facebook からログアウトしました (www.facebook.com を更新して確認しました)。
- しかし、私のウェブサイトにはまだ「ログインしています」と表示されます。
- また、facebook.com からログアウトすると、両方が同じブラウザーにあるにもかかわらず、自分の Web サイトにログインしたままになります。
私は StackOverflow で投稿を見つけました (私は二度と見つけられません、申し訳ありません)。これは、Facebook が の値を$facebook->getUser()
セッションに保存すると述べています。だから私がしたことはlogout.php
、単純に次のコードでページを作成することでした-
<?php
session_start();
session_destroy();
?>
logout.php
これで問題は解決しますが、ページを手動で呼び出す必要があります。logout.php
では、への呼び出しと一緒にへの呼び出しをバインドし$logoutUrl
、ユーザーを元の にリダイレクトするにはどうすればよいですかredirect_uri
。または、プロセス全体を実行する他の方法はありますか。何らかの理由で PHP SDK を使用する必要があります。