Я использую 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`