[ Home ]
back

Express.js , cookie ログイン認証の例, esbuild + React

id: 166, 2024-10-02

概要:

Express.js, cookie ログイン認証の試作メモになります。

  • ログイン完了データを、cookie保存します。
  • middlewareで、ログインデータが無い場合。エラー判定で、指定画面にリダイレクト
  • .envからパスワード等取得、DB使わない例です

[ 公開日: 2024/10/02 ]


構成

  • Express.js
  • esbuild
  • React
  • typescript

作成したコード


dev-start

yarn build
yarn dev

//middleware
app.use(async function(req: any, res: any, next: any){
  const valid = await Common.validUser(req, res);
  if(!valid) {
    console.log("nothing, user-session");
    res.redirect("/login");
  } else {
    next();
  }
});


....

const body = req.body;
console.log(req.body);
console.log("AUTH_USER_MAIL= ", process.env.AUTH_USER_MAIL);
//console.log("AUTH_PASSWORD= ", process.env.AUTH_PASSWORD);
if(process.env.AUTH_USER_MAIL === body.email
  && process.env.AUTH_PASSWORD === body.password
) {
  console.log("OK");
  //process.env.APP_NAME
  const key = process.env.APP_NAME + "_auth"
  res.cookie(key, process.env.AUTH_USER_ID);
  retObj.ret = 200;
  return res.json(retObj)
}
retObj.ret = 400;
return res.json(retObj)