WordPressでセッションなしでログアウトの問題
-
26-10-2019 - |
質問
WordPressのWebサイトにFacebookを実装していますが、1つの状況を除いてすべてがOKで動作しています。
Facebookからログアウトしてから、Webサイトの[ログアウト]をクリックした場合、エラーが表示されます。
fb.logout()は、アクセストークンなしで呼び出されます。
したがって、ログアウトコードをこれに置き換えます。
javascriptを返します:if(fb.getacstoken()){fb.logout(function(){location.href = '"。$ url。"'})} else {location.href = '"。$ url。"'} ";
(これは、WordPressログアウトURLを使用できるように、WordPressフックで行われます)
しかし、この状況でログアウトをクリックすると、JSエラーが表示されます。
安全でないJavaScriptにフレームにアクセスしようとします...
FacebookとWordPressから安全にログアウトできるにはどうすればよいですか。 FB.Logoutにはエラーコールバックがなく、JSエラーをスローしないため、その状況を確認することは困難です。
ありがとうございました!
解決
Facebookから最初にログインステータスを取得する必要があり、ログインした場合にのみ、FB.Logoutに電話できます。次のコードを試してください。
FB.getLoginStatus(handleSessionResponse);
function handleSessionResponse(response) {
//if we dont have a session (which means the user has been logged out, redirect the user)
if (!response.authResponse) {
return;
}
//if we do have a non-null response.session, call FB.logout(),
//the JS method will log the user out of Facebook and remove any authorization cookies
FB.logout(response.authResponse);
}
所属していません StackOverflow