OpenApi、SecureApi、TokenHandlerの3つのサービスを作成しました。SecureApiサービスのTokenHandlerサービスを利用したい。認証が行われると、コントローラーコードはTokenHandler.Set()メソッドにトークンを設定します。そして、SecureApiに以下のようにtokenHandler.get()を計算させたい。出来ますか。現在、以下のエラーが発生しています:-
編集:-以下のエラーを修正しました(以下のコードも更新しましたが、私のトークンはまだヘッダーの一部として通過していません:()
不明なプロバイダー:tokenHandlerProvider <-tokenHandler <-SecureApi
コード:-
/* Services */
angular.module('MyApp.services', ['ngResource'])
.factory('OpenApi', function ($resource) {
var openApi = $resource(
'/api/:controller/:id',
[],
{
postLogOn: { method: 'POST', params: { controller: 'Account' } },
postCustomer: { method: 'POST', params: { controller: 'Employee' } }
}
);
return openApi;
})
.factory('TokenHandler', function () {
var tokenHandler = {};
var token = "none";
tokenHandler.set = function (newToken) {
token = newToken;
};
tokenHandler.get = function () {
return token;
};
return tokenHandler;
})
.factory('SecureApi', ['$resource', 'TokenHandler', function(res, tokHandler) {
var secureApi = $resource(
'/api/:controller/:id',
[],
{
getInsightCustomer: { method: 'GET', params: { controller: 'MyCustomer' }, headers: {Authorization_Token: tokenHandler.get()} }
}
);
return secureApi;
}]);