使用 JS 注销 Google+

Signing out of Google+ using JS

我想在我的网站上放置一个 Google+ 登录按钮。该按钮工作完美。我也有一个注销按钮。我在用户登录时隐藏登录按钮 in.My 代码在这里:

<span id="signinButton">
    <span
        class="g-signin"
        data-callback="signinCallback"
        data-clientid="******************"
        data-cookiepolicy="single_host_origin"
        data-requestvisibleactions="http://schema.org/AddAction"
        data-scope="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email">
    </span>
</span> &nbsp;&nbsp;&nbsp;&nbsp;
<button id="revokeButton" onclick="gapi.auth.signOut()">Sign Out</button>

<script>
    function signinCallback(authResult) {
        if (authResult['status']['signed_in']) {
            document.getElementById('signinButton').setAttribute('style', 'display: none');
            console.log("User successfully logged in!!");
        } else {
            console.log('Sign-in state: ' + authResult['error']);
        }
    }
</script>
<script>
    function disconnectUser(access_token) {
        var revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token=' +
                access_token;

        // Perform an asynchronous GET request.
        $.ajax({
            type: 'GET',
            url: revokeUrl,
            async: false,
            contentType: "application/json",
            dataType: 'jsonp',
            success: function(nullResponse) {
                document.getElementById('signinButton').setAttribute('style', 'display: display');
                // The response is always undefined.
                console.log("Success in logging out!");
            },
            error: function(e) {
                // Handle the error
                console.log(e);
                // You could point users to manually disconnect if unsuccessful
                // https://plus.google.com/apps
            }
        });
    }
</script>

问题是当我使用 gapi.auth.signOut() 注销时...它会注销我,但在刷新时再次将同一用户登录到 Google+。我如何允许其他人登录到我的站点。如何从 Google 中完全注销人员。我是 Javascript 的新手...举个例子会有所帮助。

这个答案更像是一个笑话,但你为什么不尝试通过向正文添加隐藏的 iframe 来从他的 google 帐户注销用户的 hacky 方法src https://accounts.google.com/Logout?

由于 X-Frame-Options 设置为 DENY,它会拒绝显示,但实际上会将您注销。

一行 jquery:

$('<iframe style="display: none" src="https://accounts.google.com/Logout"></iframe>').appendTo(document.body);

我想出的答案很简单。用户第一次登录时,他没有登录到我的站点。所以显然用户必须登录。下次页面刷新时...Google+ 检查用户是否已经登录任何 Google 服务,如 gmail 等。并保留用户如果答案为真,则登录。要检查这是否有效...注销任何 Google 服务(gmail 等)并尝试使用 Google+ 登录。它将要求凭据。所以一旦用户登录Google+,he/she就不需要每次都登录了。