티스토리 뷰
Spring Boot 3.0.4 환경에서 OAuth2-Client 라이브러리를 적용 후 소셜 로그인을 구현하면서 이슈 하나가 발생하였는데 어떤 이슈인지 문제 원인은 무엇이고 어떻게 해결해야 하는지 말씀드리겠습니다.
이슈
OAuth2-Client 라이브러리를 적용 후 Access Token을 조회하려면 application.yml 파일에 spring.security.oauth2.client.registration.[id].client-authentication-method 프로퍼티에 POST를 적어줘야 하는데 POST를 적어도 401 예외가 발생합니다.
원인
client-authentication-method 프로퍼티에 POST로 정의하면 해당 조건문이 false가 되어 Access Token 발급 API를 호출할 때 client-secret 파라미터가 추가되지 않습니다.
버전 5.5부터 변경된 것 같습니다. Spring Boot 2.5.0 이상부터 해당됩니다.
해결
application.yml을 다음과 같이 수정합니다.
spring.security.oauth2.client.registration.[id].client-authentication-method: POST (X)
spring.security.oauth2.client.registration.[id].client-authentication-method: client_secret_post (O)
참고
https://github.com/spring-projects/spring-security/issues/9220
'Spring' 카테고리의 다른 글
Spring Boot 3.x 버전에서 OAuth2 라이브러리를 이용하여 카카오 로그인 구현 및 OAuth2 동작원리 살펴보기 (11) | 2023.06.05 |
---|---|
Spring WebFlux에서 Flux<String>을 응답할 때 JSON Array가 아닌 단일 String으로 응답되는 이슈 (0) | 2023.05.21 |
AWS SES로 이메일 발송 시 파일첨부 기능 추가하기 (3) | 2023.04.09 |
@JsonFormat이 선언된 ZonedDateTime 타입의 필드를 다룰 때 주의할 점 (2) | 2023.04.02 |
Spring Cloud AWS SQS를 사용할 때 주의할 점 (1) | 2023.03.19 |