1

Je suis le didacticiel Facebook Auth sur le site Web de Firebase. Vous pouvez voir ici: https://www.firebase.com/docs/web/libraries/ionic/guide.htmlLa fenêtre contextuelle d'authentification de Firebase Ionic se ferme immédiatement

$scope.login = function() { 
Auth.$authWithOAuthRedirect("facebook").then(function(authData) { 
    // User successfully logged in 
}).catch(function(error) { 
    if (error.code === "TRANSPORT_UNAVAILABLE") { 
    Auth.$authWithOAuthPopup("facebook").then(function(authData) { 
     // User successfully logged in. We can log to the console 
     // since we’re using a popup here 
     console.log(authData); 
    }); 
    } else { 
    // Another error occurred 
    console.log(error); 
    } 
}); 
}; 

Mon problème est que je reçois correctement l'erreur TRANSPORT_UNAVAILABLE et je reçois à la ligne de code suivante

Auth.$authWithOAuthPopup("facebook").then(function(authData) { 
    // do stuff with the authData 
}) 

Mais, quand je lance sur mon appareil ou en émulateur, la fenêtre contextuelle provenant du plugin InAppBrowser se ferme immédiatement et ne me permet pas d'entrer mes informations d'identification.

EDIT

Deux choses à noter. Tout d'abord, avec le code ci-dessus auth ne fonctionne pas lorsqu'il est fait via le navigateur. Donc, si je fais ionic serve et essaie de me connecter rien ne se passe, sauf que je vois le changement url brièvement http://localhost:8100/#/login&__firebase_request_key=0wRrfF07Ojg1PmJXNX1OsvrRFR2Q1LGj , mais il remonte à http://localhost:8100/#/login

En second lieu, quand je construis le projet via Xocde et exécuter sur mon appareil, le InAppBrowser Le plugin ne semble plus se fermer mais se bloque avec un écran blanc. Les journaux à Xcode montrent la

suivante

THREAD WARNING: ['InAppBrowser'] took '79.103027' ms. Plugin should use a background thread. NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) webView:didFailLoadWithError - -1200: An SSL error has occurred and a secure connection to the server cannot be made. EDIT 2

Ressemble les questions ci-dessus avec erreur SSL a été à cause d'un bogue sans rapport avec la mise à niveau à ios 9. J'ai depuis corrigé ces problèmes et maintenant je m retour à l'original. Sauf que maintenant la fenêtre InAppBrowser n'ouvre même pas, je frappe toujours le bloc catch avec TRANSPORT_UNAVAILABLE.

Répondre

1

Vous ne savez pas exactement comment j'ai résolu ce problème. Difficile d'isoler ce qui se brisait à l'origine et ce qui se brisait à cause des mises à niveau d'ios 9. Mais, j'ai été capable de résoudre le problème. J'ai commencé en soufflant les dossiers /ios et /android à l'intérieur de /platforms. J'ai également supprimé tous les plugins du dossier /plugins. Ensuite, j'ai ajouté ios et plates-formes android. Puis j'ai ajouté les plugins. Ensuite, j'ai suivi les étapes trouvées dans ces 2 articles de blog en modifiant votre application pour qu'elle soit complétée par ios 9.

http://blog.ionic.io/ios-9-potential-breaking-change/

http://blog.ionic.io/preparing-for-ios-9/