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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(18)
[์„œ๋ฒ„๊ฐœ๋ฐœ์บ ํ”„] ์ธ์ฆ ์„œ๋ฒ„ - Spring Security + JWT ์„œ๋ฒ„๊ฐœ๋ฐœ์บ ํ”„์˜ ๋‘ ๋ฒˆ์งธ ๊ฐœ์ธ ๊ณผ์ œ๋กœ ์ธ์ฆ ์„œ๋ฒ„ ๊ตฌ์ถ•์ด ์ฃผ์–ด์กŒ๋‹ค. ์ธ์ฆ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉฐ ์‚ฌ์šฉํ–ˆ๋˜ ๊ธฐ์ˆ ๊ณผ ์ด์Šˆ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์Šคํ”„๋ง์—์„œ๋Š” ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค์˜ ์‚ฌ์šฉ์„ ์‰ฝ๊ฒŒ ์ปจํŠธ๋กค ํ•  ์ˆ˜ ์žˆ๋„๋ก Spring Security๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ์ ์šฉํ•˜๋ฉฐ ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์œ ํŠœ๋ธŒ ๊ฐ•์ขŒ์™€ happydaddy๋‹˜์˜ ํฌ์ŠคํŒ…์ด ํฐ ๋„์›€์ด ๋˜์—ˆ๋‹ค. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋Š” ์Šคํ”„๋ง์˜ Dispatcher Servlet ์•ž๋‹จ์— ํ•„ํ„ฐ๋ฅผ ๋“ฑ๋ก์‹œ์ผœ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๊ฐ€๋กœ์ฑˆ๋‹ค. ์ด ํ›„ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ๊ถŒํ•œ์ด ์—†์„ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚จ๋‹ค. ๋‚˜๋Š” API ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ํ† ํฐ ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ต์‹  ํ•  ๊ณ„ํš์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋งž๋Š” ์‹œํ๋ฆฌํ‹ฐ ์„ค์ •๊ณผ ๋”๋ถˆ์–ด JWT๋ฅผ ์œ„ํ•œ ํ•„ํ„ฐ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. Spring Securi..
๐Ÿš€ ์„œ๋ฒ„๊ฐœ๋ฐœ์บ ํ”„ 4๊ธฐ ๐Ÿ’ป 2020 ์Šค๋งˆ์ผ๊ฒŒ์ดํŠธ ์„œ๋ฒ„๊ฐœ๋ฐœ์บ ํ”„ 4๊ธฐ ์Šค๋งˆ์ผ๊ฒŒ์ดํŠธ์—์„œ ์šด์˜ํ•˜๋Š” ์„œ๋ฒ„๊ฐœ๋ฐœ์บ ํ”„ 4๊ธฐ์— ํ•ฉ๊ฒฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค(thanks to 1ilsang). ์„œ๋ฒ„๊ฐœ๋ฐœ์บ ํ”„๋Š” ์Šค๋งˆ์ผ๊ฒŒ์ดํŠธ์—์„œ ์šด์˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด์ง€๋งŒ, ๋ถ„์•ผ์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊พธ๋Š” ๋ชจ๋“  ๋ฏธ๋ž˜ ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. 1์ฃผ์ฐจ์—๋Š” ์บ ํ”„์žฅ๋‹˜์˜ ๊ธฐ๋ณธ ๊ฐ•์˜์™€ ๋”๋ถˆ์–ด ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๊ณ , ์˜คํ‹ฐ ๋•Œ ๊ตฌ์„ฑํ–ˆ๋˜ ํŒ€๋ผ๋ฆฌ ๋‘ ๋‹ฌ๊ฐ„ ์ง„ํ–‰ ๋  ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐํšํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ๐Ÿ“ ๊ต์œก๊ณผ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ 1์ฃผ์ฐจ์—๋Š” ์บ ํ”„์žฅ๋‹˜๊ป˜์„œ ๋งค์ผ ๋‘ ์‹œ๊ฐ„์ •๋„ ๊ต์œก์„ ์ง„ํ–‰ํ•ด์ฃผ์…จ๋‹ค. ๊ธฐ๋ณธ ๊ต์œก์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ, ๊ฐœ๋ฐœ์— ์œ ์šฉํ•œ ํˆด ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์˜ ์ฃผ์ œ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค. ๊ต์œก๊ณผ ๋”๋ถˆ์–ด ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋„ ์ง„ํ–‰๋˜์—ˆ๊ณ , 1์ฃผ์ฐจ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋Š” URL Shortener๋ฅผ ๊ฐœ..