👌

Node ExpressでBasic認証

2022/06/25に公開

ディレクトリを作成します。

md basic
cd basic

初期化してプロジェクトを作成します。

npm init -y

expressと認証基盤passportとBasic認証機能のあるpassport-httpをインストールします。

npm install express passport passport-http

app.js を新規作成し、下記のコードを記載します。

const express = require('express');
const passport = require('passport');
const passportHttp = require('passport-http');
const app = express();
passport.use(new passportHttp.BasicStrategy(
    (username, password, done) => {
        if (username === 'user' && password === 'pass') {
            return done(null, true);
        } else {
            return done(null, false);
        }
    }
));

app.get('/',
    passport.authenticate('basic', {
        session: false,
    }),
    (req, res) => {
        res.send('認証されました')
    });

app.listen(3000, () => console.log('listening on port 3000!'))
node app.js

で起動しlistening on port 3000!の表示がでたら、ブラウザーにhttp://127.0.0.1:3000/を入れ認証画面がでたらOK。ユーザーID:user パスワード:pass を入れると「認証されました」の表示がでます。

Discussion