您好,我正在使用 ngResource 插件和我的 HMAC 身份验证实现使用 AngularJS 做一个 REST API 客户端。
我编写了一个 HttpIntercept 服务,它拦截 http 请求并计算并附加带有 HMAC 符号的授权标头。但是通过这种实现,它会计算符号并将其附加到所有请求,这很糟糕。
.factory('authInterceptor', function($q) {
return {
request: function(request) {
#sign calculation...
request.headers['Authorization'] = sign;
}
return request || $q.when(request);
}
};
})
.controller('HomeCtrl', function ($scope,$resource) {
var Articles = $resource('/api/articles');
$scope.articles = Articles.query();
})
您是否有建议仅拦截需要身份验证的请求或来自 ngResource 插件的所有请求?
我想到了三个解决方法: 1. 私有请求的数组列表 2. 公共和私有 API 的不同子域 3. 将供应 http 标头附加到需要身份验证的请求