假设我有一个名为chococalateApp
的角度应用,它取决于其他3个模块,即Product
,Sales
和LogIn
。
现在,我的应用程序正在构建RESTful API。成功登录后,服务器将通过发回验证令牌进行响应。每当使用X-AUTH
服务时,我都想将此标记附加为自定义标头$http
。由于我的所有REST API都需要身份验证令牌,因此我需要在每个$http
请求中附加此标头。这可以通过配置$ httpProvider来实现,如下所示:
angular.module('chocolateApp',['Product','Sales','Login'])
.config(['$httpProvider', function($httpProvider){
$httpProvider.defaults.headers.common['X-AUTH'] = 'randomkeybyserver'
}
])
我的问题是,我可以注入模块已经引导的auth-token AFTER 的值吗?
例如,我在LogIn
模块中有一个能够进行身份验证的服务,并检索了所需的令牌。如何将令牌传递回主chocolateApp
模块并进行配置?这会导致循环依赖,还是我对DI的理解在这里是错误的?
如果无法实现,应如何设计?
答案 0 :(得分:0)
您可以在身份验证后通过Login
服务进行此操作,它将在您的应用中提供。
login: function(...) {
$http.post(...).then(function(response) {
$http.defaults.headers.common['X-AUTH'] = response.data.randomkeybyserver;
});
}