카카오 로긴을 개발계에서 적용하여 테스트가 잘 되는 상황에서
QA, Prod(OP) 환경에서 access tocken 획득시 request timeout이 발생하는 상황입니다.
import com.github.scribejava.core.oauth.OAuth20Service;
public OAuthUniversalUser getUserProfile(String code) throws Exception {
OAuth2AccessToken accessToken = oauthService.getAccessToken(code); <== timeout execption 발생
OAuthRequest request = new OAuthRequest(Verb.GET, this.oauthVO.getProfileUrl());
oauthService.signRequest(accessToken, request);
Response response = oauthService.execute(request);
return parseJson(response.getBody());
}
curl을 사용하여 테스트하면 하기와 같은 상태입니다.
Authorization 값은 확인 후 바로 사용하였습니다.
결과 200 {"msg":"target ID is not supplied.","code":-401}
curl -v -X POST "https://kapi.kakao.com/v2/user/me" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: dwl3FZe_AWZeugZ2EcHaFpoBgz8vWRqGNYBNIAxM1sSWa8aeGVuoQLgJaY4gYpT56t8HTAo9dNoAAAGIdYk-tA" \
-d "grant_type=authorization_code" \
-d "client_id=ece598bd4d0af6ece0f045565b588219" \
--data-urlencode "redirect_uri=http://101.79.86.154/portal/uat/uia/kakao/callback" \
-d "code=trMPrzMA2PDzUvTrsixvFYsNwIbROzzX"
개발환경은 전자정부프레임워크이며
dev는 인터넷 망에 tomcat-apache가 같은 서버에 있고
문제가 발생하는 QA, Prod는 망 분리가 된 상황입니다.
테스트는 WAS단에서 모두 했습니다.