1
我有一个服务auth
与函数login
,其登录到服务器并保存授权令牌给一个变量内的工厂:配置服务
myApp.factory 'auth', ['$http', ($http) ->
@token = null
@login = (user, pass) ->
...
]
登录后,我更新$http
的工厂在每个请求的标题中使用已定义的标记。
myApp.factory 'httpAuthInterceptor', ($injector, $q) ->
request: (request) ->
token = ($injector.get 'auth').token
request.headers.Authorization = "Bearer " + token
return request or $q.when request
的问题是拦截器的顶层启动配置:
myApp.config ($httpProvider) ->
$httpProvider.interceptors.push 'httpAuthInterceptor'
我怎样才能重新配置登录功能之后,或作为其最后一步?
谢谢!