๋ชฝ๊ณ DB๋ฅผ ์ฌ์ฉํ์๋ค.
1) ํ์๊ฐ์
๊ธฐ๋ฅ
Body-parser : Body ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํด์ req.body๋ก ์ถ๋ ฅํ๋ค.
POST MAN : client ์๋ ์ํ์์ request๋ฅผ ๋ณด๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ค. POST MAN์ ํตํด Register Route์ request๋ฅผ ๋ณด๋ธ๋ค.
NODE MON : ์์ค๋ฅผ ๋ณ๊ฒฝํ ๋ ์๋์ผ๋ก ๋ฐ์ํ๊ณ ์๋ฒ๋ฅผ ์ฌ์์ํด ์ค๋ค.
2) ๋น๋ฐ๋ฒํธ ์ํธํ
Bycrpt ์ด์ฉ : bcrypt์ฌ์ดํธ๋ฅผ ๋ณด๋ฉฐ ์งํํ๋ค. salt๋ฅผ ํตํด ์ํธํ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ง๋ ๋ค. ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฐ๊ฟ ๋๋ง ์๋ํ๋๋ก ํ๋ค.
3) ๋ก๊ทธ์ธ
login route ์์ฑ -> User.findOne()์ ํตํด DB์์ ์์ฒญํ ์ด๋ฉ์ผ ์ฐพ๊ณ ๊ฐ์์ง ํ์ธ -> Bcrypt๋ฅผ ์ด์ฉํ์ฌ plain ๋น๋ฐ๋ฒํธ์ ์ํธํ๋ ๋น๋ฐ๋ฒํธ๊ฐ ๊ฐ์์ง ํ์ธ -> ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๊ฐ ๋ชจ๋ ๊ฐ๋ค๋ฉด token์ ์์ฑํ๊ณ cookie์ ์ ์ฅ
4) Auth
ํ์ด์ง ์ด๋ ์ ๋ก๊ทธ์ธ ์ฌ๋ถ, ๊ด๋ฆฌ์ ์ ์ ์ธ์ง ํ์ธํ๋ค.
cookie์ ์ ์ฅํด ๋ token์ server๋ก ๋ถํฐ ๊ฐ์ ธ์์ ๋ณตํธํ -> user id๋ฅผ ์ป๊ณ DB์์ ์ ์ ๋ฅผ ์ฐพ๊ณ token๊ณผ ์ ์ ์ ๋น๊ตํ๋ค.
์ฟ ํค์ ๊ฐ๋ค๋ฉด Authentication True, ์ผ์นํ์ง ์์ผ๋ฉด False
5)๋ก๊ทธ์์
๋ก๊ทธ์์ route๋ฅผ ๋ง๋ค๊ณ DB์์ ์ ์ ๋ฅผ ์ฐพ์ ํ ํฐ์ ์ง์์ค๋ค.
'Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Front-end] React JS๋ก ํด๋ผ์ด์ธํธ(client) ๊ตฌํ (0) | 2021.11.03 |
|---|