Я хочу проверить, присутствует ли токен CSRF-файла cookie, а если нет, перенаправляйте логин.Как перенаправить в angularjs-перехватчик, за исключением ошибки?
Не имея печенья, однако, не вызывает requestError
, поэтому я не могу его там положить.
Я уверен, что могу просто вставить его в request
, но я хочу сделать это «чисто», а не грязное перенаправление, которое вызовет тонну ошибок, которые могут возникнуть в консоли, потому что я перенаправляю середину -promise цепь.
Примечание: Я не использую углы управления аутентификацией. Я просто позволю бэкэнд-ручке, используя стандартную форму POST на сайте маркетинга. Вот почему он использует window.location.href
, а не $location.path()
.
$httpProvider.interceptors.push(function($q, $cookies) {
return {
request: function(config) {
if ($cookies.get(xsrfCookieName) && $cookies.get(tokenCookieName)) {
return config;
} else {
// can I do something here to redirect cleanly?
}
},
responseError: function(rejection) {
if (rejection.status === 401) {
window.location.href = '/login';
}
return $q.reject(rejection);
}
};
});
Я использую HTTPS://github.com/witoldsz/angular-http-auth –