Untitled

Untitled

# kakao OAuth2 정보 추가
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: "{여기에 중괄호 없애고 REST API 키를 넣어주면 된다.}"
            client-secret: "{이건 없어도 동작하는데 보안을 위해 만들어주면 좋다고 한다.}"
            authorization-grant-type: authorization_code
            #            redirect-uri: <http://localhost:8080/login/oauth2/code/kakao> #springBoot의 기본 방식을 적용
            redirect-uri: "{baseUrl}/login/oauth2/code/kakao" #이렇게하면 알아서 {}안에 domain을 넣어준다. 근데 yml에서는 {}은 제대로 못읽는다.그래서 ""로 감싸주어야 한다.
            client-authentication-method: POST #http method도 설정해준다.
        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

Untitled

Untitled

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. Please use a supported client authentication method, or use `setRequestEntityConverter` to supply an instance that supports [org.springframework.security.oauth2.core.ClientAuthenticationMethod@2590a0].
	at org.springframework.util.Assert.isTrue(Assert.java:140) ~[spring-core-6.0.10.jar:6.0.10]
	at org.springframework.security.oauth2.client.endpoint.ClientAuthenticationMethodValidatingRequestEntityConverter.convert(ClientAuthenticationMethodValidatingRequestEntityConverter.java:42) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
	at org.springframework.security.oauth2.client.endpoint.ClientAuthenticationMethodValidatingRequestEntityConverter.convert(ClientAuthenticationMethodValidatingRequestEntityConverter.java:25) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
	at org.springframework.security.oauth2.client.endpoint.DefaultAuthorizationCodeTokenResponseClient.getTokenResponse(DefaultAuthorizationCodeTokenResponseClient.java:77) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
	at org.springframework.security.oauth2.client.endpoint.DefaultAuthorizationCodeTokenResponseClient.getTokenResponse(DefaultAuthorizationCodeTokenResponseClient.java:56) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
	at org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationProvider.authenticate(OAuth2AuthorizationCodeAuthenticationProvider.java:85) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
	at org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider.authenticate(OAuth2LoginAuthenticationProvider.java:107) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
	at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182) ~[spring-security-core-6.1.1.jar:6.1.1]
	at org.springframework.security.authentication.ObservationAuthenticationManager.lambda$authenticate$1(ObservationAuthenticationManager.java:54) ~[spring-security-core-6.1.1.jar:6.1.1]
	at io.micrometer.observation.Observation.lambda$observe$4(Observation.java:544) ~[micrometer-observation-1.11.1.jar:1.11.1]
	at io.micrometer.observation.Observation.observeWithContext(Observation.java:603) ~[micrometer-observation-1.11.1.jar:1.11.1]
	at io.micrometer.observation.Observation.observe(Observation.java:544) ~[micrometer-observation-1.11.1.jar:1.11.1]
	at org.springframework.security.authentication.ObservationAuthenticationManager.authenticate(ObservationAuthenticationManager.java:53) ~[spring-security-core-6.1.1.jar:6.1.1]
	at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:195) ~[spring-security-oauth2-client-6.1.1.jar:6.1.1]
lterChain.doFilter(ObservationFilterChainDecorator.java:137)
# kakao OAuth2 정보 추가
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: "{여기에 중괄호 없애고 REST API 키를 넣어주면 된다.}"
            client-secret: "{이건 없어도 동작하는데 보안을 위해 만들어주면 좋다고 한다.}"
            authorization-grant-type: authorization_code
            #            redirect-uri: <http://localhost:8080/login/oauth2/code/kakao> #springBoot의 기본 방식을 적용
            redirect-uri: "{baseUrl}/login/oauth2/code/kakao" #이렇게하면 알아서 {}안에 domain을 넣어준다. 근데 yml에서는 {}은 제대로 못읽는다.그래서 ""로 감싸주어야 한다.
            client-authentication-method: POST #http method도 설정해준다.
        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
# kakao OAuth2 정보 추가
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: "{여기에 중괄호 없애고 REST API 키를 넣어주면 된다.}"
            client-secret: "{이건 없어도 동작하는데 보안을 위해 만들어주면 좋다고 한다.}"
            authorization-grant-type: authorization_code
            #            redirect-uri: <http://localhost:8080/login/oauth2/code/kakao> #springBoot의 기본 방식을 적용
            redirect-uri: "{baseUrl}/login/oauth2/code/kakao" #이렇게하면 알아서 {}안에 domain을 넣어준다. 근데 yml에서는 {}은 제대로 못읽는다.그래서 ""로 감싸주어야 한다.
            client-authentication-method: none
        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
String dummyPassword = passwordEncoder.encode("{bcrypt}dummy");