curl --request POST 'https://api.voicecheap.ai/oauth/userinfo' \
--header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{}'
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(input),
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"POST",
"https://api.voicecheap.ai/oauth/userinfo",
headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"],"Content-Type":"application/json"},
json={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth 및 MCP 프로토콜
연결된 사용자의 신원 가져오기 (POST)
OAuth 연결에 부여된 신원 클레임을 가져옵니다.
POST
/
oauth
/
userinfo
curl --request POST 'https://api.voicecheap.ai/oauth/userinfo' \
--header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{}'
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(input),
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"POST",
"https://api.voicecheap.ai/oauth/userinfo",
headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"],"Content-Type":"application/json"},
json={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth 연결에 부여된 신원 클레임을 가져옵니다.
POST https://api.voicecheap.ai/oauth/userinfo
인증
OAuth 액세스 토큰을 Authorization: Bearer로 보내세요. 토큰에는 openid가 필요하며 이메일 클레임에는 email도 필요합니다. API 키와 쿼리 문자열의 자격 증명은 허용되지 않습니다.요청 예제
이 경로에 명시된 인코딩 및 인증 방식을 따르세요. 액션 API의 응답 구조와 멱등성 규칙은 액션 호출에만 적용됩니다.curl --request POST 'https://api.voicecheap.ai/oauth/userinfo' \
--header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data '{}'
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(input),
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"POST",
"https://api.voicecheap.ai/oauth/userinfo",
headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"],"Content-Type":"application/json"},
json={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
응답
OAuth 연결에 부여된 신원 클레임을 가져옵니다.HTTP 200
{
"sub": "voicecheap-user-id",
"email": "customer@example.com",
"email_verified": false
}
응답 헤더
{
"Cache-Control": "no-store",
"Pragma": "no-cache"
}
작업 참고 사항
- 이 환경에서 신원 연동을 사용할 수 없으면 OpenID Connect 엔드포인트가 HTTP 404를 반환합니다. 신원 기능을 사용하기 전에 검색 메타데이터를 확인하세요.
- sub는 계정의 고정 식별자입니다. email과 email_verified는 email이 부여되고 계정에 이메일 주소가 있을 때만 포함됩니다. email_verified는 실제 인증 상태를 반영하며 false일 수도 있습니다. 삭제되거나 비활성화된 계정은 UserInfo를 사용할 수 없습니다.
오류
| HTTP 상태 | 코드 | 의미 또는 복구 방법 |
|---|---|---|
| 400 | invalid_request | OAuth 액세스 토큰은 Authorization 헤더로만 보내세요. API 키와 쿼리 또는 본문의 access_token/api_key 자격 증명은 거부됩니다. |
| 401 | invalid_token | OAuth 액세스 토큰이 없거나 유효하지 않거나 만료, 취소되었거나 더 이상 승인되지 않았습니다. 계정을 다시 연결하세요. |
| 403 | insufficient_scope | 토큰에 openid가 없거나 계정이 더 이상 액세스 조건을 충족하지 않습니다. 필요한 신원 권한과 적격 계정으로 다시 연결하세요. 자세한 내용은 WWW-Authenticate 챌린지를 확인하세요. |
| 404 | invalid_request | 이 환경에서 신원 연동을 사용할 수 없으면 OpenID Connect 엔드포인트가 HTTP 404를 반환합니다. 신원 기능을 사용하기 전에 검색 메타데이터를 확인하세요. |
| 429 | temporarily_unavailable | 공개 OAuth 요청 속도 제한에 도달했습니다. 현재 제한 시간 구간이 끝날 때까지 기다린 후 다시 시도하세요. |
| 500 | server_error | 일시적으로 권한 부여를 사용할 수 없습니다. 나중에 다시 시도하세요. |
이 페이지가 도움이 되었나요?

