読者です 読者をやめる 読者になる 読者になる

AngularJSの$httpや$resourceでのリクエストにAuthorizationヘッダーでの認証を付加する

JavaScript

個別のリクエストではなくインターセプターを使ってまとめて追加。 インターセプターを作って$httpProvider.interceptors配列に追加するだけ。 下記コードは、サーバからのtokenを取得済みなら、Authorizationヘッダーに追加してリクエストするようになる例。

#auth_interceptor.coffee
"use strict"

angular.module("myApp")
.factory("AuthInterceptor", (AuthToken)->
  "request": (config) ->
    config.headers ?=  {}
    if AuthToken.isToken()
      #Authorizationへの記述形式は、サーバの認証方式による。例:Token token="abcdefg...."
      config.headers.Authorization = AuthToken.getTokenString()
    config
).config ($httpProvider)->
  $httpProvider.interceptors.push("AuthInterceptor")