ユーザーがFacebookにログインしている場合、MVCアプリケーションが最初に検出されます:\
function isLoggedIn(callback, param1) {
window.FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
updateUser(response.authResponse);
callback(param1);
} else {
login(callback, param1);
}
});
}
ユーザーが接続していない場合は、この機能を使用してログインします。
function login(callback, success) {
window.FB.login(function (response) {
if (response.authResponse) {
updateUser(response.authResponse, callback, success);
callback(success);
} else {
callback(null);
}
});
}
さらに、ステータスの変更をサブスクライブしました。
FB.Event.subscribe('auth.authResponseChange', function (response) {
if (response.status === 'connected') {
top.location.href = top.location.href;
//window.location.reload();
}
if (response.status != 'connected' && response.status != 'not_authorized') {
updateUser(null);
}
});
サーバーでFacebookSignedRequestを取得するには、ユーザーログイン後にページを更新する必要があります。
top.location.href = top.location.hrefおよびwindow.location.reload()が機能していません...提案:)