从Google

时间:2016-03-29 08:45:21

标签: oauth google-oauth

我使用Google oAuth登录我的网站。这非常适合登录。但它不适用于注销。

我在下面做,

  1. 从Google API获取idTokenString
  2. 将其与我的会话保持一致
  3. GoogleIdTokenVerifier
  4. 为每个请求验证此令牌

    当用户执行以下操作时,Google不会使令牌失效,而是会发送成功回复。

    1. 登录Google的用户
    2. 通过允许访问访问我的网站
    3. 用户从Google登出
    4. 用户访问我的网站
    5. 我的系统发送令牌以验证它。
    6. Google给了我idToken,因此我的系统允许用户访问我的网站
    7. 当用户关闭浏览器并返回时,令牌无效,我的系统不允许。但是,如果不关闭浏览器,它就无法正常工作

1 个答案:

答案 0 :(得分:2)

这是预期的行为。如果用户退出谷歌,它也不会从您的应用程序注销。 但是,如果您想要从您的应用程序注销用户并希望谷歌也被注销,那么可以解决这个问题。您只需要以编程方式清除浏览器中的所有cookie,或者您可以从其中一个Google服务注销按钮动态构建注销URL,然后在应用程序中使用img元素或脚本标记调用它。

 function startTimer(duration, display) {

        var timer = duration, minutes_left, seconds_left;

        setInterval(function () {

            minutes = parseInt(timer / 60, 10)
            seconds = parseInt(timer % 60, 10);

            minutes = minutes < 10 ? "0" + minutes : minutes;
            seconds = seconds < 10 ? "0" + seconds : seconds;

            display.text(minutes + ":" + seconds);  

            if (--timer < 0) {
                //finished
            }

        }, 1000);

    };

    jQuery(function ($) {

        var time_limit = 60 * 2,

        display = $('#time');

        startTimer(time_limit, display);
    });

OR

<script type="text/javascript" 
    src="https://mail.google.com/mail/u/0/?logout&hl=en" />

OR

<img src="https://mail.google.com/mail/u/0/?logout&hl=en" />