[Spring Security] Session์™€ Token

ํ˜คยท2022๋…„ 11์›” 23์ผ
0

SpringSecurity

๋ชฉ๋ก ๋ณด๊ธฐ
8/13
post-thumbnail

๐Ÿ’ก ์ฟ ํ‚ค์™€ ์„ธ์…˜

์„ธ์…˜ ๊ธฐ๋ฐ˜ & ํ† ํฐ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช…

HTTP ํ”„๋กœํ† ์ฝœ์€ ๋ฌด์ƒํƒœ์„ฑ(Stateless)์œผ๋กœ ์ธํ•ด ํด๋ผ์ด์–ธํŠธ์˜ Request์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ Response๋ฅผ ์ˆ˜์‹ ํ•˜๊ฒŒ ๋˜๋ฉด ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless)์˜ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธ ์ธ์ฆ์„ ์œ„ํ•ด ์š”์ฒญ์„ ๋ณด๋‚ด๋”๋ผ๋„ ๋ฌด์ƒํƒœ์„ฑ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ์˜ ์ƒํƒœ๊ฐ€ ์œ ์ง€๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ณด์•ˆํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค์™€ ์„ธ์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•™์Šตํ–ˆ๋‹ค.

์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช…

์„ธ์…˜์€ ํด๋ผ์ด์–ธํŠธ์˜ Request์— ์ž๋™์œผ๋กœ ์„œ๋ฒ„์— ์ „๋‹ฌ๋˜๋Š” ์ฟ ํ‚ค์— ์„ธ์…˜ Id๊ฐ€ ๋‹ด๊ฒจ ์ „๋‹ฌ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋Š” ์ฟ ํ‚ค์™€๋Š” ๋‹ฌ๋ฆฌ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌ๋œ๋‹ค.

์ด ๋ง์€ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์˜ ์„ธ์…˜ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์—๊ฒ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ• ์„ธ์…˜ Id๋งŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โ˜๏ธ์ฆ‰, ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช… ๋ฐฉ์‹์ด๋ž€ ์„œ๋ฒ„ ์ธก์— ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์„ธ์…˜ ํ˜•ํƒœ๋กœ ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช…์˜ ํŠน์ง•

  • ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์˜ ์„ธ์…˜ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌ
  • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ์„ธ์…˜ID๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์˜ ์ฟ ํ‚ค์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๊ฐ€ resquest์‹œ ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋˜๋Š” ์‹œ์ ์— ํ•จ๊ป˜ ์ „์†ก๋˜๋ฉฐ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์ž„์„ ์ฆ๋ช…ํ•˜๋Š” ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์„ธ์…˜ID๋งŒ ํด๋ผ์ด์–ธํŠธ ์ชฝ์—์„œ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉ
  • ์„œ๋ฒ„์—์„œ ์„ธ์…˜ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๋ณด์•ˆ์„ฑ ์ธก๋ฉด์—์„œ ์กฐ๊ธˆ ๋” ์œ ๋ฆฌ
  • ์„œ๋ฒ„์˜ ํ™•์žฅ์„ฑ ๋ฉด์—์„œ๋Š” ์„ธ์…˜ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๐Ÿง
ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ํ™•์žฅ๋˜์—ˆ์„ ๋•Œ HTTP ์š”์ฒญ์„ ๋ฐ›๋Š” ์„œ๋ฒ„๋ฅผ ์ง€์ •ํ•ด ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์—†๋‹ค.
๋งŒ์•ฝ ๋‚ด๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์„ ๋ฐ›์€ ์„œ๋ฒ„์˜ ์„ธ์…˜ ์ €์žฅ์†Œ์— ๋‚˜์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์ ธ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์„ธ์…˜ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ!
โ˜๏ธ ์„ธ์…˜ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ๋Š” ์™ธ๋ถ€ ์ €์žฅ์†Œ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์ž‘์—… ๋“ฑ์„ ํ†ตํ•ด ๋ณด์™„ํ•œ๋‹ค.

  • ์„ธ์…˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์ด ๊ฐ€์ค‘๋œ๋‹ค.
  • SSR ๋ฐฉ์‹์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•œ ๋ฐฉ์‹

