๋ชฉ๋ก๐Ÿ‘ฉ‍๐Ÿ’ป ๋ฐฑ์—”๋“œ(Back-End)/Node js (108)

๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[E-Commerce App with REST API] (6) cookie-parser & Refresh Token์œผ๋กœ ์žฌ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ (Access Token ์ฐจ์ด์ )

=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example! ๐ŸŒท login ์‹œ cookie ์ƒ์„ฑํ•˜๊ธฐ Cookie ํ—ค๋”๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ , ์ฟ ํ‚ค ์ด๋ฆ„์— ์˜ํ•ด ํ‚ค๊ฐ€ ์ง€์ •๋œ ๊ฐ์ฒด๋กœ req.cookies๋ฅผ ์ฑ„์›€ secret ๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•˜์—ฌ ์„ ํƒ์ ์œผ๋กœ ์„œ๋ช…๋œ(signed) ์ฟ ํ‚ค ์ง€์›์„ ํ™œ์„ฑํ™” secret ๋ฌธ์ž์—ด์€ ๋‹ค๋ฅธ ๋ฏธ๋“ค์›จ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก req.secret์„ ํ• ๋‹นํ•จ npm i cookie-parser ๐ŸŒท JWT(JSON Web Token) ์œ ์ €๋ฅผ ์ธ์ฆํ•˜๊ณ  ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ํ† ํฐ ํ† ํฐ์€ ์„ธ์…˜๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ โœ… Refresh token : ์ƒˆ๋กœ์šด access token์„ ์žฌ๋ฐœ๊ธ‰ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ๊ธฐ๊ฐ„์ด ๊ธด token ..

[E-Commerce App with REST API] (4) login ์ธ์ฆ by jwt & ์œ ์ €์˜ ์ •๋ณด post, get, delete, put

=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example! ๐ŸŒท login ์‹œ ์ •๋ณด๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ๊ธฐ์กด ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋™์ผํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ๐ŸŒท jwt (json webtoken) Header : ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํƒ€์ž… Payload : ๋ฐ์ดํ„ฐ SIGNATURE : ํ† ํฐ์„ ์ธ์ฝ”๋”ฉํ•˜๊ฑฐ๋‚˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ํ•  ๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์œ ํ•œ ์ฝ”๋“œ => Header ์™€ Payload๋ฅผ ํ•ฉ์นœ ๋ฌธ์ž์—ด์„ BASE64๋กœ ์ธ์ฝ”๋”ฉ => ์ธ์ฝ”๋”ฉํ•œ ๊ฐ’์„ Secret Key๋ฅผ ์ด์šฉํ•ด ํ—ค๋”์—์„œ ์ •์˜ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด์‹ฑ => ์ด ๊ฐ’์„ ๋‹ค์‹œ BASE64๋กœ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์ƒ์„ฑ ์ด ์„ธ ๋ถ€๋ถ„์„ ํ•ฉ์ณ์„œ ์•”ํ˜ธํ™”๋ฅผ ํ•œ ๊ฒƒ์ด JWT npm i jsonwebtoken ๐ŸŒท role์œผ๋กœ ์‚ฌ..