๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Web

[Back-end]Node js๋กœ ์„œ๋ฒ„(server) ๊ตฌํ˜„

by eugene663 2021. 11. 3.

๋ชฝ๊ณ 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