認証ってどうやんのさ? / expressモジュールにあるexamplesのauthを動作させてみたよ

サーバ上で動くようなアプリを作ったことがない私ですが、当然ながら認証をどうやってるのかなんて知るはずも無く。
(というか大体予想はできてるけど書いたこと無いし、書けても多分セキュリティ的に危なそうで怖い)


ただ、ログイン画面があってログインして〜なんてウェブアプリなんてほぼ大多数を占めてるわけで、
さすがにそろそろ知っておかないとこれから先何も作れないな、と思ってサンプルを探していたら良いコードが。


expressリポジトリexamplesなんてディレクトリがあって、親切丁寧に書かれていました。
今回はただ動作させてみただけですが、軽くコードも見てなるほどなるほどといった感じ。
一応、動作のさせ方などをメモしたのが以下です。
環境:MacOS 10.6.8 / nodebrew 0.5.0 / node.js 0.6.12 / npm 1.1.4 / express 3.0.0alpha1

リポジトリのクローンとモジュールのインストール

リポジトリを持ってきます。

$ git clone https://github.com/visionmedia/express.git
$ cd express/

依存しているモジュールのインストール。

$ npm install

ラクチン。

authサンプルを動作させる

$ cd examples/auth
$ node app.js
Express started on port 3000

これでauthサンプルが動作するのでhttp://localhost:3000/へ。

こんな感じ


最初にログインページが表示されて、「/restrictedにアクセスしてみてよ」って所をクリックするとこんな感じ。
Loginの下にAccess denied!って表示される。



Usernameにtjを、Passwordにfoobarを入力してLoginボタンを押す。



Authenticated as ...って表示されて、ログイン状態に。
試してないけどこれってタイムアウトするのかな?それはsessionのサンプルの方なのかな?



ログイン状態で/restrictedにアクセスしてみるとアクセスできる。



Loginのページに戻ってclick to logout.のってところをクリックすると、ログアウトされて最初の画面に。


というわけでそれほど難しくもなさそうな感じ。(まあ、サンプルを見たからこその感想なんだけど……)
ちょっとがんばって自分でも書いてみるかなー。