Я хочу отправить токен авторизации при запросе ресурса из моего API.
Я реализовал службу, используя $resource:
factory('Todo', ['$resource', function($resource) {
return $resource('http://localhost:port/todos.json', {port:":3001"}, {
query: {method: 'GET', isArray: true}
});
}])
И у меня есть сервис, который хранит токен авторизации:
factory('TokenHandler', function() {
var tokenHandler = {};
var token = "none";
tokenHandler.set = function( newToken ) {
token = newToken;
};
tokenHandler.get = function() {
return token;
};
return tokenHandler;
});
Я хотел бы отправлять токен из tokenHandler.get
с каждым запросом, отправляемым через службу Todo
. Я смог отправить его, поместив его в вызов определенного действия. Например, это работает:
Todo.query( {access_token : tokenHandler.get()} );
Но я бы предпочел определить токен доступа _в качестве параметра в службе Todo
, так как он должен отправляться при каждом вызове. И улучшить DRY. Но все в фабрике выполняется только один раз, поэтому токен доступа _должен быть доступен до определения фабрики, и после этого он не может измениться.
Есть ли способ добавить в службу динамически обновляемый параметр запроса?