👌
Node ExpressでBasic認証
ディレクトリを作成します。
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