Ember CLI — простая аутентификация — пользовательский аутентификатор не регистрируется автоматически

Я пытаюсь настроить собственный аутентификатор с простой аутентификацией ember. Я использую Ember CLI, и в соответствии с Simple Auth ReadMe на GitHub это указано. Обратите внимание, что если вы не используете Ember CLI, аутентификатор не будет автоматически зарегистрирован в контейнере, и вам нужно будет сделать это в инициализаторе.

В нем не указано, где вам нужно поместить ваш аутентификатор (или авторизатор, если на то пошло) в вашей структуре каталогов, чтобы он был автоматически зарегистрирован Ember CLI. После создания моего файла в app/authenticators/custom.js (как показано в примерах readme) я ожидал, что он будет зарегистрирован в контейнере. Глядя в Ember Inspector, его нигде не найти.

Есть ли у кого-нибудь понимание этого? Где эти файлы должны быть размещены?

Пожалуйста, спросите, нужна ли какая-либо дополнительная информация.

Ember: 1.7.0
Ember Data: 1.0.0-beta.10
Ember Simple Auth: 0.7.1

person Garrett    schedule 02.12.2014    source источник


Ответы (3)


Последняя версия Ember CLI должна на самом деле автоматически регистрировать аутентификатор — убедитесь, что вы используете его (вероятно, это не так, поскольку вы все еще используете Ember 1.7.0). Это должно решить эту проблему.

person marcoow    schedule 03.12.2014

Убедитесь, что у вас есть инициализатор в /app/initializers/. Инициализаторы в этом каталоге устанавливаются ember-cli автоматически.

// app/initializers/authentication.js
import CustomAuthenticator from '../authenticators/custom';

export default {
  name:       'authentication',
  before:     'simple-auth',
  initialize: function(container, application) {
    container.register('authenticator:custom', CustomAuthenticator);
  }
};
person Timo    schedule 02.12.2014

У меня такая же проблема, и у меня Ember 1.8.1.

Ошибка: Uncaught ReferenceError: CustomAuthenticator is not defined в файле app/authenticators/custom.js

Мне нужно было добавить инициализатор и изменить код, найденный в документах, на приведенный ниже, и он работает

import Base from 'simple-auth/authenticators/base';

var CustomAuthenticator = Base.extend({
  restore: function(data) {
  },
  authenticate: function(options) {
  },
  invalidate: function(data) {
  }
});

export default CustomAuthenticator;
person Joseph Magen    schedule 23.12.2014
comment
Речь идет о версии Ember CLI, а не о версии Ember. Какую версию Ember CLI вы используете? - person marcoow; 23.12.2014
comment
как вы используете CustomAuthenticator в своем приложении cli? - person SuperUberDuper; 05.06.2015