๋ฐ์ํ oauth25 [OAuth2] OAuth2 ๋ก๊ทธ์ธ ํ SuccessHandler ๊ตฌํ @RequiredArgsConstructor@Componentpublic class OAuth2SuccessHandler extends SimpleUrlAuthenticationSuccessHandler { public static final String REFRESH_TOKEN_COOKIE_NAME = "refresh_token"; public static final Duration REFRESH_TOKEN_DURATION = Duration.ofDays(14); public static final Duration ACCESS_TOKEN_DURATION = Duration.ofDays(1); public static final String REDIRECT_PATH = "/artic.. 2025. 5. 17. [OAuth2] ๋ด๊ฐ ๋ณด๋ ค๊ณ ๋ง๋ OAuth2 ํ๋ฆ ์ ๋ฆฌ ์๊ฐ ์์๋๋ก [1] ํด๋ผ์ด์ธํธ๊ฐ ๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ -> ์๋ฒ ์์ฒญ GET /oauth2/authorization/kakao Spring Security๊ฐ ํํฐ ์ฒด์ธ์์ ์ฒ๋ฆฌ,OAuth2AuthorizationrequestRedirectorFilter๊ฐ ๋์ [2] ์๋ฒ : OAuth2AuthorizationRequest ๊ฐ์ฒด ์์ฑOAuth2AuthorizationRequest authorizationRequest = OAuth2AuthorizationRequest .authorizationCode() .clientId("KAKAO_CLIENT_ID") .authorizationUri("https://kauth.kakao.com/oauth/authorize") .redirectUr.. 2025. 5. 16. [OAuth2] OAuth2 ์ฌ์ฉ์ ์๋น์ค ๊ตฌํํ๊ธฐ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์กฐํํด์, ์ ์ ํ ์ด๋ธ์ ์ ๋ณด๊ฐ ์๋ ์ฌ์ฉ์๋ผ๋ฉด๋ฆฌ์์ค ์๋ฒ์์ ์ ๊ณตํด์ฃผ๋ ์ด๋ฆ์ ์ ๋ํด์ค. ์ ์ ํ ์ด๋ธ์ ์ ๋ณด๊ฐ ์๋ ์ฌ์ฉ์๋ผ๋ฉด์ ์ฌ์ฉ์๋ฅผ ์์ฑํด์ DB์ ์ ์ฅ @Table(name = "users")@NoArgsConstructor(access = AccessLevel.PROTECTED)@Getter@Entitypublic class User implements UserDetails { // ์๋ต // ๋๋ค์ ํ๋ ์ถ๊ฐ @Column(name = "nickname", unique = true) private String nickname; // ๋น๋ ํจํด์ ๋๋ค์ ์ถ๊ฐ @Builder public User(String email, String .. 2025. 5. 11. [OAuth] ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ1 ( ํ ํฐ ๋ฐ๊ธ๋ฐ๊ธฐ) ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ํ๋ ค๋ฉด, ์ธ์ฆ์๋ฒ์๊ฒ ํ ํฐ ์ ๊ณต ๋ฐ์์ผ๋จ. 1. ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ์ฝ์ ๋ค์ด๊ฐ์https://cloud.google.com/cloud-console https://cloud.google.com/cloud-console cloud.google.com [์ฝ์] ๋ฒํผ ํด๋ฆญ. (์ต์ด๋ฉด ์ฌ์ฉ ๋์ ํ๋ฉด ๋ฐ๊ฑฐ์. ๋์ํ๊ณ ์ ์ฐจ ๋ง์น๋ฉด ๋จ) 2. ์ผ์ชฝ ์์ [ํ๋ก์ ํธ ์ ํ] ํด๋ฆญ, 2-1. [์ ํ๋ก์ ํธ] ๋ฒํผ ํด๋ฆญ 3. ํ๋ก์ ํธ ์ด๋ฆ, ์กฐ์ง ์์์ ์ ์ค์ ํ๊ณ [๋ง๋ค๊ธฐ] ๋ฒํผ ํด๋ฆญ 4. ์ค๋ฅธ์ชฝ ์ ์๋ฆผ(์ข ๋ชจ์)์ ๋ณด๋ฉด ํ๋ก์ ํธ๊ฐ ๋ณด์๊ทธ๊ฑฐ ํด๋ฆญ 5. [API ๋ฐ ์๋น์ค] - [์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด] ํด๋ฆญ 6. ์ค๋ฅธ์ชฝ ์๋จ์ [๋์ ํ๋ฉด ๊ตฌ์ฑ] ํด๋ฆญ 7. ์ฑ ์์๋ User Ty.. 2025. 5. 7. [OAuth] OAuth๋? ํ๋ฆ, ์ฉ์ด ์ ๋ฆฌ OAuth๊ฐ ๋ญ๊น?OAuth๋ ์ 3์ ์๋น์ค์ ๊ณ์ ๊ด๋ฆฌ๋ฅผ ๋งก๊ธฐ๋ ๋ฐฉ์์.ex) ์นด์นด์ค๋ก ๋ก๊ทธ์ธํ๊ธฐ, ๋ค์ด๋ฒ๋ก ๋ก๊ทธ์ธํ๊ธฐ ๋ฑ๋ฑ.. OAuth ์ฉ์ด ์ ๋ฆฌ๋จผ์ ํ๊ฒ ์. ๋ฆฌ์์ค ์ค๋(resource owner)์ธ์ฆ ์๋ฒ์ ์์ ์ ์ ๋ณด์ฌ์ฉ์ ํ๊ฐํ๋ ์ฃผ์ฒด.์๋น์ค ์ด์ฉํ๋ ์ฌ์ฉ์๊ฐ ๋ฆฌ์์ค ์ค๋์. ๋ฆฌ์์ค ์๋ฒ(resource server)๋ฆฌ์์ค ์ค๋ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ , ์ค๋์ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ ์ฃผ์ฒด.๋ค์ด๋ฒ, ์นด์นด์ค, ๊ตฌ๊ธ์ด ๋ฆฌ์์ค ์๋ฒ์. ์ธ์ฆ ์๋ฒ(Authorization server)ํด๋ผ์ด์ธํธ์๊ฒ ๋ฆฌ์์ค ์ค๋์ ์ ๋ณด์ ์ ๊ทผํ ์ ์๊ฒ ํ ํฐ ๋ฐ๊ธํ๋ ์ญํ ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ (์ค์ ์ด์์์๋ ์นด์นด์ค๊ฐ์ ๊ธฐ๊ด์ด ๋ฆฌ์์ค ์๋ฒ, ์ธ์ฆ์๋ฒ ์ญํ ๋์์ ์ํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์) ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ (Client Applica.. 2025. 5. 7. ์ด์ 1 ๋ค์ ๋ฐ์ํ