【发布时间】:2014-10-06 18:45:21
【问题描述】:
假设我有一个名为 chococalateApp 的 Angular 应用程序,它依赖于 3 个其他模块,即 Product、Sales 和 LogIn。
现在,我的应用基于 RESTful API 构建。成功登录后,服务器将通过发回身份验证令牌进行响应。每当使用$http 服务时,我想将此令牌附加为自定义标头X-AUTH。由于我所有的 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 的理解在这里是错误的?
如果这无法实现,应该如何设计?
【问题讨论】:
标签: angularjs authentication dependency-injection auth-token