今回は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;