2017-08-14 19 views
1

ユーザーが接続されていないときに自動認証を無効にすることはできますか?Googleログイン:自動認証を無効にする

つまり、ユーザーがボタンをクリックしたときにのみ接続するようにしたいと思います。ここで

は私のコードです:

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

答えて

0
真を返します

サインアウトのあるソリューションが見つかりましたr:

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

N.B:サインアウトはローカルホストでは機能しません。

関連する問題