Это зависит от того, что вы подразумеваете под «ресурсами» и как настроен ваш сервер. Но в целом - да, поскольку вы используете AngularJS, вы можете использовать $ httpProvider для инъекции услуги перехватчика.
Например, в службе:
var dependencies = ['$rootScope', 'userService'];
var service = function ($rootScope, userService) {
return {
request: function(config) {
var currentUser = userService.getCurrentUser();
var access_token = currentUser ? currentUser.access_token : null;
if(access_token) {
config.headers.authorization = access_token;
}
return config;
},
responseError: function (response) {
if(response.status === 401) {
$rootScope.$broadcast('unauthorized');
}
return response;
}
};
};
module.factory(name, dependencies.concat(service));
Затем, после того, как настроите маршруты, вы можете использовать:
$httpProvider.interceptors.push('someService');
Вы можете найти более подробную информацию о перехватчиков здесь: https://docs.angularjs.org/api/ng/service/$http#interceptors
ОБНОВЛЕНИЕ
Возможно, вы сможете использовать текстовый плагин, чтобы попытаться его получить, но я не вижу смысла защищать код на стороне клиента. Кроме того, если вы хотите использовать оптимизацию ресурсов будет просто прийти в один файл в любом случае ...
config: {
text: {
onXhr: function (xhr, url) {
xhr.setRequestHeader('Authorization','Basic ' + token);
}
}
}
См: custom-xhr-hooks
Другой UPDATE
Вы также можете использовать urlArgs (в основном используется для недействительности кеша) без использования текстового плагина:
require.config({
urlArgs: 'token='+token,
...
)}
Хехех Я уже делаю это в пределах Углового. Я имею в виду, когда requirejs загружает javascript-файл с сервера, могу ли я передавать заголовки аутентификации вместе с этими запросами файлов javascript? – SomethingOn
Благодаря @Shapeshifter, защита кода на стороне клиента может показаться немного тупой, но мы просто опасаемся. Нет смысла подвергать вещи незарегистрированным пользователям, которые не нужно видеть. – SomethingOn
Нет проблем, вы также можете подумать об использовании urlArgs, который не касается заголовка, но вы также сможете передать токен или что-то с этим. Если мой ответ вам подходит, отметьте его как таковой! Спасибо @SomethingOn – Shapeshifter