AngularJS - 设置应用于所有http请求的公共Basic Auth标头

时间:2016-08-03 10:31:02

标签: angularjs rest http-headers http-basic-authentication

我在后端使用AngularJS和Play REST服务,我对这两个概念都相当新。 我想知道是否有一种方法可以在一个地方编写Basic Auth标头,因此默认情况下会将其添加到Angular正在生成的每个http请求中。

现在我在每个请求的开头添加这一行。

$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode(username + ':' + password);

我希望它只出现在一个地方而不是多个地方,以便于代码维护。 提前谢谢!

1 个答案:

答案 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;
    }
  }

  });

}]);