私のウェブサイトには、「facebook connect」のボタンがあり、クリックすると次のコードがトリガーされます。
<script type="text/javascript">
$(document).ready(function(){
console.log(<?=(isLoggedIn()+0)?>);
$("#fbconnect").click( function(){
FB.login(function(response) {
alert(JSON.stringify(response.authResponse));
if (response.authResponse) {
window.location = window.location;
alert('Welcome! Fetching your information.... ');
} else {
alert('User cancelled login or did not fully authorize.');
}
}, {scope: 'email,user_likes'});
} );
});
</script>
このボタンはうまく機能します。Facebook のログイン ダイアログが表示され、適切なメッセージが表示されます。ただし、ページを更新すると、ユーザーはサーバー側とクライアント側の両方でログアウトされたままになります。アクセス トークンと Cookie を自分で処理する必要がありますか、それとも JavaScript SDK で処理する必要がありますか? 後者の場合、なぜこのコードが機能しないのでしょうか?
ありがとうございました。
更新 1: Firefox を使用する localhost と、すべてのブラウザーを使用するサーバーで完全に動作します。したがって、問題はクロムとローカルホストにのみ存在します。Cookie が localhost に保存されないようにする Chrome のセキュリティ設定はありますか?