【问题标题】:Google logout using api javascript/jquery使用 api javascript/jquery 退出 Google
【发布时间】:2013-02-06 07:02:01
【问题描述】:

在我的 Web 应用程序中,我允许用户使用 API 客户端库中的 auth 命令登录,但我找不到 Google API JavaScript 客户端库的注销选项。

谁能建议我如何注销我的应用程序以及谷歌帐户??

我的登录密码是:

var OAUTHURL = 'https://accounts.google.com/o/oauth2/auth?';
var VALIDURL = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=';
var SCOPE = 'https://www.googleapis.com/auth/userinfo.profile';
var CLIENTID = googleAPI;
var REDIRECT = redirectUrl;
var TYPE = 'token';
var _url = OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE;
var acToken;
var tokenType;
var expiresIn;
var user;
$('#googleLogin').click(function(){
        var win = window.open(_url, "windowname1", 'width=800, height=600');

        var pollTimer = window.setInterval(function () {
            if (win.document.URL.indexOf(REDIRECT) != -1) {
                window.clearInterval(pollTimer);
                var url = win.document.URL;
                acToken = gup(url, 'access_token');
                tokenType = gup(url, 'token_type');
                expiresIn = gup(url, 'expires_in');
                win.close();

                validateToken(acToken);
            }
        }, 100);
});
function validateToken(token) {
        $.ajax({
            url: VALIDURL + token,
            data: null,
            success: function (responseText) {
                getUserInfo();
            },
            dataType: "jsonp"
        });
}

【问题讨论】:

    标签: jquery google-app-engine google-api-js-client


    【解决方案1】:

    当您的用户退出您的应用程序时,不要让他们退出他们的 Google 帐户。这种行为对用户来说是出乎意料的和烦人的。

    您最多应该尝试弄清楚如何“注销”您的应用程序的用户。 (我把它放在引号中,因为根据您的实现,应用程序可能会伪造它)。

    如果您只关心在 UI 中隐藏元素,您可以设置一个变量,例如signedIn,并在用户点击登录/注销按钮时设置或取消设置。如果您关心跨会话保持此状态,请使用存储相同值的 cookie。

    如果您想确保键盘另一侧的人确实是登录用户,您可以在authorize 调用中使用max_auth_age 参数。如果您将其设置为0,则用户需要在您的应用获得有效令牌之前重新通过 Google 进行身份验证。如果您将此与自动会话到期(就像您在银行或健康网站上看到的那样)配对,您可以相对确信当前用户的身份。

    【讨论】:

      【解决方案2】:

      如果您放宽从用户的 Google 帐户注销用户的要求(正如 Dan 解释的那样,这不是一个好主意),您可以按照 this other question 中的说明撤销 OAuth 令牌。

      【讨论】:

        猜你喜欢
        • 2021-10-25
        • 2014-10-18
        • 2015-06-16
        • 1970-01-01
        • 1970-01-01
        • 2017-06-22
        • 1970-01-01
        • 1970-01-01
        • 2016-07-13
        相关资源
        最近更新 更多