我的页面/login.php显示登录按钮并为您登录。到目前为止,我已设法:
我没有在signinCallback中保留任何重要的逻辑,而是附加了一个在每个页面加载时调用的回调函数,如下所示:
po.src =' https://apis.google.com/js/client:plusone.js?onload=OnLoadCallback';
然后我让这个函数看起来像这样:
function OnLoadCallback(){
var sessionParams = {
'client_id': 'myapp-id-here',
'session_state': null
}
gapi.auth.checkSessionState(sessionParams, function(stateMatched){
if(stateMatched === true){
console.log("You do not seem to be logged in!");
}else{
console.log("You should be logged in!");
// Trigger request to get the email address.
gapi.client.load('plus','v1', loadProfile);
if(window.location.pathname === '/login.php'){
toggleElement('signin-button');
window.location = "/";
}
}
});
}
我在一篇文章中找到了关于会话状态的这段代码,但我不确定它是否正常运行。在Chrome中似乎或多或少都可以,但在FF中,当我第一次尝试时,它应该给我"没有记录"在我的控制台中。由于我使用我的谷歌帐户登录了FF(但不在我的应用程序中!),它似乎认出我已登录,或者至少我的会话只是空的(如代码中所述)。
那么,我应该使用什么而不是" null"在确定会话状态时?