Google Sign In API-如何使用PHP注销用户?

在Google的Integrate Google Sign-In页面的底部有一个部分,向您展示如何使用Java脚本注销用户:

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

我一直在寻找,但找不到使用PHP以这种方式注销用户的方法。

我确实找到了如何让用户完全退出Google,但我不想这样。我还知道我可以删除保存访问代码的$_SESSION变量,但这仍然不是我想要的。

有人知道如何使用PHP将某人从我的Google应用程序中注销吗?


解决方案

这应该可以工作,我修复了Mark Guinn代码的问题,即gapi.auth2.init();方法的任务未完成执行。.then()解决了问题。

<?php 
    session_start();
    session_unset();
    session_destroy();
?>
<html>
    <head>
        <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    </head>
    <body>
        <script src="https://apis.google.com/js/platform.js?onload=onLoadCallback" async defer></script>
        <script>
            window.onLoadCallback = function(){
                gapi.load('auth2', function() {
                    gapi.auth2.init().then(function(){
                        var auth2 = gapi.auth2.getAuthInstance();
                        auth2.signOut().then(function () {
                            document.location.href = 'login.php';
                        });
                    });
                });
            };
        </script>
    </body>
</html>

相关文章