인증
모든 API 리퀘스트에는 요청이 정상적인지 검증합니다. 스노우 API에는 아래의 필수 정보들이 필요합니다.
필수 헤더
이름 | 설명 |
---|---|
X-API-Key | API 키 |
X-Timestamp | 요청 시간, 초단위의 milliseconds |
X-Nonce | 랜덤한 값 (최대 10자리) |
X-Signature | API 요청 검증을 위한 값 |
- timestamp 값은 30초간 유효합니다.
- 서버 현재시간 - 30초 ~ 서버 현재시간
- 30초 내에 동일한 nonce 값이 반복되면 API 오류가 발생합니다.
Signature 생성
// 구분자 없이 모두 붙여서 생성
{TIMESTAMP}{NONCE}{API-KEY}{PRODUCT}
- 해당 텍스트를 Secret Key로 HmacSHA256 암호화 후 Base64변환
- 언어별 해당 예제
랜덤한 숫자로 NONCE 생성 예
- Java
Math.abs(new Random().nextInt())
쿼리 파라미터
이름 | 설명 |
---|---|
product | 사용하는 서비스의 상세 제품 코드, 필터의 종류나 컨텐츠 이름 |
API 요청 순서
- API 키, Secret 키, 사용가능한 product 코드정보를 SNOW로 부터 얻습니다.
- 현재 타임스탬프를 생성합니다. (unix timestamp 초단위)
- 랜덤함수로 nonce 값을 생성합니다.
- Signature 값을 생성합니다.
- 필수헤더와 생성된 Signature, 사용가능한 제품 코드인 product를 쿼리에 추가하여 API를 호출합니다.
오류 메시지
인증에 관한 오류 메시지는 API 오류를 참고해주세요.