0

我正在使用 Code Igniter REST 库来提供我的 api。我正在尝试保护我的 api 以进行密钥访问。我可以使用 ngResource 和密钥成功地在我的应用程序中检索信息,但是在尝试使用相同的密钥发布时我收到 403 拒绝。现在我只是将密钥嵌入到我的工厂中。

这是我成功的工厂:

.factory('Breweries', ['$resource',
function($resource) {
    var key = '621d004e78de5b1ef9c634ae3fc9b84a';
    return $resource('http://restapi.dev/api/breweries?key=' + key, {}, {
        query: {
            method: 'GET',
            isArray: true
        },
    });
}
])

和不成功的工厂:

.factory('Claim', function($resource) {
var key = '621d004e78de5b1ef9c634ae3fc9b84a';
var Claim = $resource('http://restapi.dev/api/system/:method?key=' + key, {}, {
    save: {
        method: 'POST',
        params: {
            method: 'claim'
        }
    },
    send: {
        method: 'POST',
        params: {
            method: 'contact'
        }
    }
});

return Claim;
})

两个工厂都可以在没有钥匙的情况下正常工作,所以我离得不远。我很感激任何帮助。我相信我为此使用的资源有点不正确,但是我只找到了将密钥作为标题而不是查询提交的引用。

4

1 回答 1

0

拦截器只是注册到该数组的常规服务工厂。使用带有 $http 的 AngularJS 拦截器

https://docs.angularjs.org/api/ng/service/$http#interceptors

于 2015-05-19T03:49:44.053 回答