2016-10-18 2 views
2

Meteor 및 Facebook 또는 Google 로그인을 사용하는 모바일 앱에서 작업하고 있습니다.Meteor Social Login - Facebook 또는 Google을 사용하여 oauth2 로그인 페이지가 비어 있습니다.

Android 기기에서 작동합니다.

하지만 iOS 기기에서는 성공적인 인증 후에 빈 페이지가 나타납니다. 사용자는 페이지를 닫고 앱을 다시 얻으려면 '완료'버튼을 클릭해야합니다.

Screenshot of "Done" button to be clicked on

유성 버전 1.3.4.4 최신 accounts-facebook, accounts-google 패키지. 유성 코르도바를 추가 .... 나는이 버그 들거 오랜 시간의 해결책을 찾기

//Oauth login with Facebook. 
this.loginFB = function() { 
    Meteor.loginWithFacebook({ 
    requestPermissions: ['email', 'public_profile'], 
    redirectUrl: Meteor.absoluteUrl('_oauth/facebook') 
    }, function(err){ 
    if(err.error === 'Email exists.') { 
     if (Meteor.isCordova) { 

     } else { 

     } 
    } 
    }); 
}; 

//Oauth login with Google. 
this.loginGoogle = function() { 
    Meteor.loginWithGoogle({ 
    requestPermissions: ['email', 'profile'], 
    redirectUrl: Meteor.absoluteUrl('_oauth/google') 
    }, function(err){ 
    if(err.error === 'Email exists.') { 
     if (Meteor.isCordova) { 

     } else { 

     } 
    } 
    }); 
}; 
+0

이것은 관련이있을 수도 있습니다 http : // stackoverflow.com/questions/39936777/meteor-1-3-accounts-facebook-login-for-ios-not-working? noredirect = 1 # comment67179180_39936777 – Mikkel

답변

0

,하지만 난이 직원을 발견 : 코르도바 - 플러그인 - inappbrowser을

내가 로그인에 사용하고있는 코드입니다 @ https://github.com/ephemer/cordova-plugin-inappbrowser.git#04091fde737519c149e7ad6316971cb6b490c5b3 그리고 도움이된다고 생각합니다.)

+0

어떻게 문제를 해결할 수 있었는지 자세히 설명해주십시오. –

+0

이미 inAppBrowser 버전 1.4.0을 사용하고 있습니다. – KostasS

+0

$ rootScope. $ on ('$ cordovaInAppBrowser : exit', function (e, event) { if (Meteor.loggingIn() === false) { $ ionicLoading.hide(); } }); $ scope. $ on ('$ ionicView.beforeEnter', function (event, viewData) { viewData.enableBack = false; }); $ scope. $ on ('$ ionicView.afterEnter', function (e, event) { $ ionicLoading.hide(); }); – KostasS

0

Meteor를 사용하여 iOS 하이브리드 앱을 만들 때 후자는 Cordova 및 Cordova 플러그인 InAppBrowser을 사용합니다.

그 플러그인은 제 3 자 OAuth 서비스 (Facebook, Google, GitHub 등)를 제공 할 때 사용되므로 새 페이지가 로컬 앱 Cordova API에 액세스 할 수 없게 될 가능성이 높습니다.

InAppBrowser은 코르도바 아이폰 OS 플랫폼에서 InAppBrowser을 시작 WKWebView의 OAuth와

를 닫 실패

불행히도, 이러한 구성에 사용 된 플러그인에서 "버그", [CB-11136] 볼 수 있었다 OAuth (예 : Facebook 또는 Google 로그인)에 대한 WKWebView를 사용하는 4+는 꼭 닫아야합니다.

다른보기 제어기가 제시 될 때 전체 WKWebView 스레드가 일시 중지 된 것 같습니다. Safari에서 WKWebView 세션을 검사하고 window.open('http://something.com')을 실행 한 다음 해당 Safari 콘솔에 다른 명령을 입력하면이 사실을 확인할 수 있습니다. 사용자가 수동으로 특히, 액세스 토큰이 제대로 검색하고 사용자가 로그인됩니다 (이하 "완료"버튼을 누르면 기본 응용 프로그램이 다시 장악하고 새로운 창을 닫습니다하지만, 모든 것이 잘 작동 할 수없는 이유

이 완전히 설명 앱으로).

이 문제는 플러그인 버전 1.7.0에서 수정되었습니다.

수동으로 1.7.0에 InAppBrowser 플러그인 버전을 업그레이드하거나 나중에 모든 테스트의 OAuth 로그인 서비스를위한 아이폰 OS 코르도바 패키지 애플리케이션에 대한 문제 해결 meteor add cordova:[email protected]

이 (당신은을 찾기 위해 Cordova Plugins registry를 검색 할 수 있습니다 최신 사용 가능 릴리스)

관련 문제