我在后端使用AngularJS和Play REST服务,我对这两个概念都相当新。 我想知道是否有一种方法可以在一个地方编写Basic Auth标头,因此默认情况下会将其添加到Angular正在生成的每个http请求中。
现在我在每个请求的开头添加这一行。
$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode(username + ':' + password);
我希望它只出现在一个地方而不是多个地方,以便于代码维护。 提前谢谢!
答案 0 :(得分:2)
您可以在 angular.config
中使用$ http拦截器来执行此操作var app = angular.module();
app.config(['$httpProvider', function($httpProvier){
$httpProvider.interceptors.push(function(){
return {
request: function(config) {
config.headers.Authorization = YOUR_AUTHORIZATION_HEADER;
return config;
}
}
});
}]);