Проблема с сохранением атрибутов сеанса после проверки подлинности Torii с помощью ember-simple-auth

Я следую ember-simple-auth фиктивное приложение для реализации аутентификации с torii, Все работает, и приложение аутентифицируется, но оно не может сохранить дополнительные атрибуты, возвращенные с сервера в data.authenticated, Так же, как ожидает метод аутентификации, я возвращаю обещание от метода authenticator с дополнительными атрибутами token а также email быть сохраненным в сессии data.authenticated:

// ~/frontend/app/authenticators/torii.js

import Ember from 'ember';
import ToriiAuthenticator from 'ember-simple-auth/authenticators/torii';

export default ToriiAuthenticator.extend({
  torii: Ember.inject.service(),

  authenticate() {
    return this._super(...arguments).then((data) => {
      return new Ember.RSVP.Promise((resolve, reject) => {
        return Ember.$.ajax({
          url: '/token',
          type:     'POST',
          dataType: 'json',
          data:     { 'grant_type': 'facebook_auth_code', 'auth_code': data.authorizationCode, redirect_uri: data.redirectUri  }
        }).then(response => {
          Ember.run(() => {
            Ember.Logger.log('response', response); // => {access_token: ".....", provider: "facebook-oauth2", token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkI…WxsfQ.xx6fBkwqwm7HeoOpnRWRVCKF71DdIhxyQggcfZ6325s", email: "..@....com"}
            resolve(response);
          });
        }, xhr => {
          Ember.run(() => { reject(xhr.responseJSON || xhr.responseText); });
        });
      });
    });
  }
});

Выполнение аутентификации: this.get('session').authenticate('authenticator:torii', 'facebook-oauth2'); успешно аутентифицируется, но содержимое data.authenticated только {authenticator: "authenticator:torii", provider: "facebook-oauth2"} в то время как я ожидал бы, что это сохранится token а также email также.

В дополнение к torii у меня тоже есть devise Аутентификатор, и он успешно сохраняет дополнительные атрибуты по умолчанию.

я использую "ember-simple-auth": "1.1.0",ember-data 2.7.0 а также ember 2.7.2 все через ember-cli-rails,

ОБНОВЛЕНИЕ 1: странно, если я включу authenticator: 'authenticator:devise' в моем '/token' AJAX ответ от бэкэнда, torii Аутентификатор сохраняет все атрибуты.

0 ответов

Другие вопросы по тегам