2016-05-21 22 views
10

Sto sviluppando un'applicazione iOS utilizzando Ionic Framework e Firebase. Ho aggiornato l'SDK di Firebase alla versione 3.x del mio progetto. Quello che sto cercando di fare è autenticare l'utente con Facebook su un dispositivo reale. Tutto funziona bene quando lo provo su un browser. Tuttavia, ogni volta che corro su un dispositivo iOS reale, ottengo sempre il seguente errore:Versione Ionic Framework e Firebase 3.x: questo dominio non è autorizzato per le operazioni OAuth per il progetto Firebase

Questo dominio non è autorizzato per le operazioni OAuth per il progetto Firebase. Modifica l'elenco dei domini autorizzati dalla console Firebase.

Su Firebase, ho già aggiunto "localhost" e "127.0.0.1" al mio elenco di domini autorizzati. Quindi non sono sicuro di cosa fare adesso.

Per vostra informazione, non utilizzo WKWebView nel mio progetto.

Qualcuno qui può dirmi come posso risolvere questo? Per favore consiglio

+0

Penso che dovremmo aggiungere il dominio dell'app nella sezione "Domini di reindirizzamento OAuth" in Firebase, ma non so quale sia il dominio dell'app durante l'esecuzione su un dispositivo. - document.location.host e window.location.host sono vuoti –

+0

È necessario aggiornare tutto seguendo queste [istruzioni] (https://firebase.google.com/support/guides/firebase-web#import_your_project_to_the_firebase_console_numbered) dal firebase doc! [Crediti] (https://forum.ionicframework.com/t/ionic-framework-and-firebase-v3-auth-error-this-domain-is-not-authorized-for-oauth-operations-for-your- firebase-project/52764) –

+0

Affrontare lo stesso problema in React-nativo su piattaforma Android o iOs. –

risposta

11

L'errore "This domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console." impedisce solo signInWithPopup()signInWithRedirect()linkWithPopup() e linkWithRedirect() operazioni da lavorare. Ogni altra funzione, incluso signInWithCredential(), dovrebbe funzionare.

Credo che tu stia vedendo questo errore perché le app ioniche non hanno un dominio reale, e questo è un requisito per le 4 funzioni che ho menzionato sopra.

La soluzione al vostro problema sarebbe quello di ignorare l'errore (è solo informativo) e non usare signInWithPopupsignInWithRedirectlinkWithPopup o linkWithRedirect. Utilizzare invece una libreria per OAuth come ngCordovaOAuth e quindi utilizzare auth().signInWithCredential(...) (vedere le istruzioni di esempio per Twitter here).

+1

Hai ragione, questo funziona Preferisco usare un plug-in per richiedere un login nativo come cordova-plugin-facebook4 o twitter-connect-plug Sarebbe bello avere una soluzione alternativa per utilizzare l'accesso v3 di Firebase senza installare plugin –

+1

Felice che funzionasse!E sicuramente, questa è una richiesta di funzionalità molto interessante, la trasmetterò al team. – alfongj

+0

Sì, questo funziona. Grazie mille alfongj. Ho anche inviato una mail per chiedere a Firebase su questo problema e anche loro suggeriscono di usare una libreria Oauth e quindi utilizzare signInWithCredential(). Per vostra informazione, è stata presentata una richiesta di funzionalità relativa a questo problema. =) – chanat

0

Ho lo stesso problema ma l'ho risolto creando un nuovo progetto Firebase.

+1

Ho provato il tuo metodo ma non ho avuto fortuna. Sto usando Ionic v.1.7.14 e Firebase 3.x. Quando si chiama firebase.auth(). SignInWithPopup (provider) su iOS, viene visualizzato un nuovo pop scompare immediatamente. = ( – chanat

0

Ok, ecco la mia soluzione temporanea:

importare sia v.2.x Firebase SDK e Firebase SDK 3.x nel mio progetto ionica. Uso la versione 2.x per l'autenticazione di Facebook su iOS, quindi utilizzo la versione 3.x per accedere a tutte le nuove funzionalità di Firebase come Storage e così via.

Si spera che questo aiuti.

Problemi correlati