0

我使用Google Sign-In,這很不錯。下面是如何呈現的登錄按鈕:Google登錄並控制Cookie過期日期

gapi.signin2.render('signin2', { 
    onsuccess: function(googleUser) { 
     var id_token = googleUser.getAuthResponse().id_token; 
     ajaxPostForServerSideLogin(id_token).then(function() { 
      // YAY! Signed in on the server too 
     }) 
    } 
}) 

的問題是,我設置cookie有效期服務器X分鐘,然後點擊周圍的網站上後X + 1分鐘後,我希望用戶要被註銷並且必須再次登錄。

如果我仍然登錄到Google,則呈現的Google登錄按鈕會自動觸發onsuccess(使用有效的googleUser對象)。

如何告訴Google登錄不記得我的用戶會話超過X分鐘?

回答

1

您應該可以將OIDC的prompt=loginparameter傳遞給signIn() function以要求登錄確認。

另一種方式可能是明確地調用谷歌的sign out method

<a href="#" onclick="signOut();">Sign out</a> 
<script> 
    function signOut() { 
    var auth2 = gapi.auth2.getAuthInstance(); 
    auth2.signOut().then(function() { 
     console.log('User signed out.'); 
    }); 
    } 
</script> 
+0

的'render'功能不接受'prompt'參數。 :( https://developers.google.com/identity/sign-in/web/reference#gapi.signin2.render –

+0

另外,退出並不是一種選擇,但它是我必須破解它的方式。服務器決定會話cookie已經過期,這不是一個事件,只是時間問題,甚至不是JavaScript中的事件。 –