0

私はGoogle Sign-Inを使用しています。ここで私がログインボタンをレンダリングする方法は次のとおりです。クッキーの有効期限を制御してGoogleにサインインする

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 
     }) 
    } 
}) 

問題は、私はX分にサーバー上のクッキーの有効期限を設定し、X + 1分後にサイト上での周りをクリックした後、私は、ユーザーが欲しいということですログアウトして再度ログインする必要があります。

レンダリングされたGoogle Sign-Inボタンは、まだGoogleにログインしている場合、onsuccess(有効なgoogleUserオブジェクト)を自動的にトリガーします。

ユーザーのセッションがX分以上記憶されないようにGoogle Sign-Inに指示するにはどうすればよいですか?

答えて

1

OIDCのprompt=loginparametersignIn() functionに渡すと、ログインの確認が必要です。

<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'パラメータを受け付けません。

もう一つの方法は、明示的にGoogleのsign out methodを呼び出すことかもしれません。 :( https://developers.google.com/identity/sign-in/web/reference#gapi.signin2.render –

+0

また、ログアウトはオプションではありませんが、それをどのようにハックする必要があります。サーバーは、セッションクッキーが期限切れになったことをイベントではないと判断します。 –

関連する問題