1
我想檢查CSRF Cookie令牌是否存在,如果不存在,則重定向到登錄。如何在angularjs攔截器中重定向,除非不出錯?
沒有cookie不會觸發requestError
,所以我不能把它放在那裏。
我確定我可以簡單地將它粘在request
中,但我希望做到這一點'乾淨',而不是一個骯髒的重定向,這將導致大量的錯誤可能在控制檯中冒出來,因爲我正在重定向-promise鏈。
注意:我沒有使用angular來管理身份驗證。我只是想讓後端通過營銷網站上的標準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 –