동작 모식도 : OAuth2 코드 방식
각각의 필터가 동작하는 주소 (관습)
- OAuth2AuthorizationRequestRedirectFilter
/oauth2/authorization/서비스명
/oauth2/authorization/naver
/oauth2/authorization/google
- OAuth2LoginAuthenticationFilter : 외부 인증 서버에 설정할 redirect_uri
/login/oauth2/code/서비스명
/login/oauth2/code/naver
/login/oauth2/code/google
OAuth2 인증 및 동작을 위한 변수들
변수 설정만 진행하면 OAuth2AuthorizationRequestRedirectFilter -> OAuth2LoginAuthenticationFilter -> OAuth2LoginAuthenticationProvider 까지의 과정을 추가 설정하지 않아도 자동으로 진행한다.
따라서 사용자는 UserDetailsService와 UserDetails만 구현하면 된다.
- application.properties
spring.security.oauth2.client.registration.서비스명.client-name=
spring.security.oauth2.client.registration.서비스명.client-id=
spring.security.oauth2.client.registration.서비스명.client-secret=
spring.security.oauth2.client.registration.서비스명.redirect-uri=
spring.security.oauth2.client.registration.서비스명.authorization-grant-type=
spring.security.oauth2.client.registration.서비스명.scope=
spring.security.oauth2.client.provider.서비스명.authorization-uri=
spring.security.oauth2.client.provider.서비스명.token-uri=
spring.security.oauth2.client.provider.서비스명.user-info-uri=
spring.security.oauth2.client.provider.서비스명.user-name-attribute=
참고
- OAuth2AuthorizationRequestRedirectFilter
OAuth2AuthorizationRequestRedirectFilter (spring-security-docs 6.4.2 API)
public class OAuth2AuthorizationRequestRedirectFilter extends org.springframework.web.filter.OncePerRequestFilter This Filter initiates the authorization code grant flow by redirecting the End-User's user-agent to the Authorization Server's Authorization E
docs.spring.io
- OAuth2LoginAuthenticationFilter
OAuth2LoginAuthenticationFilter (spring-security-docs 6.4.2 API)
Constructs an OAuth2LoginAuthenticationFilter using the provided parameters. Constructs an OAuth2LoginAuthenticationFilter using the provided parameters. Constructs an OAuth2LoginAuthenticationFilter using the provided parameters.
docs.spring.io
- OAuth2LoginAuthenticationProvider
OAuth2LoginAuthenticationProvider (spring-security-docs 6.4.2 API)
An implementation of an AuthenticationProvider for OAuth 2.0 Login, which leverages the OAuth 2.0 Authorization Code Grant Flow. This AuthenticationProvider is responsible for authenticating an Authorization Code credential with the Authorization Server's
docs.spring.io
출처
https://www.devyummi.com/page?id=66927d904d26bd7985ef5b5a
개발자 유미 | 커뮤니티
www.devyummi.com
'Spring Security > OAuth2' 카테고리의 다른 글
스프링 OAuth2 클라이언트 세션 6 : 네이버 소셜 로그인 신청 (0) | 2025.01.08 |
---|---|
스프링 OAuth2 클라이언트 세션 5 : SecurityConfig 등록 (0) | 2025.01.08 |
스프링 OAuth2 클라이언트 세션 4 : OAuth2 변수 역할 (0) | 2025.01.07 |
스프링 OAuth2 클라이언트 세션 2 : 프로젝트 생성 및 의존성 추가 (0) | 2025.01.07 |
스프링 OAuth2 클라이언트 세션 1 : 실습 목표 및 간단한 동작 원리 (0) | 2025.01.05 |