Skip to content

suzumura-ss/mod_auth_httprequest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mod_auth_httprequest
  Copyright 2010, Toshiyuki Suzumura, under Apache License, Version 2.0
      http://github.com/suzumura-ss/mod_auth_httprequest
      http://www.apache.org/licenses/LICENSE-2.0

指定URLをHTTP-HEADリクエストして認証します。

(1) 元リクエストの全てのリクエストヘッダと以下のリクエストヘッダにてリクエストします。
    X-AuthHttpRequest-URL:    このリクエストのURL
    X-AuthHttpRequest-Method: このリクエストのメソッド
    X-AuthHttpRequest-Secret: 再帰的なHTTPリクエストを防止する文字列
    例:
      X-AuthHttpRequest-URL: /index.html
      X-AuthHttpRequest-Method: GET
      X-AuthHttpRequest-Secret: b41d38160ff124d7ecfe717e657846db 

(2a) "OK", "Created", "Accepted" の場合は認証されリクエストが継続されます。
    ENV["AUTH_TYPE"], ENV["REMOTE_USER"] がApacheにより追加されます。


(2b) "Unauthorized", "Forbidden" 等その他の場合は認証失敗となりリクエストが中断されます。
    HEADリクエストのレスポンスヘッダが元リクエストのレスポンスヘッダにコピーされます。


= モジュールのロード
  LoadModule auth_httprequest_module /usr/lib/httpd/modules/mod_auth_httprequest.so


= 認証ディレクティブ
  Require   valid-request
  AuthType  AuthHttpRequest
  AuthName  X-Auth-HttpRequest  (無視されます)


= コンフィギュレーション
  HttpRequestAuth-RequestURL    "url"
    実際に認証をするHTTPリクエストのURLを指定します。
    文字列中に %s を指定すると、元リクエストのパスに置換されます。
    デフォルトは "locaslhost%s" で、同じURLにHEADリクエストします。
    例:
      HttpRequestAuth-RequestURL  "localhost:8080/cgi-bin/auth.cgi"
      - 8080の/cgi-bin/auth.cgiにHEADリクエストします。
      HttpRequestAuth-RequestURL  "localhost:8080%s"
      - 8080の同じURLにHEADリクエストします。

  HttpRequestAuth-Secret        "filename"
    再帰的なリクエストを検出するための文字列(secret)を生成する元ファイルを指定します。
    デフォルトでは再帰的リクエストを検出しません。
    セキュリティ上の理由から、外部サービスを提供する場合はデフォルトで利用することを強く奨励します。
    例:
      HttpRequestAuth-Secret  "/dev/random"
      - 乱数を使用します。
        この場合httpdのインスタンス毎に異なるsecretになり再帰的なリクエストの検出が困難
        になります。再帰的な呼び出しにならないように VirtualHost などを利用してください。


  HttpRequestAuth-ErrorDocument "string"
    カスタムエラードキュメントを指定します。
    文字列中に %d を指定すると、レスポンスコードに置換されます。
    指定しない場合はApacheの設定に従います。
    例: 
      HttpRequestAuth-ErrorDocument   "Error %d"
      - 401エラーのとき "Error 401" がレスポンスボディになります。

About

Authentication module for apache/2.2, with HTTP request.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages