1

サーバーにログインし、認証トークンを変数に保存するauthfunctionを持つサービスがあります。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'

ログイン機能の後、またはその最後のステップとして、それらを再構成するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

インターセプターを変更する必要はありません。認証が完了したら、以下を使用して認証ファクトリーにアプリケーション全体のヘッダーを設定する必要があります。

$http.defaults.headers.common['Authorization'] = "Bearer " + token;

于 2013-10-21T20:13:41.650 に答える