최대 1 분 소요

문제 상황

카카오 소셜 로그인 구현 후 테스트하면서 발생했다. 필수/선택 동의하는 화면까지는 넘어갔지만 그 다음부터 메인 페이지로 넘어가지
않고 프로젝트에서 다음 에러 로그가 찍혔다.

java.lang.IllegalArgumentException: This class supports client_secret_basic, client_secret_post, and none by default. Client [kakao] is using [org.springframework.security.oauth2.core.ClientAuthenticationMethod@2590a0] instead.

해결 방법

OAuth 설정을 하면서 application-oauth.yml에 카카오 정보도 적었었는데 client-authentication-method에 적힌
값에서 문제가 있는걸로 보인다. 에러 로그를 보면 알 수 있듯이 스프링에서 처리하는 ClientAuthenticationMethod가 등록
되지 않았다고 한다.

spring:
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: {클라이언트 ID}
            client-secret: {클라이언트 비밀키}
            scope: account_email
            client-name: Kakao
            authorization-grant-type: authorization_code
            redirect-uri: http://localhost:8080/login/oauth2/code/kakao
            client-authentication-method: POST # 에러 발생
        provider:
          kakao:
            authorization-uri: https://kauth.kakao.com/oauth/authorize
            token-uri: https://kauth.kakao.com/oauth/token
            user-info-uri: https://kapi.kakao.com/v2/user/me
            user-name-attribute: id


그래서 POST가 아닌 client_secret_post로 수정했더니 메인 페이지로 넘어갈 수 있었다!

카테고리:

업데이트:

댓글남기기