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 に答える