2015-01-09 31 views
5

Aşağıdakiler, iOS 39.1.2171.50 için iOS 8.1.2 (12B440), 'da bir açılır pencere/yeni bir sekme/bir şey yapmaz ancak Safari'de çalışır gibi görünüyor. aynı aygıtı:

<button ng-click="$auth.$authWithOAuthPopup('facebook')">Login with Facebook</button> 

bakınız plnkr: http://plnkr.co/edit/Ejd7fsyTHf6Ohn0F25Wy?p=preview

bu Chrome veya Firebase/AngularFire ile bir hata mı yoksa yanlış bir şey yapıyorum?

here numaralı telefondan bunun bir Chrome sorunu olabileceğini görüyorum, ancak şu an için $authWithOAuthRedirect() kullanamıyorum; bkz: http://plnkr.co/edit/9dd0W8X5k33LFBcCLmzs?p=preview

Hem Popup ve desteklemez Masaüstü Chrome 39.0.2171.95

+1

Yosemite üzerinde safari ile aynı problem vardı. $ AuthWithOAuthRedirect kullanılarak sona erdi. – webduvet

cevap

4

Firebase üzerinde çalışmaya yönlendir pop-up tüm platformlar vardır. Desteklenmeyen bir platform algılanırsa, authWithOAuthPopup() yöntemi, TRANSPORT_UNAVAILABLE koduyla bir hata döndürür; bu, tarayıcı yönlendirmesi gibi farklı bir aktarımla kimlik doğrulaması yapmayı denemenizi belirtir.

+0

Yeterince adil. Dokümanlardaki bir yerde mi? Bazı tarayıcılarda bunun neden başarısız olduğunu özellikle biliyor musunuz? –

+1

@MurraySmith Maalesef, iyi bir şekilde belgelenmemiş, ancak Firebase dokümanlarında, [Hata Listeleme] (https://www.firebase.com/docs/web/guide/user-auth) gibi birkaç yerde görünür. html). –

+3

Maalesef, bazı tarayıcılar bu taşıma için gerekli özellikleri desteklemiyor. PhoneGap/Cordova/Ionic, 'window.open' işlevini kullanmak için bir shim (InAppBrowser eklentisi) gerektirir. Chrome, iOS'ta güvenli bir şekilde devre dışı bırakıldı, çünkü güvenli bir şekilde, kare kare postMessage ile birlikte window.open (...) için güvenilir bir aktarım gerçekleştirmemişti. Benzer şekilde, PhoneGap/Cordova uygulamaları için yönlendirmeler kullanılamaz çünkü, tarayıcıyı harici bir genel internet URL'sinden, PhoneGap uygulamasının yüklendiği yerel dosya sistemine yeniden yönlendirecek bir mekanizma yoktur. –

2

Iam ios emin ama iyonik ve Firebase birlikte android cihaz kullanırsanız, sorunu gidermek için aşağıdaki komutu çalıştırın:

ionic plugin add cordova-plugin-inappbrowser 
İlgili konular