์ด์ ํ๋ฃจ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ์์ด, ์ฌ๋ฌ ์์ฒญ์ด ์๋ค๊ฐ๋ค ํ๋ ๊ณผ์ ์ ์ฉ์ผ๋ก ๊ตฌํํด์
๊ตฌ๊ธ OAuth ๊ฐํธ ํ์๊ฐ์ ์ ๊ตฌํํด๋ณด์์๋ค.
์ด๋ฒ์๋ Spring Security์ OAuth2 Client ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๊ฟ๋ณด์๋ค.
์ด ๊ณผ์ ์์ ์๊ฐ๋ณด๋ค ๊ณ ์ํ๋ค.
์ด์ ๋ Spring Security ๋ฒ์ ์ด ๋ฌด๋ ค 6.2.7์ด์๊ธฐ ๋๋ฌธ์ด๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ 6 ๋ฒ์ ์ด์์ ์ด๋ป๊ฒ ์ค์ ํด์ผ ํ๋์ง์ ๋ํ ๊ฐ์๋ ๊ต์ฌ๊ฐ ๊ฑฐ์ ์์๊ณ ,
๊ณต์ ๋ฌธ์๋ฅผ ๋ค์ ธ๋ด๋ ์ ๋ชป์ฐพ๊ฒ ์ด์ ๊ณ ์ํด๊ฐ๋ฉด์ ๊ฒจ์ฐ๊ฒจ์ฐ ์ค์ ํ๋ค.
๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์, ์คํ๋ง ํํฐ ์ฒด์ธ์ ์ํ๋ฆฌํฐ ํํฐ๋ฅผ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ด์๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ 5.7.x ๋ฒ์ ์์๋ SecurityConfig ํ์ผ์ด WebSecurityConfigurerAdapter๋ฅผ ์์๋ฐ๊ณ ,
configure() ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ์ด๊ณณ์์ ์ธ์ฆ, ์ธ๊ฐ์ ๋ํ ์ค์ ์ ์งํํ๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ 6.2.x ๋ฒ์ ์์๋ WebSecurityConfigurerAdapter ํด๋์ค๊ฐ ์ฌ๋ผ์ก๊ณ (deprecated๋ ๊ฒ๋ ์๋๋ผ ์์ ๋น ์ก๋ค!!)
์ํ๋ฆฌํฐ ํํฐ ์ฒด์ธ์ ๋น์ผ๋ก ๋ฑ๋กํด์ผ ํ๋ค. ์ด ์ํ๋ฆฌํฐ ํํฐ ์ฒด์ธ์์ ์ธ์ฆ, ์ธ๊ฐ์ ๋ํ ์ค์ ์ ํด์ผ ํ๋ค.
์ ์ฒด ์์ค์ฝ๋๋ ๊นํ๋ธ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ ์ ์ฅํด๋์๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ๋์ ํ๋ฉด์ ๋ฌ๋ผ์ง ๋ ํ๋๋, ํ๋ก ํธ ์๋ฒ์ OAuth ์ธ์ฆ ์์ฒญ ๋ถ๋ถ์ด๋ค.
๊ธฐ์กด ๋ฐฉ์์์๋, ํ๋ก ํธ์๋ ์๋ฒ์์ OAuth ์ธ์ฆ ํ์ด์ง๋ก ์ง์ ์์ฒญ์ ๋ณด๋์๋ค.
๊ทธ๋ฌ๋ ์ํ๋ฆฌํฐ ๋์ ํ, OAuth ์ธ์ฆ ํ์ด์ง๋ก์ ์์ฒญ์ ๋ฐฑ์๋ ์๋ฒ์ `/oauth2/authorization/google` url๋ก๋ถํฐ ์์๋๋ค.
๋ฐ๋ผ์ ํ๋ก ํธ ์๋ฒ๋ ํด๋น ๋ฐฑ์๋ ์๋ฒ์ ์๋ํฌ์ธํธ๋ก GET์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ๋์๋ค.
- ์๋ํ๋ฉด ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ OAuth ์ธ์ฆ์ ๋ชจ๋ ํ๋ฆ(OAuth ์ธ์ฆ ํ์ด์ง๋ก ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ๋ถํฐ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ฐ์์ค๋ ๊ฒ๊น์ง ๋ชจ๋!)์ ๊ด๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
- ํ๋ก ํธ ์๋ฒ์์ ์ง์ OAuth ์๋ฒ๋ก ์ธ์ฆ ์์ฒญ์ ๋ณด๋๋๋, authorization_request_not_found ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋๋ก ๋์ํ์ง ์์๋ค.
- ์ด์ ๋ ํ๋ก ํธ ์๋ฒ์์ ์ง์ OAuth ์๋ฒ๋ก ์ธ์ฆ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒฝ์ฐ, ํ๋ก ํธ ์๋ฒ์์ ์ค์ ํ state ํ๋ผ๋ฏธํฐ์ ๊ฐ๊ณผ, Spring Security์์ ๋ด๋ถ์ ์ผ๋ก ์์ฑํ state๊ฐ์ ์ถฉ๋์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ด๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๊ธฐ์ต๋๋ ๊ฑด ์ด์ ๋์ด๊ณ ,
์ ์ฒด ํ๋ฆ์ ์ ์ ๋ฆฌํด๋ณด๋ฉด์ ์ฝ๋๋ฅผ ๊ณ ๋ํ์์ผ๋ด์ผ๊ฒ ๋ค.
'๊ฐ์ธ ๊ณต๋ถ > WEB-Spring,SpringBoot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ๋ง๋ถํธ h2 database, h2 console ์ค์ (0) | 2025.03.06 |
---|---|
[JPA] ddl-auto ์ต์ (0) | 2024.11.19 |
[TIL] Spring Security, OAuth2 Client ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ์ง ์๊ณ ๊ตฌ๊ธ OAuth ํ์๊ฐ์ ๊ตฌํํ๊ธฐ (2) | 2024.11.17 |
์คํ๋ง ์ํ๋ฆฌํฐ & OAuth๋ก ๊ตฌ๊ธ ๊ฐํธ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์ํค๊ธฐ (2) | 2024.11.12 |
[TIL] SpringSecurity ๊ธฐ๋ณธ ์ค์ ๊ณต๋ถํ๋ฉฐ ์๊ฒ ๋ ์ (0) | 2024.11.10 |