LoginSignup
1
1

More than 5 years have passed since last update.

Express4でpublic以下のstaticファイルにBasic認証をかける

Posted at

express-generatorを使って、Expressプロジェクトを生成した場合、プロジェクトフォルダ以下に静的ファイル置き場としてpublicが作成されます。(一般的なExpressプロジェクトのディレクトリ構成)
この記事では、このpublic以下に配置した静的コンテンツのみにBasic認証をかける方法を紹介します。

必要パッケージ

必要なパッケージをインストールしておきます。

$ npm install serve-static
$ npm install http-auth

app.jsの変更

requireします

require.js
const serveStatic = require('serve-static');
const auth = require('http-auth');

ミドルウェアの定義

defMiddleware.js
let basic = auth.basic({
  realm: "fail"
}, (username, password, callback) => {
  callback(username === "root" && password === "pass");
});

let authMiddleware = auth.connect(basic);

ミドルウェアの読み込み

useMiddleware.js
app.use('/', authMiddleware, serveStatic(__dirname + '/public'));
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1