0

我正在使用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`
4

1 回答 1

0

我遇到的问题是 URL 不正确。

您需要在 Facebook 的高级应用程序设置中设置 URL,并确保它与您的 ember-cli 应用程序中指定的 URL 相同redirectUri

脸书设置

于 2014-12-07T17:43:47.633 回答