본문으로 건너뛰기

인증

aicon API의 인증 방식을 설명합니다.

Basic Auth 인증

모든 API 요청은 HTTP Basic 인증으로 인증합니다. Basic 인증은 username:password 쌍을 Base64로 인코딩하여 Authorization 헤더에 담는 방식입니다.

aicon API에서는 Secret Key가 username, 비밀번호는 사용하지 않습니다. 비밀번호가 없더라도 username과 password를 구분하는 :(콜론)은 반드시 포함해야 합니다.

Authorization: Basic {base64(secretKey:)}

인코딩 과정

Secret Key가 test_sk_abcdef123456인 경우, 다음 단계를 거칩니다.

1단계 — Secret Key 뒤에 :를 붙입니다.

test_sk_abcdef123456:
콜론을 빠트리지 마세요

:는 Basic 인증에서 username과 password의 구분자입니다. 비밀번호가 비어 있어도 콜론은 반드시 포함해야 합니다. 콜론이 없으면 인증에 실패합니다.

입력결과
test_sk_abcdef123456:인증 성공
test_sk_abcdef123456인증 실패 — 콜론 누락

2단계 — Base64로 인코딩합니다.

터미널에서 아래 명령어로 직접 확인할 수 있습니다.

echo -n "test_sk_abcdef123456:" | base64
# dGVzdF9za19hYmNkZWYxMjM0NTY6
UTF-8 BOM 주의

일부 환경에서 문자열에 UTF-8 BOM이 포함되면 Base64 결과가 77u/로 시작할 수 있습니다. 이 경우 인증에 실패하므로 BOM이 없는 UTF-8로 인코딩해야 합니다.

3단계 — Authorization 헤더에 담아 요청합니다.

Authorization: Basic dGVzdF9za19hYmNkZWYxMjM0NTY6

언어별 예시

# -u 옵션은 자동으로 Base64 인코딩합니다.
# 시크릿 키 뒤에 반드시 콜론(:)을 포함하세요.
curl -u "test_sk_abcdef123456:" \
https://api.aiconbiz.kr/v1/coupons

직접 헤더를 설정할 수도 있습니다.

curl -X GET https://api.aiconbiz.kr/v1/coupons \
-H "Authorization: Basic dGVzdF9za19hYmNkZWYxMjM0NTY6"
시크릿 키를 외부에 노출하지 마세요

시크릿 키는 서버에서만 사용하세요. 브라우저 JavaScript, 앱 클라이언트 코드, 공개 저장소 등에 시크릿 키가 포함되면 보안 사고로 이어질 수 있습니다. 키가 노출된 경우 즉시 aicon 콘솔에서 키를 재발급하세요.

인증 실패 응답

인증에 실패하면 401 응답이 반환됩니다.

{
"status": 401,
"code": "AUTH_INVALID_API_KEY",
"message": "유효하지 않은 API 키입니다."
}