bcrypt.compare(req.body.password, hashed password)
bcrypt.compare()을 통해 로그인을 할 때 비밀번호가 Db에 저장된 비밀번호가 같은지 확인할 수 있다.
session은 벡엔드와 브라우저 간에 어떤 활동을 했는지 기억하는 것이다.
app.use( session ({ secret: process.env.SECRET, resave: true, saveUninitialized: true, }) )
resave, saveUninitialized를 false로 설정하면 로그인을 한 user에게만 cookie를 준다.
cookie는 브라우저가 session을 기억하기 위해 벡엔드로 보내는 명패와 같은 것이다.
req.session.(value) = value
session에 값을 담고 싶으면 req.session.(value)를 사용하면 된다.
res.locals.(value) = value
res.locals는 항상 비어있다.
res.locals.(value) = value를 통해서 pug에서 전역적으로 사용할 수 있는 전역 변수를 만들 수 있다.
app.use( session({ ... store: MongoStore.create({ mongoUrl: process.env.DBURL }) }) )
.env에는 public web 상에 올라가면 안되는 값을 추가하는 것이다.
process.env.(value)를 통해 .env 파일에 접근할 수 있다.
install dotenv import "dotenv/config"
dotenv를 사용하기 위해서는 package.json에서 가장 먼저 실행되는 파일의 최상단에 "dotenv/config"를 import 해줘야한다.