expressでbasic認証

app.use(express.basicAuth('username', 'password'));

もしくは

app.use(express.basicAuth(function(user, password) {
  return user === 'username' && password === 'password';
}));

こうかな。上のほうが簡単だけど下の方が柔軟。

パスで分けたいなら

app.all('/hoge/*', express.basicAuth(function(user, password) {
  return user === 'username' && password === 'password';
}));

とか。

設定にbasic認証が存在しているときだけbasic認証かけて、さらに複数ユーザー設定できるようにするためにこんな感じにした。

if (config.basicAuth) {
  app.use(express.basicAuth(function(user, pass) {
    return config.basicAuth[user] && config.basicAuth[user] === pass;
  }));
}

設定ファイルは

var config = {
  basicAuth: {
    user: 'pass',
    hoge: 'fuga',
    foo: 'bar'
  }
};

こんな感じで書ける。