원타임 APPKEY
APPKEY의 안전한 취급
APPKEY는 애플리케이션이 AmiVoice API를 이용할 때의 '서비스 인증 키 문자열'로, 유출될 경우 악용될 우려가 있습니다. APPKEY를 애플리케이션에 내장하면 악의적인 제3자에 의해 애플리케이션에서 APPKEY가 추출될 가능성이 있습니다. 일반적으로 자신이 소유한 APPKEY를 애플리케이션 사용자의 기기로 전송하지 마십시오. 대신 유출되어도 영향 범위를 최소화할 수 있도록 유효 기간이 있는 원타임 APPKEY를 사용하십시오.
- 원타임 APPKEY는 마이페이지에 기재된 APPKEY와 동일한 기능을 가진 '서비스 인증 키 문자열'이지만, '발행 일시와 유효 시간'에 기반하여 '유효 기간 일시'가 설정되어 있다는 점이 다릅니다. 또한, 접속 IP 주소에 제한을 둘 수 있습니다.
- 원타임 APPKEY의 발행 수에는 제한이 없습니다.
- 특히 웹 애플리케이션의 경우, HTML이나 JavaScript에 APPKEY를 기재하면 웹사이트 사용자가 볼 수 있으므로 피해주십시오.
- APPKEY를 애플리케이션에 내장하는 것을 피할 수 없는 경우에는 APPKEY를 난독화, 암호화해주십시오. 난독화, 암호화를 통해 애플리케이션에서 APPKEY를 추출하기 어렵게 만들 수 있습니다.
- 2025/06/30 마이페이지 개편 이전에 생성된 계정의 APPKEY 및 발행된 원타임 APPKEY는 삭제할 수 없습니다. 삭제하려면 탈퇴 후 새로운 계정을 만들어야 합니다.
- 2025/06/30 마이페이지 개편 이후 마이페이지에서 발행된 APPKEY는 마이페이지에서 수동으로 삭제가 가능합니다. 원타임 APPKEY 발행 API를 사용하여 발행된 APPKEY는 삭제할 수 없습니다.
원타임 APPKEY 사용하기
원타임 APPKEY를 사용할 경우, 다음과 같은 구현 방법을 고려할 수 있습니다.
- 애플리케이션 사용자를 어떤 방법으로든 인증합니다
- 인증에 성공한 후, 서버 측에서 유효 기간을 설정한 원타임 APPKEY를 발행하여 애플리케이션으로 전송합니다
- 애플리케이션에서는 원타임 APPKEY를 사용하여 AmiVoice API를 이용합니다
다음은 원타임 APPKEY 발행 API의 사용 방법을 설명합니다.
요청
원타임 APPKEY 발행 API를 사용하려면 서비스 ID(요청 본문에 지정하며, 파라미터명은 sid)와 서비스 비밀번호(마찬가지로 spw), 또는 마이페이지에서 "APPKEY 発行可能"으로 설정하여 발행한 APPKEY(Authorization 헤더에 지정)의 설 정이 필요합니다.
sid와 spw에는 마이페이지의 "接続情報"에 기재된 [サービス ID]의 서비스 ID와 [サービスパスワード]의 서비스 비밀번호를 가져와서 설정하십시오.
서비스 비밀번호와 마이페이지 로그인용 비밀번호는 다릅니다.
sid와 spw는 요청 본문에 application/x-www-form-urlencoded 형식으로 설정하십시오. 쿼리 파라미터(URL 끝에 ?를 붙여 기재하는 방법)로는 지정하지 마십시오.
요청 시 HTTP 메소드는 POST입니다.
유효 시간(요청 파라미터 명은 epi)은 임의로 설정할 수 있습니다. epi에 숫자로 설정하는 경우, 밀리초 단위로 지정합니다. 기타 설정 방법은 참조를 확인하십시오. epi를 생략한 경우 기본값으로 30000(30초)이 설정됩니다. 원타임 APPKEY를 발행한 후 실제로 AmiVoice API 요청을 보내기까지의 시간을 고려하여 설정하십시오. ipa에 APPKEY를 사용할 수 있는 IP 주소를 지정할 수 있습니다.
curl 명령어를 사용하여 원타임 APPKEY를 발행해보겠습니다.
예시1
IP 주소 203.0.113.253에서의 접속만 제한하고, 유효 기간을 발행으로부터 30초 후로 설정합니다.
curl https://acp-api.amivoice.com/issue_service_authorization \
-d sid={서비스ID} \
-d spw={서비스비밀번호} \
-d epi=30000 \
-d ipa=203.0.113.253
sid와 spw 대신 APPKEY를 사용하는 경우는 다음과 같습니다.
curl https://acp-api.amivoice.com/issue_service_authorization \
-d epi=30000 \
-d ipa=203.0.113.253 \
-H "Authorization: Bearer {APPKEY 발행 가능한 APPKEY}"
예시2
IP 주소를 범위로 지정하여 허용하고 싶은 경우, CIDR 로 지정할 수 있습니다.
curl https://acp-api.amivoice.com/issue_service_authorization \
-d sid={서비스ID} \
-d spw={서비스비밀번호} \
-d epi=30000 \
-d ipa=203.0.113.0/24
예시3
IP 주소나 그 범위는 쉼표로 구분하여 여러 개 지정할 수도 있습니다.
curl https://acp-api.amivoice.com/issue_service_authorization \
-d sid={서비스ID} \
-d spw={서비스비밀번호} \
-d epi=30000 \
-d ipa=203.0.113.0/24,198.51.100.0/24
응답
응답은 plain text로, 원타임 APPKEY를 반환합니다. 그대로 요청 파라미터의 authorization 키로 설정할 수 있습니다.