У меня есть угловое приложение с узлом/эксплоитом. Ive попытался реализовать аутентификационный перехватчик с помощью httpProvider. Когда в локальном хранилище есть токен, приложение работает так, как ожидалось, и я могу получить ограниченные данные из бэкэнд, но как только я удалю токен, выйдя из системы и попытаюсь перенаправить на основной вид, я получаю TypeError : Невозможно прочитать недопустимые заголовки свойств. Если я прокомментирую строку кода в конфиге, я зарегистрировал перехватчик, ошибка исчезла. По какой-то причине, что я не смог диагностировать, приложение падает, если в локальном хранилище нет токена.
Authentication Interceptor:
angular.module('barmehealth')
.factory('authInterceptor', function(authToken) {
return {
request: function(config) {
var token = authToken.getToken();
if (token) {
config.headers.Authorization = 'Bearer ' + token;
return config;
}
},
response: function(response) {
return response;
}
};
});
Зарегистрированный в объекте Config:
$httpProvider.interceptors.push('authInterceptor');
Я попытался решить эту проблему путем изменения кода следующим образом:
.factory('authInterceptor', function(authToken) {
return {
request: function(config) {
var currentToken = authToken.getToken();
var token = currentToken ? currentToken : null;
if (token) {
config.headers.Authorization = 'Bearer ' + token;
return config;
}
},
response: function(response) {
return response;
}
};
});
О, человек, какая ошибка в кости. Спасибо, очевидно, работает как и ожидалось. – Aaron