2014-12-06 5 views
0

ember-simple-auth-torii 사용자 정의 Facebook OAuth2 인증 자와 함께 사용하고 있지만 약속을 지킬 수없는 것 같습니다 (data.authorizationCode). 내가 팝업을 닫을 때까지 팝업 창이 멈추고, 그 시점에서 popupClosed 오류 메시지가 나타납니다.ember-simple-auth-torii 페이스 북의 제공 업체가 공개 기능에서 약속을 반환하지 않습니다.

내가해야할 일이 무엇이 없습니까?

감사합니다.

FacebookAuthenticator = OAuth2.extend 
    torii: null 
    provider: "facebook-oauth2" 
    authenticate: (credentials) -> 
    that = this 
    new Ember.RSVP.Promise((resolve, reject) -> 
     that.torii.open(that.provider).then((data) -> 
     data = 
      facebook_auth_code: data.authorizationCode 
     that.makeRequest(that.serverTokenEndpoint, data).then ((response) -> 
      Ember.run -> 
      expiresAt = that.absolutizeExpirationTime(response.expires_in) 
      that.scheduleAccessTokenRefresh response.expires_in, expiresAt, response.refresh_token 
      resolve Ember.$.extend(response, 
       expires_at: expiresAt, 
       access_token: response.access_token, 
       user_id: response.user_id 
      ) 
     ), (xhr) -> 
      Ember.run -> 
      reject xhr.responseJSON or xhr.responseText 
     ) 
    ) 

FacebookAuthentication = 
    name: "facebook-authentication" 
    before: "simple-auth" 
    after: 'torii' 
    initialize: (container) -> 
    Session.reopen 
     user: (-> 
     userId = @get('user_id') 
     if (!Ember.isEmpty(userId)) 
      return container.lookup('store:main').find('user', userId) 
    ).property('userId') 
    torii = container.lookup('torii:main') 
    authenticator = FacebookAuthenticator.create 
     torii: torii 
    container.register("authenticator:facebook", authenticator, { 
     instantiate: false 
    }) 

`export default FacebookAuthentication` 

답변

0

잘못된 URL이 문제였습니다.

Facebook의 고급 앱 설정에서 URL을 설정하고 redirectUri에 지정된 ember-cli 앱과 동일한 URL인지 확인해야합니다.

Facebook settings