DIGEST認証が済んだことを表示する

 ウェブページのユーザー認証には,BASIC認証とDIGEST認証がある.今回はDIGEST認証を扱い,認証が済んだ後,済んでいることを例えばヘッダーに表示する方法をご紹介.
 使う技術は,HTML5 APIの「sessionStorage」.セッションストレージは,その名の通り,ブラウザを閉じるまで有効なので,DIGEST認証と保持時間が同じ.そこで,

  1. DIGEST認証を通った後に表示されるページに,セッションストレージを仕掛けておき,
  2. その値をブラウザに入れておき,
  3. セッションストレージの値が含まれていれば,「認証済」と表示させる.

 という手順を踏むことにする.
 まず,/memberonly/フォルダにDIGEST認証を掛けたとする./memberonly/foo.html のscriptタグ内に,

sessionStorage.setItem('auth', 'digest');

 など,キーと値を設定する.もちろん,auth や digest という文字列でなくてよい.これで,DIGEST認証済後,最初に飛ぶページに,セッションストレージを仕掛けた.これはブラウザのWebストレージで確認できる.
 次に,

if(sessionStorage.getItem('auth') === 'digest'){
// 処理を書く
}

 と,セッションストレージの値で分岐させる.もしセッションストレージが機能していれば,if条件を満たし,処理が実行される.
 最後に,この処理のブロックに,「認証済」などと文字列を表示させる処理を書く.

if(sessionStorage.getItem('auth') === 'digest'){
$('.login').text('認証済み');
}

 これで,DIGEST認証が済んでいることを表示できる.
 お試しあれ.