Ember-simple-auth-torii Провайдер Facebook никогда не возвращает обещание из открытой функции

Я использую ember-simple-auth-torii с пользовательским аутентификатором Facebook OAuth2, но мне никогда не удавалось вернуть обещание каких-либо данных (для data.authorizationCode). Всплывающее окно просто зависает, пока я его не закрою, и в этот момент я получаю сообщение об ошибке popupClosed.

Что мне не хватает, что я должен делать?

Спасибо!

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`

person Josh Smith    schedule 06.12.2014    source источник


Ответы (1)


Проблема, с которой я столкнулся, заключалась в неправильном URL-адресе.

Вам необходимо установить URL-адрес в расширенных настройках приложения Facebook и убедиться, что он совпадает с URL-адресом вашего приложения ember-cli, как указано в redirectUri.

Настройки Facebook

person Josh Smith    schedule 07.12.2014