Я хотел бы реализовать проверку подлинности в одностраничном веб-приложении с помощью Angular.js. Официальная Angular документация рекомендует использовать перехватчики:
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
return {
// ...
'responseError': function(rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
}
};
});
Проблема заключается в том, что сервер отправляет ошибку 401, браузер немедленно останавливается с сообщением "Несанкционированное" или с всплывающим окном входа (когда HTTP-заголовок аутентификации отправляется сервером), но Angular не может захватывать с ним перехватчик ошибки HTTP обрабатывать, как рекомендовано. Я что-то не понимаю? Я попробовал больше примеров, найденных в Интернете (this, this и this), но никто из них не работал.