expressを使用してBASIC認証を試してみたよ。
やり方は、expressのbasicAuthメソッドをcreateServer時に叩くだけ。
これで、サーバはクライアントに401を返すので、ブラウザからユーザ名とパスワードを入力すると
authorizeメソッドが呼ばれます。
var app = express.createServer(express.basicAuth(authorize));
// Basic Auth
function authorize(username, password) {
return 'username' === username & 'password' === password;
}
3行目以降を次のように変更すれば、パスを分けてBasic認証することが可能っす。
app.all('/hoge/*', express.basicAuth(function(user, password) {
return user === 'username' && password === 'password';
}));
■■■■■■■■ 追記(2012/10/18) ■■■■■■■■
expressのバージョンがあがって使い方が少し変わりました。
app.configure(function(){
app.use(express.basicAuth(function(user, pass){
return 'username' == user & 'password' == pass;
}));
app.use(app.router); // これより前にBasic認証を書く
});