2017-01-24 6 views
-1

私のサイトには、1つのことを除いて正しく動作しているGoogleでログインしています。ブラウザのGmailアカウントにログインしている場合、ログインスクリプトは自動的に私のウェブサイトにログインします。成功した機能をログアウト実行するにもかかわらず、レンダリングされたボタンは、まだ「での署名」し、その後で私を記録しますと言います。ここでは、ロードするとGoogleトリガーで自動的にログイン

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

function googleSignIn(googleUser) { 
    // Useful data for your client-side scripts: 
    var profile = googleUser.getBasicProfile(); 
    console.log("Email: " + profile.getEmail()); 

    var id_token = googleUser.getAuthResponse().id_token; 
    // console.log("ID Token: " + id_token); 

    var fullName = profile.getName(), 
    imageUrl = profile.getImageUrl(), 
    email = profile.getEmail(), 
    provider = 'Google'; 
}; 

function loggedOut(href){ 
    var auth2 = gapi.auth2.getAuthInstance(); 
    auth2.signOut().then(function() { 
     console.log('User signed out.'); 
     document.location = href; 
    }); 
}; 

$('#log-out').on('click', function(e){ 
    e.preventDefault(); 
    var href = $(this).attr('href'); 
    loggedOut(href); 
}); 

を提出ログインが私のscript.jsでセットアップ

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

ある方法ですページ、googleSignIn関数が実行され、私はログインします。これは明らかに、ロード時に実行されるデフォルト関数の名前です。関数の名前を変更すると、関数は実行されません。これで問題は解決しますが、手動で関数を実行するにはどうしたらいいですか?

次に、ログアウトボタンがあります。このボタンをクリックすると、メッセージがコンソールでログアウトされ、正常にログアウトされます。しかし、次のページでは、googleSignInのために再びログインしてしまいます。私は間違って何をしていますか?

+0

上に言及した人@classする

おかげで理由を指定downvoterすることはできますか? – VeeK

答えて

0

悲しいことに、コードに間違いはありませんでした。私は、ログアウト機能がlocalhostで動作しないことを発見しました。ライブサーバーでテストしたところ、すべてうまくいきました。別のrelated question

関連する問題