在客戶端存儲智威湯遜的選項之一可能是window.localStorage,它存儲沒有過期日期的數據。 而在這之後,每個$http
請求(認證頭)您發送此令牌使用攔截器像下面的服務器,
angular.module('myApp').factory('authInterceptor', ['$q', function ($q) {
return {
request: function (config) {
config.headers = config.headers || {};
if (config.headers.skipAuthorization === false) {
var token = localStorage.getItem('authenticationToken');
if (token != null) {
config.headers.Authorization = token;
}
}
return config;
},
response: function (response) {
if (response.headers("Authorization") != undefined || response.headers("Authorization") != '') {
localStorage.setItem('authenticationToken', response.headers("Authorization"));
}
return response;
},
responseError: function (rejection) {
if (rejection.status === "401") {
localStorage.removeItem('authenticationToken');
}
return $q.reject(rejection);
}
};
} ]);
angular.module('myApp').config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push('authInterceptor');
} ]);
並與您希望此令牌將被髮送到服務器的每個請求,設置skipAuthorization:false
在標題爲,
$http({
....
headers:{skipAuthorization:false}
}).then(....)
可以存儲裏面的localStorage –
您的令牌,如果你能分享我的一些代碼樣片。會很有幫助。 –
'localStorage.setItem(「jwt」,angular.toJson(yourToken));' –