Google登录:禁用自动身份验证

时间:2017-08-14 10:45:24

标签: javascript google-plus google-signin

我们可以在用户未连接时禁用自动身份验证吗?

换句话说,我希望用户只有在点击按钮时才能连接。

这是我的代码:

<script src="https://apis.google.com/js/platform.js?onload=onLoadGoogle" async defer></script>
                    <script>

                        function onLoadGoogle() {
                            gapi.load('auth2', function () {
                                gapi.auth2.init();
                            });
                        }

                        function onSignIn(googleUser) {
                            var profile = googleUser.getBasicProfile();

                            // The ID token you need to pass to your backend:
                            var id_token = googleUser.getAuthResponse().id_token;

                            if (gapi.auth2.getAuthInstance().isSignedIn.get()) {
                                $.ajax({
                                    type: 'POST',
                                    url: $('#yBaseUrl').val() + '/ControllerAuthentification/getMailAllCompte',
                                    data: {
                                        mail: profile.getEmail()
                                    },
                                    dataType: "json",
                                    success: function (data) {
                                        if (data == 1) {
                                            window.location.href = "index.php/ControllerAccueil";

                                        },
                                    error: function (e) {
                                        if (e.responseText == "") {
                                            toastr.info("Vous n'êtes pas inscrit par ce compte google!!", 'Notification');
                                        }
                                        console.log(e.responseText);

                                    }
                                });
                            }
                        }
                        ;
                    </script>

这里的问题是在函数onSignIn中已经建立了连接,因此总是

gapi.auth2.getAuthInstance().isSignedIn.get()

返回true

1 个答案:

答案 0 :(得分:0)

我找到了一个注销用户的解决方案:

 function signOutGoogle() {
                                    var auth2 = gapi.auth2.getAuthInstance();
                                    auth2.signOut().then(function () {
                                        //console.log('User signed out.');
                                    });
                                }

N.B:注销在localhost中不起作用。