Kakao OAuth Login시 오류가 발생한다.
{ "error": "invalid_client", "error_description": "Bad client credentials", "error_code": "KOE010" } |
scribejava 사용시 Kakao API 로그인 오류 발생시
수정 하려고 할때 관련 자료가 없다.
scribejava 버전을 5.6.0 사용시
다음 파일외 몇가지를 커스텀 하여야 한다.
/src/main/java/egovframework/com/ext/oauth/service/KakaoAPI20.java
/src/main/java/egovframework/com/ext/oauth/service/OAuthLogin.java
/src/main/java/egovframework/com/ext/oauth/service/OAuthVO.java
다른 편리한 대안으로 scribejava 버전을 업그레이드 한다.
■ OAuth Login에 사용되는 scribejava 버전을 5.6.0 => 8.3.1로 업그레이드
<dependency> <groupId>com.github.scribejava</groupId> <artifactId>scribejava-apis</artifactId> <version>5.6.0</version> </dependency> |
<dependency> <groupId>com.github.scribejava</groupId> <artifactId>scribejava-apis</artifactId> <version>8.3.1</version> </dependency> |
여러가지 삽질을 하였으나
다음 클래스 파일에서 scribejava가 제공하는 KakaoApi를 사용한다.
/src/main/java/egovframework/com/ext/oauth/service/OAuthVO.java
즉, 다음과 같이 클래스를 변경하여 사용한다.
egovframework.com.ext.oauth.service.KakaoAPI20
===>
com.github.scribejava.apis.KakaoApi
import com.github.scribejava.apis.KakaoApi; |
초기화시 scrivejava가 제공하는 KakaoApi로 한다.
} else if (isKakao) { this.api20Instance = KakaoApi.instance(); this.profileUrl = KAKAO_PROFILE_URL; } |
■ Kakao OAuth 로그인 테스트
1) Kakao OAuth 로그인 테스트를 진행한다.
2) OAuth Login 결과 성공이 출력된다.
* 로그인 성공메시지가 확인이 된다.
* GitHub 소스
https://github.com/eGovFramework/egovframe-common-components