인증 기반 API를 호출하기 위해 JWT 인증 토큰을 생성하여 요청 헤더에 삽입해야 합니다.
JWT 토큰을 생성할 때,
expiration
을 충분히 길게 설정하세요. (아래 예시에서는 3년의 유효 기간으로 설정되어 있습니다.)- 발급받은
accessKey
를 JWT claim에 세팅하세요. - 그리고 발급받은
secretKey
(base64EncodedSecretKey
) 를 이용하여 sign한 JWT token을 생성하세요.
- JWT 관련 라이브러리에 따라 base64 인코딩하지 않은 plain
secretKey
를 세팅해야 하는 경우도 있습니다.
JWT 인증 토큰은 HTTP 요청 헤더에 Authorization: Bearer {JWT_TOKEN}
형식으로 세팅합니다.
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class JwtAuthorizationGeneratorSample {
public static void main(String[] args) {
String algorithm = "HS256";
String base64EncodedSecretKey = "{secretKey}";
long expiration = System.currentTimeMillis() + 3 * 365 * 24 * (60 * 60 * 1000);
String accessKey = "{accessKey}";
JwtBuilder builder = Jwts.builder()
.signWith(SignatureAlgorithm.forName(algorithm), base64EncodedSecretKey)
.setExpiration(new Date(expiration))
.setIssuedAt(new Date())
.claim("accessKey", accessKey);
String jwt = builder.compact();
System.out.printf("jwt: " + jwt);
}
}
다음은 curl로 호출하는 경우의 예시입니다.
curl \
--location --request GET 'https://papi.shoplive.cloud/v2/{accessKey}/video?sortAscending=false&page=1&count=20' \
--header 'Authorization: Bearer {JWT_TOKEN}'