विफल रहता है: https://web.triller.co/#/user/loginFB.login() के साथ है, लेकिन मैं यहाँ एक फेसबुक जे एस एसडीके लॉग इन प्रवाह है एंड्रॉयड क्रोम पर "असुरक्षित जावास्क्रिप्ट फ्रेम के लिए नेविगेशन आरंभ करने के लिए प्रयास" नहीं डेस्कटॉप क्रोम
उपयोगकर्ता फेसबुक बटन टैप करता है, निम्नलिखित समारोह निष्पादित होने
loginFacebook()
{
const fbPromise = new Promise((resolve, reject) => {
FB.login(resp => {
if (resp.authResponse)
{
resolve(resp.authResponse.accessToken);
}
else
{
console.log(resp);
reject(new Error('Facebook login canceled or failed.'));
}
});
});
return fbPromise
.then(accessToken => api.postJson('user/login_facebook', { accessToken }))
.then(this._handleLogin.bind(this));
}
असल में, यह FB.login()
कहता है, और एक मान्य resp.authResponse
प्राप्त करने की उम्मीद। दुर्भाग्यवश, यह फेसबुक पॉपअप/टैब पर सफलतापूर्वक प्रमाणीकरण करने के बाद भी नहीं है। इसके बजाय, हम { authResponse: undefined, status: undefined }
प्राप्त करते हैं और ब्राउज़र से निम्न त्रुटि:
असुरक्षित जावास्क्रिप्ट नेविगेशन URL को 'https://web.triller.co/#/user/login?_k=cmzdb6' फ्रेम से URL 'https://m.facebook.com/v2.8/dialog/oauth?foo=bar' साथ फ्रेम के लिए शुरू करने के लिए प्रयास करते हैं। नेविगेशन का प्रयास करने वाला फ्रेम लक्ष्य के साथ समान नहीं है, न ही यह लक्ष्य का अभिभावक या सलामी बल्लेबाज है।
त्रुटि तुरंत, फेसबुक पॉपअप/टैब के अंदर के सत्यापन के बाद होता है और यह केवल Android क्रोम पर होता है। डेस्कटॉप क्रोम (मैक पर) एक ही त्रुटि नहीं दिखाता है। आईओएस पर सफारी त्रुटि नहीं दिखाती है, या तो।
क्या हो रहा है पर कोई विचार? एंड्रॉइड क्रोम और डेस्कटॉप क्रोम के बीच अंतर क्यों? क्या यूआरएल में हैश के साथ कुछ करने के लिए हो सकता है?
आप प्रमाणन के लिए एक नई विंडो खोल रहे हैं करने के लिए सही तर्क पारित? –
@ सागरवी 'एफबी.लॉगिन() 'एक नई विंडो खुलता है। मैं 'FB.login()' को कॉल करने और कॉलबैक की प्रतीक्षा करने के अलावा कुछ भी नहीं कर रहा हूं। – Agop