今回はexpressで作成したアプリケーションにBasic認証をかける方法を紹介する。
basic-authパッケージのインストール
まずは必要なパッケージをインストールする。
npm i basic-auth --save-dev
設定ファイルの作成
次にBasic認証用の設定ファイルを作成する。
ここでは「basicAuth.js」という名前で作ってみた。
const auth = require('basic-auth');
const admins = {
'username': {password: 'hogehoge'},
};
module.exports = (request, response, next) => {
const user = auth(request);
if(!user || !admins[user.name] || admins[user.name].password !== user.pass) {
response.set('WWW-Authenticate', 'Basic realm="example"');
return response.status(401).send();
}
return next();
};
メインファイルで呼び出す
最後にbasicAuth.jsをメインファイル「server.js」で読み込めばOK。
const basicAuth = require('./basicAuth');
app.use(basicAuth);
// ...省略
module.exports = app;