๐ ํ๊ณ
์ด๋ฒ ์น์
์ ์คํ๋ง์ ๋ณด์์ ์ด๋ป๊ฒ ์ ์ฉํ๋์ง, ์๋ฒ ๋ฐฐํฌ๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ๋์ง ๋ฐฐ์ ๊ณ Spring WebFlux๋ ๊ฐ๋จํ๊ฒ ๊ฒฝํํด๋ณด์๋ค. Spring Security๋ ์์ง ๋ถ์กฑํ ๊ฒ ๊ฐ์ ๋ค์ ํ๋ก์ ํธ์์ ์ง์ ์ ์ฉํ๋ฉด์ ๋ ์์ธํ ๋ฐฐ์๋ณด๊ณ ์ถ๋ค. ๋์ปค๋ ์ฒ์ ์ฌ์ฉํด๋ดค๋๋ฐ ์ฌ๋ฌ ์๋ฒ๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋์ธ ์ ์์๊ณ , ์ด๋ฐ ๊ธฐ์ ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ ์ ๊ธฐํ๊ณ ์ฌ๋ฐ์๋ค.
์ด์ ๋๋์ด ๋ถํธ์บ ํ์์ ํ๋ก์ ํธ์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋ด์ผ ๋๋ค์ผ๋ก ํ๋น๋ฉ์ ํ๊ฒ ๋๋๋ฐ, ์ด๋ค ํ์์ ๋ง๋๊ฒ ๋ ์ง ๊ฑฑ์ ๋ ๋๊ณ ๊ธฐ๋๋ ๋๋ค.
ํ ๋ฌ ์ ์ ๋๊ธฐ๋ค๊ณผ ๊ฐ์ธ์ ์ผ๋ก ์์ํ ํ๋ก์ ํธ๋ ๊ฑฐ์ ๋ง๋ฌด๋ฆฌ๋๋ค. ์ฝ๋ ๋ฆฌํฉํ ๋ง๊ณผ ๋ฐฐํฌ๋ง ํ๋ฉด ๋๋๋ค. ๋นจ๋ฆฌ ๋๋ผ ์ ์์ ๊ฒ ๊ฐ์๋ ํ
์คํธ๋ค์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ค์ ๋ฆ๊ฒ๊น์ง ์ ์ ๋ชป ์ด๋ฃฌ ์ ๋ ์์๊ณ ๋์ ํ ํด๊ฒฐํ์ง ๋ชปํ ๊ฒ ๊ฐ์๋ ๋ฌธ์ ๋ค๋ ์์๋๋ฐ ๊ทธ๋์ ๊ทธ๋ฐ์ง ์์ฑ๋ ํ๋ฉด์ ๋ณด๊ณ ๋ฟ๋ฏํจ์ ๋ง์ด ๋๊ผ๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ ํฌ๊ฐ ์ง์์ง๊ธฐ๋ ํ๊ณ , Merge Conflict ํด๊ฒฐ์ด ์๋ชป๋๊ธฐ๋ ํ๋ ๋ฑ ํ์
์์ ์๊ธธ ์ ์๋ ๋ฌธ์ ๋ค์ ๋ง์ด ๊ฒฝํํด๋ณด์๋ค. ํผ์ ํด๊ฒฐ์ด ์ด๋ ค์ด ๋ฌธ์ ๋ ๋ง์๋๋ฐ ์ด๋ฐ ๋ฌธ์ ๋ ๋ค ๊ฐ์ด ๊ณต์ ํ๊ณ ๊ฐ์ด ๋๋ฒ๊น
๋ ํด๋ณด๋ฉฐ ํด๊ฒฐํ๋ค. ์ผํญ ์ฐ์ฐ์ NPE ๋ฌธ์ , ํ๊ฒฝ์ ๋ฐ๋ผ ํ
์คํธ๊ฐ ํต๊ณผ๋์ง ์๋ ๋ฌธ์ ๋ฑ ๋ง์ ์ด๋ ค์๋ค์ด ์์๋๋ฐ ์ด๋ฐ ์๊ฐ๋ค์ ํตํด ์ฌ๋ฌ๊ฐ์ง ์ง์์ ์ฒด๋ํ ์ ์์๊ณ ํด๊ฒฐํด๋๊ฐ๋ ์ฌ๋ฏธ๊ฐ ์์๋ค.
์ ์ผ ์ด๋ ค์ ๋ ๋ถ๋ถ์ ์ปจํธ๋กค๋ฌ ๋จ์ ํ
์คํธ ์ฝ๋ ์์ฑ์ด์๋ค. JWT ํ ํฐ ์์ด ํ
์คํธ๋ฅผ ํ๊ณ ์ถ์ง๋ง, ์๋ฌด๋ฆฌ ๊ฒ์ํด๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ๋ค. ๊ฒฐ๊ตญ ์ข์ ๋ฐฉ๋ฒ์ ์๋์์ง๋ง ํ
์คํธ ํต๊ณผ๋ฅผ ์ํด TestConfiguration์ ๋ง๋ค๊ณ , ํ
์คํธ๋ฅผ ํ ๋๋ง๋ค JWT ํ ํฐ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
๊ฐ์ธ์ ์ผ๋ก ์ฑํ
์ ๊ตฌํํด๋ณด๊ณ ์ถ์ด์ ์์ผ ํต์ ์ ๋ฐฐ์ฐ๊ณ ๋ฐ๋๋ผ JS๋ก ์คํ๋ง๊ณผ ์ฐ๊ฒฐํ๊ณ ์ด๋ฅผ ํ๋ก์ ํธ์ ์ ์ฉํ๋ค. ๊ตฌํ ๊ณผ์ ์์ ํค๋๋ก JWT ํ ํฐ์ ๋ณด๋๋๋ฐ Spring Security๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฐพ์๋ณด๋ ์น ์์ผ์ ํ๋กํ ์ฝ์ด ๋ฌ๋ผ์ HTTP์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก๋ ํค๋๋ฅผ ๋ณด๋ผ ์๊ฐ ์์๋ค. ๊ทธ๋์ EventListener๋ฅผ ์ฌ์ฉํด ์ธ์
์ด ์ฐ๊ฒฐ๋์ ๋ SessionConnectedEvent์์ ํค๋๋ฅผ ๋ฐ์์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์์ ๊ฒ ๊ฐ์๋ฐ ์์ง์ ์ ๋ชจ๋ฅด๊ฒ ๋ค. ์ฌ์ ๊ฐ ์๊ธฐ๋ฉด ์น์์ผ์ ์ ๋๋ก ๋ฐฐ์์ ๋ฆฌํฉํ ๋ง ํด๋ด์ผ๊ฒ ๋ค.
๐ Section 4์์ ๋ฐฐ์ด ๋ด์ฉ
- [์ธ์ฆ/๋ณด์] ๊ธฐ์ด
- [Spring Security] Spring Security ๊ธฐ๋ณธ
- [Spring Security] JWT ์ธ์ฆ (Authentication)
- [Spring Security] OAuth2 ์ธ์ฆ (Authentication)
- [Cloud] ์ด์ ํ๊ฒฝ ๊ตฌ์ฑ
- [Cloud] ๋ฐฐํฌ ์ปจํ ์ด๋
- [Cloud] ๋ฐฐํฌ ์๋ํ
- [Cloud] ์ด์ ์ ๋ต
- [Spring WebFlux] ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ
- [Spring WebFlux] Project Reactor
- [Spring WebFlux] Spring WebFlux
- [์๋ก ํ๋ก์ ํธ] ์น ์ ํ๋ฆฌ์ผ์ด์ ์ค๊ณ