728x90
๋ฐ˜์‘ํ˜•

auth 3

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

Cookie] ์ •์˜

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

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