728x90
๋ฐ˜์‘ํ˜•

cookie 5

Token] JWT (JSON Web Token)

์ธ์ฆํ† ํฐ์˜ ๋Œ€ํ‘œ์ธ JWT์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (๋‹ค๋ฅธ ํ† ํฐ์ด ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ...) JWT(JSON Web Token)๋Š” ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”์‹œํ‚จ JSONํ˜•ํƒœ์˜ ์„œ๋ช…๋œ ํ† ํฐ์ž…๋‹ˆ๋‹ค. ์ €๋ฒˆ ๊ธ€์—์„œ ๋ฐฐ์› ๋˜ ํ† ํฐ์ธ์ฆ์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹?์ž…๋‹ˆ๋‹ค. https://jwt.io/ ํŠน์ง• JWTํ† ํฐ์€ ๋ฐœ๊ธ‰ํ•˜๋ฉด ๋ณ„๋„๋กœ ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ํšจ์‹œ๊ฐ„์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. JWTํ† ํฐ์„ ์‚ฌ์šฉํ•˜๋ฉด DB์กฐํšŒ๋ฅผ ํ•˜์ง€ ์•Š๊ณ , ์ธ์ฆ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๋ณ€์กฐ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก์—์„œ ๋ณ„๋„์˜ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. (ํด๋ผ์ด์–ธํŠธ์—์„œ ์ฃผ๋กœ ์ฟ ํ‚ค๋‚˜ ์›น์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•ด์„œ ๊ด€๋ฆฌ) ์œ ํšจ๊ธฐ๊ฐ„์œผ๋กœ Auth๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๊ฐ„์„ ์งง๊ฒŒ ํ•˜๋ฉด ์ž์ฃผ ๋กœ๊ทธ์ธ ํ•ด์•ผ ๋˜๊ณ , ๊ธธ๊ฒŒ ํ•˜๋ฉด ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ† ํฐ์˜ ๊ธธ์ด๊ฐ€..

Web 2023.07.27

Token] Token๋ž€? ์ •์˜

Cookie, Session์— ์ด์–ด ํ† ํฐ๊ณผ ๊ด€๋ จ๋œ Token์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ(Token)์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ธ์ฆ๋˜์—ˆ๋‹ค๋Š” ์œ ์ผํ•œ ๊ฐ’์œผ๋กœ ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ์ด์ œ ํ† ํฐ์ด๋ผ๊ณ  ์นญํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆํ•˜๋Š” ํ† ํฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ, ํ—ค๋”์— ํ† ํฐ์„ ์‹ฌ์–ด์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ ํ† ํฐ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹นํ•˜๋Š” ๊ถŒํ•œ์— ๋งž์ถฐ ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ—ค๋”์— ํ† ํฐ์„ ํ•จ๊ป˜ ๋ณด๋‚ด ์ธ์ฆ๋ฐ›์€ ์‚ฌ์šฉ์ž์ธ์ง€ ํ™•์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (Cookie์™€ Session์—์„œ ์„ค๋ช…ํ–ˆ๋˜ ๊ฒƒ๋“ค๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.) ํ† ํฐ์—๋Š” ์š”์ฒญํ•œ ์‚ฌ๋žŒ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— DB๋ฅผ ์กฐํšŒํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ํฐ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ž‘ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์—..

Web 2023.07.23

Session์ด๋ž€?

Cookie์— ์ด์–ด Session์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜(Session)์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ธŒ๋ผ์šฐ์ €๋ผ๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ •์˜๋ฅผ ์ข€ ์ฐพ์•„๋ณด๋‹ˆ, ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๊ฐ™์€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์š”๊ตฌ๋ฅผ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ผฐ๋‹ค๊ฐ€ ๋„๋Š” ๋™์•ˆ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŠน์ • ๋„๋ฉ”์ธ์— ์ ‘์†์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ session-id๋ผ๋Š” ๊ฒƒ์„ ๋ถ€์—ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด session-id๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฐ๊ฐ ์‚ฌ์šฉ์ž๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋™์ž‘์ˆœ์„œ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ๋Š” ์‘๋‹ต์— session-id๋กœ ์‚ฌ์šฉํ•  ๊ฐ’์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋งŒ๋“  ๊ฐ’์„ cookie์— ๋‹ด์•„..

Web 2023.07.20

Cookie] ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

2023.07.15 - [Web] - Cookie ์œ„ ๊ธ€์—์„œ ๋‹ค๋ค˜๋˜ ์ฟ ํ‚ค์˜ ๋ณด์•ˆ์ƒ ์œ„ํ—˜์ด ๋†’์€ ๋‹จ์ ๋“ค์ด ๋งŽ์Œ์—๋„ ๋ถˆ๊ณผํ•˜๊ณ  ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด์„œ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์— ๋ฌด๋ฆฌ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๋„ ๋น ๋ฆ…๋‹ˆ๋‹ค. ์ฟ ํ‚ค์˜ ์ฃผ๋œ ์‚ฌ์šฉ์ฒ˜๋Š” ID ์ €์žฅ, ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€ ํŒ์—…์ฐฝ์— ์žˆ๋Š” ๋‹ค์‹œ ๋ณด์ง€ ์•Š๊ธฐ ์ตœ๊ทผ ๊ฒ€์ƒ‰ ๊ธฐ๋ก ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. HTTP ํ†ต์‹  Httpํ”„๋กœํ† ์ฝœ ํŠน์ง•์ƒ ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ/์‘๋‹ต ํ›„์— ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋งŽ์€ ์š”์ฒญ์„ ๊ตฌ๋ถ„ ์ง“๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฟ ํ‚ค๋Š” ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ํ•ญ์ƒ ์ฟ ํ‚ค๋ฅผ ๋‹ด๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํŠน์ง• ๋•๋ถ„์— ์„œ๋ฒ„๋Š” ์ˆ˜๋งŽ์€ ์š”์ฒญ์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•ž์—์„œ ์˜ˆ๋กœ ๋“ค์—ˆ..

Web 2023.07.16

Cookie] ์ •์˜

์ฟ ํ‚ค๋Š” ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์ธก์— ์ €์žฅํ•œ ํ›„, ๋‹ค์‹œ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ์ˆ  ํ˜น์€ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” Httpํ”„๋กœํ† ์ฝœ ์ƒ Http ํ—ค๋”๋ฅผ ํ†ตํ•ด ์†ก์ˆ˜์‹ ํ•˜๋„๋ก ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ง„๊ณผ ๊ฐ™์ด dev-tool์—์„œ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ๋‹จ์ˆœํžˆ name๊ณผ value๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„์— request ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๋Š” response๋ฅผ ๋‚ ๋ ค์ค๋‹ˆ๋‹ค. ์ด response์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ request์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ €์žฅํ•˜๊ณ ์ž ํ•˜๋Š” ์ฟ ํ‚ค๊ฐ€ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ Set-Cookie ์„œ๋ฒ„์—์„œ ์ฟ ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋‚ผ ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. Set-Cookie: Name=Value Set-Cookie..

Web 2023.07.15
728x90
๋ฐ˜์‘ํ˜•