Google Plus'ı oturum açma olarak kullanıyorum. Artık kullanıcı artık çıkış yapamaz. Geri arama, kullanıcının imzaladığına göre çalışır ve geri döner, ancak bundan sonra kullanıcıyı tekrar hemen imzalar. Çıkışı saklamıyormuş gibi görünüyor.gapi.auth.signOut() değişiklik yapılmadan çalışmayı durdurdu
Bunun gibi birkaç eski soru var örneğin this one. Önerilen tüm çözümleri denedim ama hiçbir şey işe yaramadı. (Giriş yaptığında gizli) her zaman görüntülenir html kafası
<script src="https://apis.google.com/js/client:platform.js?onload=start" async defer></script>
Düğme kodu, içinde
Kod
<div id="signinButton">
<span class="g-signin"
data-scope="https://www.googleapis.com/auth/gmail.readonly"
data-clientid="{{ CLIENT_ID }}"
data-redirecturi="postmessage"
data-accesstype="offline"
data-cookiepolicy="single_host_origin"
data-callback="signInCallback">
</span>
</div>
signin ve SignOut fonksiyonu
<script>
function signInCallback(authResult) {
//console.log(authResult)
if (authResult['code']) {
var state = encodeURIComponent('{{ STATE }}');
var code = encodeURIComponent(authResult['code']);
var tz = encodeURIComponent($('#timezone').val());
var cntry = encodeURIComponent($('#country').val());
var lan = encodeURIComponent('{{ language }}');
// Send the code to the server
$.ajax({
type: 'POST',
url: '/signup/gauth',
contentType: 'application/octet-stream; charset=utf-8',
success: function(result) {
console.log(result)
if (result == 'Success') {
{% if not user %}window.location = "/user/home";{% else %}
console.log('Logged in');{% endif %}
}
},
processData: false,
data: 'code='+code+'&state='+state+'&country='+cntry+'&tz='+tz+'&language='+lan
});
}
else if (authResult['error']) {
console.log('Sign-in state: ' + authResult['error']);
}
}
function signOut() {
gapi.auth.signOut();
window.location = "/user/logout"
}
</script>
hey vincent, kullanıyorum bu yeni ve gelişmiş yöntemi kontrol ettiniz mi? cevabımı düzenledim ve sorununuzu çözmeli. Farklı bir şekilde çözdüyseniz, lütfen çözümünüzü gönderin, farklı yaklaşımları incelemek istiyorum. Kim tekerleği kare versiyonunu yeniden icat etmediğimi söylüyor? –
Merhaba Tony, cevap eklediğiniz için teşekkürler. Temel olarak tüm javascript uygulamasından kurtulmak için arka uç yetkilendirmesine geçerek çözdüm. Ne yazık ki çözümünüzü doğrulayamıyorum. – Vincent
, @vincent gibi görünüyor, birkaç kişi çözümünüzü kontrol ediyor ve onayladı. Olumsuz yorumlama yapmadığım için, ödülün sonucundan memnunum. –