kurojneko
@kurojneko

Как правильно добавить хедеры в адаптер ember.js?

Доброго времени суток.
Пытаюс сделать авторизацию на связке эмбер - джанго.
Написал контроллер, с формочкой и экшеном - login, джанго. выдает токен но этот токен нужно добавить в хедеры запросов, и вот тут возникает проблема.

controler/login.js

actions: {
	    login: function() {
	    	var obj = this;
	    	Ember.$.ajax({
				// настройка запроса
				success: function(data) {
					return function(data, self){
                                               // варианты найденные в интернетах
						// DS.RESTAdapter.reopen({
						//   headers: {
					        //        'Authorization': "Token "+data.token
					        //      }
						// });

                                        //  еще один вариант 
				        Ember.$.ajaxSetup({
					      headers: {
					        'Authorization': "Token "+data.token
					      }
					    });
						self.transitionToRoute(self.returnTo);
				    }(data, obj)
			    }
			});
	    }
	}


К сожалению ни один из вариантов не добавляет хедеры в запросы, и сервер неустанно отвечает 401. Возможно дело в переопределенном адаптере (для одной из моделей)

adapters/test_model.js

export default ApplicationAdapter.extend({
  pathForType: function(type) {
    // переопределение адреса РЕСТ для конкретной модели
    return "name_models/";
  }
});
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
Kaer_Morchen
@Kaer_Morchen
Разрабатываю web-приложения.
Привет.

Я советую не тратить время на свои авторизации, а воспользоваться ember-simple-auth и модулем к нему для авторизации в джанго, например ember-cli-django-rest-auth.

К тому же, в любом случае кроме токена, нужна будет сессия с авторизированным пользователем и все это где-то хранить и пробрасывать в разные места в приложении, ember-simple-auth это все делает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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