我有一个auth
带有函数的服务login
,它登录到服务器并将授权令牌保存到变量中:
myApp.factory 'auth', ['$http', ($http) ->
@token = null
@login = (user, pass) ->
...
]
登录后,我更新$http
's factory 以使用每个请求标头中定义的令牌。
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'
如何在登录功能之后或作为最后一步重新配置它们?
谢谢!