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

์Šคํ„ฐ๋””/JWT

Bearer ์ธ์ฆ vs. ์ฟ ํ‚ค ์ธ์ฆ vs. Basic ์ธ์ฆ ์ฐจ์ด์ 

๐Ÿ”‘ Bearer ์ธ์ฆ vs. ์ฟ ํ‚ค ์ธ์ฆ vs. Basic ์ธ์ฆ

1. Bearer ํ† ํฐ ์ธ์ฆ (JWT ๋“ฑ)

ํŠน์ง• ๋‚ด์šฉ

๊ฐœ๋… ํ† ํฐ์„ ์†Œ์ง€ํ•œ ์ž์—๊ฒŒ ๊ถŒํ•œ์ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ํ† ํฐ ์ž์ฒด์— ๊ถŒํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋ฉฐ, ๋ณดํ†ต HTTP ํ—ค๋”์˜ Authorization: Bearer \\<token\\> ํ˜•ํƒœ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
์œ ์—ฐ์„ฑ/์ค‘์‹ฌ ํ”„๋ก ํŠธ์—”๋“œ ์ค‘์‹ฌ, ์œ ์—ฐํ•จ - ์›น, ๋ชจ๋ฐ”์ผ, ๋‹ค๋ฅธ ์„œ๋ฒ„ ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Stateless ๋ฌด์ƒํƒœ(Stateless) - ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์„ธ์…˜์„ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์–ด **ํ™•์žฅ์„ฑ(Scalability)**์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.
๋ณด์•ˆ/๊ถŒํ•œ ํ† ํฐ ์„œ๋ช…์œผ๋กœ ๋ฌด๊ฒฐ์„ฑ์ด ๋ณด์žฅ๋˜๊ณ , Payload์— ์—ญํ•  ๊ธฐ๋ฐ˜ ์ธ๊ฐ€(Role-Based Authorization) ์ •๋ณด๋ฅผ ๋‹ด์•„ ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํ˜„๋Œ€์ ์ธ ์ธ์ฆ ๊ตฌ์กฐ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

2. ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์ธ์ฆ (์„ธ์…˜)

ํŠน์ง• ๋‚ด์šฉ

๊ฐœ๋… ์„œ๋ฒ„์— ์ €์žฅ๋œ ์„ธ์…˜ ์ •๋ณด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ์…˜ ID๋ฅผ ์ฟ ํ‚ค ํ˜•ํƒœ๋กœ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์œ ์—ฐ์„ฑ/์ค‘์‹ฌ ์„œ๋ฒ„ ์ค‘์‹ฌ, ๋ณด์•ˆ ์„ค์ •์— ๊ฐ•ํ•จ - ์ฃผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ์ฆ‰์‹œ ๊ถŒํ•œ ํšŒ์ˆ˜๊ฐ€ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
Stateless ์ƒํƒœ ๊ธฐ๋ฐ˜(Stateful) - ์„œ๋ฒ„๊ฐ€ ์„ธ์…˜ ์ €์žฅ์†Œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์„œ๋ฒ„ ๋ถ€ํ•˜์™€ ํ™•์žฅ์„ฑ์— ์ œ์•ฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณด์•ˆ/๊ฐ•์  ์ฟ ํ‚ค์— HttpOnly ์†์„ฑ์„ ์„ค์ •ํ•˜์—ฌ XSS ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ฐฉ์–ด๋ ฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.

3. Basic ์ธ์ฆ

ํŠน์ง• ๋‚ด์šฉ

๊ฐœ๋… ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ :๋กœ ์—ฐ๊ฒฐํ•œ ํ›„ Base64 ์ธ์ฝ”๋”ฉํ•˜์—ฌ ๋งค ์š”์ฒญ๋งˆ๋‹ค HTTP ํ—ค๋”์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. (Authorization: Basic \\<base64-encoded-string\\>)
์œ ์—ฐ์„ฑ/ํŠน์ง• ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ธ์ฆ ๋ฐฉ์‹์œผ๋กœ, ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (Stateless).
๋ณด์•ˆ/๋ฌธ์ œ์  ๋ณด์•ˆ์„ฑ์ด ๋งค์šฐ ๋‚ฎ์Œ - Base64๋Š” ์ธ์ฝ”๋”ฉ์ด์ง€ ์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์‰ฝ๊ฒŒ ๋””์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค. **HTTPS(SSL/TLS)**๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์— ๋งค์šฐ ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ฒ˜ ์ผ๋ฐ˜์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์ด๋‚˜ HTTPS ํ™˜๊ฒฝ์—์„œ API ์ ‘๊ทผ๊ณผ ๊ฐ™์ด ๋ณด์•ˆ ๋ฏผ๊ฐ๋„๊ฐ€ ๋‚ฎ๊ฑฐ๋‚˜ ๋‚ด๋ถ€ ํ†ต์‹ ์—๋งŒ ์ œํ•œ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

'์Šคํ„ฐ๋”” > JWT' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์„ธ์…˜ VS JWT ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ๋น„๊ต  (0) 2025.12.15