覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

stubby4j - Basic認証

stubby4jを、Basic認証を行うサーバとして振る舞わせることができます。

stubby4jの実行方法等は、はじめてのstubby4jを参照ください。

本エントリでは、リクエストの送信結果を確認するためにDHCを使用しています


Basic認証用の設定方法

■定義

YAMLファイルで以下のように特定のrequestのheadersの「authorization-basic」にBasic認証用のIDとパスワードを平文(plain text)で、
{ID}:{パスワード} の形式で記述します。

-  request:
      url: /path/request/basic
      method: GET
      headers:
         # no "Basic" prefix nor explicit encoding in Base64 is required when stubbing,
         # just plain username:password format. Stubby internally encodes the value in Base64
         authorization-basic: "user1:password001" 
   response:
      headers:
         Content-Type: application/json
      status: 200
      body: > 
            { msg: "Your request authentication successful." }

ここではplain textでID、パスワードを記述しましたが、実際にはBASE64エンコードされた値で管理されています。
そのためリクエストを送信する際の認証情報もBASE64エンコードする必要があります。


動作確認

上記の定義にもとづいてstubby4jを起動してリクエスト内容に対する応答を確認します。

■正しい認証情報をリクエストにセットした場合

DHCを使って正しいIDとパスワードをセットしたリクエストを送信します。

DHCのHEADERSの"set an authorization"部分をクリックします。

f:id:nini_y:20161031124203p:plain

表示されたダイアログに、IDとパスワードを(plain textで)セットします。(自動的的にリクエスト時にBASE64エンコードされます)

f:id:nini_y:20161031124252p:plain

リクエストを送ると正常な応答(ステータスコード=200)が返ってくることが分かります

f:id:nini_y:20161031124050p:plain


■間違った認証情報をリクエストにセットした場合

間違った認証情報をセットしたリクエストを送信すると認証失敗(ステータスコード=401)の応答が返ってくることが分かります。

f:id:nini_y:20161031124042p:plain



関連エントリ