ํ† ํฐ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช… ๋ฐฉ์‹๐Ÿช™

ํ† ํฐ๐Ÿช™(Token)

๋ฒ„์Šค ํ† ํฐ๋„ ์•ˆ์จ๋ดค๋Š”๋””..

๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋ฉด ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ† ํฐ์€ ์ด๋ฏธ ๋น„์šฉ์„ ์ง€๋ถˆํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ๊ฒƒ์ด๋‹ค.

โ˜๏ธ์ด์ฒ˜๋Ÿผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ์ธก๋ฉด์—์„œ์˜ ํ† ํฐ์€ ์‚ฌ์šฉ์ž์˜ ์ž๊ฒฉ ์ฆ๋ช… ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž.

์„œ๋ฒ„์— ์„ธ์…˜ ์ •๋ณด(์‚ฌ์šฉ์ž ์ฆ๋ช… ์ •๋ณด)๋ฅผ ์ €์žฅํ•ด๋†“๊ณ , ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ํ•  ๋•Œ๋งˆ๋‹ค ์„ธ์…˜ ID๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด ์‚ฌ์šฉ์ž์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช… ๋ฐฉ์‹๊ณผ๋Š” ๋‹ฌ๋ฆฌ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช… ๋ฐฉ์‹์€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์‹œ๋งˆ๋‹ค ์‚ฌ์šฉ์ž์˜ ์ž๊ฒฉ ์ฆ๋ช… ์ •๋ณด๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

ํ† ํฐ ๊ธฐ๋ฐ˜ ์ž๊ฒฉ ์ฆ๋ช… ๋ฐฉ์‹์˜ ํŠน์ง•

  • ํ† ํฐ์— ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ ๋ณ„๋„์˜ ๊ด€๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์ƒ์„ฑ๋œ ํ† ํฐ์€ ํด๋ผ์ด์–ธํŠธ์˜ Request๋ฅผ ๋ณด๋‚ผ ๋•Œ, header์— ํฌํ•จ๋˜์–ด ์‚ฌ์šฉ์ž๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • Request๋งˆ๋‹ค ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์ €์žฅ๋œ ํ† ํฐ์„ ๋ณด๋‚ด์•ผํ•˜๋ฏ€๋กœ ์„ธ์…˜์— ๋น„ํ•ด ๋” ๋งŽ์€ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์„œ๋ฒ„์—์„œ ํ† ํฐ์„ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์„ฑ ์ธก๋ฉด์—์„œ ์กฐ๊ธˆ ๋” ๋ถˆ๋ฆฌํ•˜๋‹ค.
  • ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ๋œ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ํ™•์ƒ์„ฑ ๋ฉด์—์„œ ์œ ๋ฆฌํ•˜๊ณ  ์„ธ์…˜ ๋ถˆ์ผ์น˜์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ํ† ํฐ์„ ๋ฌดํšจํ™” ์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค.
  • CSR ๋ฐฉ์‹์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•œ ๋ฐฉ์‹

๐Ÿง๋‹จ, ํ† ํฐ์— ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ํ† ํฐ์˜ ํŠน์„ฑ ์ƒ ์•”ํ˜ธํ™”๊ฐ€ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํƒˆ์ทจ๋  ์œ„ํ—˜์ด ํฌ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
โ˜๏ธ ํ† ํฐ์˜ ๋ฌดํšจํ™” ๋ฌธ์ œ๋Š” ํ† ํฐ์˜ ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์€ ์งง๊ฒŒ ์„ค์ •ํ•ด ๋ณด์™„ํ•œ๋‹ค.

profile
๐Ÿง‘โ€๐Ÿ’ป๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž, ์กฐ๊ธˆ์”ฉ ๊พธ์ค€ํ•˜๊ฒŒ

0๊ฐœ์˜ ๋Œ“๊ธ€