Spring OAuth2 - API 커스텀

Tadap·2023년 9월 13일
0

Spring Security

목록 보기
6/7

파라미터 커스텀

Security Config를 체인형식으로 묶어서 사용한다

http
			.oauth2Login(oauth2 -> oauth2
				.loginPage())

이때 개인설정을 넣을 수 있다.

예로들어 .authorizationEndpoint()baseUri를 변경하면 인증 요청 uri를 변경 가능하다 .redirectionEndpointConfig()baseUri를 변경하면 리다이렉션시 redirect 주소를 바꿔준다.

/loginPage는 로그인 페이지를 바꿔준다.

OAuth2AuthorizationRequestResolver 커스텀

AccessCode를 받을 때 uri에 정보를 담아서 보낸다. 이때 OAuth2.0표준 이외에 추가 정보를 담을 수 있다.
기본은 DefaultOAuth2AuthorizationRequestResolver가 사용중이가 이걸 Consumer<DefaultOAuth2AuthorizationRequest>를 구현하여 커스텀 가능하다

아래 2개를 구현해주면 된다.

public class CustomOAuth2AuthorizationRequestResolver implements OAuth2AuthorizationRequestResolver{
	
    @Override
    public OAuth2AUthorizationRequest resolve(HttpServletRequest request){
    };
    
    @Override
    public OAuth2AUthorizationRequest resolve(HttpServletRequest request, String clientRegistrationId){
    };
    
}

기본으로 처리 가능한건 기본으로 설정하고. 원하는 것만 커스텀으로 쓰는것도 가능하다

필터에서 적용은 아래처럼 하면 된다.

http.oauth2Login(auth-> auth.authorizationEndpoint(
	endpoint ->endpoint.authorizationRequestResolver(
		customOAuth2AuthorizationRequestResolver()
	)
);
private OAuth2AuthorizationRequestResolver CustomOAuth2AuthorizationRequestResolver(){
	return new CustomOAuth2AuthorizationRequestResolver();
}

0개의 댓글