Ember Simple Auth Token: как добавить информацию в header запроса, отправляемого authenticator:jwt?

Установил аутентификатор:
ember install ember-simple-auth
ember install ember-simple-auth-token

и пытаюсь его использовать:
export default Ember.Controller.extend({
  session: Ember.inject.service(),
  actions: {
    login() {
      var credentials = this.getProperties('identification', 'password'),
        authenticator = 'authenticator:jwt';
      this.get('session').authenticate(authenticator, credentials);
    }
  }
});


Вбиваю значения в форму, нажимаю submit - выполняется HTTP POST запрос, который передаёт
{"password":"ember","username":"ember"}

Мне же нужно отправлять HTTP GET (не надо отправлять json) c HTTP заголовком:
'Authorization': 'Basic ZW1iZXI6ZW1iZXI='
где ZW1iZXI6ZW1iZXI= - это base64 от login:password.

Правильно ли я выбрал authenticator:jwt? Если да, то как его настроить?
  • Вопрос задан
  • 304 просмотра
Решения вопроса 1
@aristov Автор вопроса
Посмотрел исходники Ember Simple Auth Token для jwt:
https://github.com/jpadilla/ember-simple-auth-toke...

1) чтобы изменить заголовки при авторизации, можно передать их третьим параметром:
this.get('session').authenticate('authenticator:jwt', [], headers);

2) в методе makeRequest(url, data, headers) захардкожен метод POST (т.е. поменять на GET не получится).

Итого: Ember Simple Auth Token для моей задачи не подходит.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kaer_Morchen
@Kaer_Morchen
Разрабатываю web-приложения.
Лучше не используйте ember-simple-auth-token. За место него подойдет OAuth2 что идет в комплекте с ember-simple-auth.

Мне же нужно отправлять HTTP GET (не надо отправлять json) c HTTP заголовком

Нужно переопределить метод authenticate, который отвечает за это дело.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы