본문 바로가기
programming/OpenApiDEV

업비트 api 0001 파라미터 없는 경우 인증토큰 요청하고 받기

by 개코 - 개발과 코딩 2021. 6. 21.

업비트에서 가상화폐 api를 사용하려면 인증요청을 거쳐야 한다. 인증은 필수로 요청하고 보안 토큰을 먼저 받아야 한다. 토큰을 받는 과정은 단순하다. 업비트 개발자 가이드를 보고 그대로 따라하면 바로 인증 토큰을 받을 수 있다. 토큰은 jwt 형식을 따른다.

 

파라미터 없을 때 인증 토큰 받기

모든 통신 api가 그렇듯 secret key 와 access key 를 사용하여 보안토큰을 먼저 받는 작업을 해야 한다.

이 인증 토큰을 받지 못하면 사용할 수 없다.

먼저 업비트 api 를 사용하기 위해 api 사용신청을 받아야 한다.

 

▶ 가상화폐 코인 거래소 업비트 api 사용법 보기

 

api 사용신청을 받았다면 자바에서 바로 코드를 작성해 실행하면 된다.

 

코드작성하기

업비트 api가 제공하는 코드는 Node, Python, Ruby, Java, C# 을 제공한다.

여기서는 자바 스프링을 기준으로 한다.

다를게 없다. 같기 때문이다.

개발자 가이드에서 제공하는 기본코드를 보자

/**
 * 파라미터가 없는 경우 토큰 받기
 */
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;

import java.util.UUID;

public class OpenApiSample {

    public static void main(String[] args) {
        String accessKey = "발급받은 Access key";
        String secretKey = "발급받은 Secret key";

        Algorithm algorithm = Algorithm.HMAC256(secretKey);

        String jwtToken = JWT.create()
                             .withClaim("access_key", accessKey)
                             .withClaim("nonce", UUID.randomUUID().toString())
                             .sign(algorithm);

        String authenticationToken = "Bearer " + jwtToken;
    }
}

com.autho0.jwt 라이브러리가 필요하다.

메이븐을 사용한다면 이전에 작성한 포스팅을 참고하자

 

▶ 메이븐에 com.auth0.jwt 추가하기 How to add com.auth0.jwt from maven

 

발급받은 Access Key와 Secret Key 값을 그대로 넣어주면 그만이다.

이것을 자바 스프링으로 옮겨서 코드를 작성해 보았다.

당연히 컨트롤러에 작성하면 된다.

/**
 * Test
 * 인증 가능한 요청 만들기
 * 파라미터 없는 경우
 */
@RequestMapping(value = "/trnp", method = RequestMethod.GET)
public void TestRequestNotParameter(Locale locale, Model model) {
	logger.info("Request Controller : TestRequestNotParameter.", locale);
	
	String accessKey = "발급받은 Access key";
	String secretKey = "발급받은 Secret key";

	Algorithm algorithm = Algorithm.HMAC256(secretKey);

	String jwtToken = JWT.create()
			.withClaim("access_key", accessKey)
			.withClaim("nonce", UUID.randomUUID().toString())
			.sign(algorithm);

	String authenticationToken = "Bearer " + jwtToken;
    
	logger.info("authenticationToken" + authenticationToken);
}

코드를 비교해 보면 알겠지만, 틀린 것이 없이 똑같다.

자바코드로 만들어 테스트를 했다면 자바 스프링에서는 컨트롤러에 그대로 넣어주면 된다.

 

실행결과를 살펴보자

Access key와 Secret key를 전달하여 인증토큰값을 요청하고 있다.

authenticationTokey 토큰 값이 제대로 출력되는 것을 볼 수 있다.

반응형

댓글