मैं लॉगिन के रूप में Google प्लस का उपयोग कर रहा हूं, जो हाल ही में ठीक काम करता है। अब उपयोगकर्ता अब लॉग आउट नहीं कर सकता है। कॉलबैक काम करता है और रिटर्न देता है कि उपयोगकर्ता साइन आउट हो गया है, हालांकि उसके बाद यह तुरंत उपयोगकर्ता को फिर से संकेत देता है। ऐसा लगता है कि यह लॉगआउट को संग्रहीत नहीं कर रहा है।gapi.auth.signOut() लागू किए गए परिवर्तनों के बिना काम करना बंद कर दिया
इस पर कुछ पुराने प्रश्न हैं उदाहरण के लिए this one। मैंने सभी प्रस्तावित समाधानों की कोशिश की लेकिन कुछ भी काम नहीं किया।
एचटीएमएल सिर
<script src="https://apis.google.com/js/client:platform.js?onload=start" async defer></script>
बटन कोड है, जो हमेशा प्रदर्शित किया जाता है (छुपा लॉग इन) में कोड
<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>
साइन इन और प्रस्थान करें समारोह
<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>
हे vincent, क्या आपने इस नई और बेहतर विधि का उपयोग किया है जिसका उपयोग मैं कर रहा हूं? मेरा जवाब संपादित किया और इसे आपकी समस्या का समाधान करना चाहिए। यदि आपने इसे अलग हल किया है, तो कृपया अपना समाधान पोस्ट करें, मैं विभिन्न दृष्टिकोणों की जांच करना चाहता हूं। कौन कहता है कि मैं पहिया वर्ग संस्करण को पुनर्निर्मित नहीं कर रहा हूं? –
हाय टोनी, एक उत्तर जोड़ने के लिए धन्यवाद। मैंने इसे बैकएंड प्रमाणीकरण में स्विच करके हल किया, मूल रूप से पूरे जावास्क्रिप्ट कार्यान्वयन से छुटकारा पा लिया। दुर्भाग्य से मैं आपके समाधान की पुष्टि नहीं कर सकता। – Vincent
यह ठीक है @vincent, ऐसा लगता है कि कुछ लोगों ने समाधान की जांच की और इसे मंजूरी दे दी। चूंकि मुझे कोई नकारात्मक समीक्षा नहीं मिली है, इसलिए मैं बकाया राशि के परिणाम से खुश हूं। –