2015-01-09 4 views
5

다음은 팝업/새 탭을 열지 않습니다. Chrome 39.0.2171.50 (iOS 8.1.2 (12B440), )에 대한 작업을 수행하지만 Safari에서는 작동하지 않습니다. 같은 장치

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

참조 plnkr : http://plnkr.co/edit/Ejd7fsyTHf6Ohn0F25Wy?p=preview

이 크롬이나 중포 기지/AngularFire 버그인가, 아니면 내가 잘못 뭔가를하고있는 중이 야?

나는 here에서 이것이 Chrome 문제 일 수 있다고 생각하지만, $authWithOAuthRedirect()도 작동하지 않습니다. 참조 : http://plnkr.co/edit/9dd0W8X5k33LFBcCLmzs?p=preview

모두 팝업 및 지원하지 않는 데스크톱 크롬 39.0.2171.95

+1

나는 요세미티에 사파리와 같은 문제를 겪고 있습니다. $ authWithOAuthRedirect를 사용하여 종료되었습니다. – webduvet

답변

4

중포 기지에 대한 작업을 리디렉션 팝업 모든 플랫폼이다. 지원되지 않는 플랫폼이 감지 된 경우 authWithOAuthPopup() 메서드는 코드가 TRANSPORT_UNAVAILABLE 인 오류를 반환하며 브라우저 리디렉션과 같은 다른 전송으로 인증을 시도해야 함을 나타냅니다.

+0

충분히 공정합니다. 문서의 어딘가에 있나요? 특정 브라우저에서이 오류의 원인을 구체적으로 알고 있습니까? –

+1

@ MurraySmith 유감스럽게도, 문서화가 잘되어 있지 않지만 [Error Listing] (https://www.firebase.com/docs/web/guide/user-auth)와 같은 Firebase 문서의 몇 군데에 나타납니다. html). –

+3

불행히도 일부 브라우저는이 전송에 필요한 기능을 지원하지 않습니다. PhoneGap/Cordova/Ionic은'window.open'을 사용하기 위해 심 (InAppBrowser 플러그인)을 필요로합니다. Chrome은 역사적으로 안전한 crossframe postMessage와 함께 'window.open (...)'에 대한 신뢰할 수있는 전송 기능을 갖추고 있지 않아 iOS에서도 유사하게 사용 중지되었습니다. 비슷하게 PhoneGap/Cordova 앱에는 리디렉션을 사용할 수 없으므로 브라우저를 외부 공용 인터넷 URL에서 PhoneGap 앱이로드 된 로컬 파일 시스템으로 리디렉션 할 수 없습니다. –

2

스피 IOS 확신하지만 당신은 이온과 중포 기지와 함께 안드로이드 장치를 사용하는 경우, 문제를 해결하기 위해 다음 명령을 실행할 수 없습니다 :

ionic plugin add cordova-plugin-inappbrowser 
관련 문제