curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-authorization-server'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-authorization-server', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-authorization-server",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth en het MCP-protocol
Metadata van de autorisatieserver ophalen
Ontdek de openbare OAuth-eindpunten en de mechanismen voor autorisatiecodes, PKCE, vernieuwing en intrekking die door deze omgeving worden ondersteund.
GET
/
.well-known
/
oauth-authorization-server
curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-authorization-server'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-authorization-server', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-authorization-server",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Ontdek de openbare OAuth-eindpunten en de mechanismen voor autorisatiecodes, PKCE, vernieuwing en intrekking die door deze omgeving worden ondersteund.
GET https://api.voicecheap.ai/.well-known/oauth-authorization-server
Authenticatie
Geen.Voorbeeldaanvragen
Volg de gedocumenteerde codering en authenticatie voor deze route. De antwoordstructuur en idempotentieregels van de actie-API gelden alleen voor actieaanroepen.curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-authorization-server'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-authorization-server', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-authorization-server",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Antwoord
OAuth-metadata van de autorisatieserver met absolute endpoint-URL’s op de canonieke issuer-origin.HTTP 200
{
"issuer": "https://api.voicecheap.ai",
"authorization_endpoint": "https://api.voicecheap.ai/oauth/authorize",
"token_endpoint": "https://api.voicecheap.ai/oauth/token",
"registration_endpoint": "https://api.voicecheap.ai/oauth/register",
"revocation_endpoint": "https://api.voicecheap.ai/oauth/revoke",
"response_types_supported": ["code"],
"response_modes_supported": ["query"],
"grant_types_supported": ["authorization_code", "refresh_token"],
"token_endpoint_auth_methods_supported": ["none"],
"revocation_endpoint_auth_methods_supported": ["none"],
"code_challenge_methods_supported": ["S256"],
"scopes_supported": [
"account:read",
"usage:read",
"settings:read",
"settings:write",
"team:read",
"team:write",
"projects:read",
"projects:write",
"projects:delete",
"translations:write",
"transcription:read",
"transcription:write",
"subtitles:read",
"subtitles:write",
"tts:read",
"tts:write",
"voices:read",
"voices:write",
"images:read",
"images:write",
"thumbnails:read",
"thumbnails:write",
"folders:read",
"folders:write",
"glossary:read",
"glossary:write",
"webhooks:read",
"webhooks:write",
"publishing:read",
"publishing:write",
"offline_access"
],
"authorization_response_iss_parameter_supported": true,
"client_id_metadata_document_supported": true
}
Opmerkingen bij de bewerking
- Alleen het responstype code en de responsmodus query worden bekendgemaakt.
- Clients kunnen dynamische registratie of een Client ID Metadata Document (CIMD) gebruiken. client_id_metadata_document_supported is true; een CIMD-client gebruikt de openbare HTTPS-URL van het document als client_id.
- Een CIMD-JSON-document moet een exact overeenkomende client_id, een niet-lege client_name van maximaal 120 tekens en 1–10 exacte redirect_uris bevatten. Gebruik authenticatie none voor openbare clients met S256 PKCE; authorization_code is vereist en refresh_token is optioneel.
- Bied CIMD aan als ongecomprimeerde JSON via openbaar HTTPS op poort 443, met een expliciet pad en zonder inloggegevens, fragmenten, puntsegmenten of redirects. Het document mag maximaal 64 KiB zijn en moet binnen 5 seconden antwoorden. Gecachte metadata verloopt binnen 5 minuten; tokenuitwisseling en vernieuwing gebruiken de metadata die aan de autorisatie is gekoppeld.
- Wanneer OpenID Connect beschikbaar is, vermeldt de metadata van de autorisatieserver ook de scopes openid en email, userinfo_endpoint en jwks_uri. Anders ontbreken deze scopes en endpoints in die metadata.
- De authenticatiemethoden voor tokens en intrekking zijn none. Publieke clients gebruiken client_id en S256 PKCE in plaats van een clientgeheim.
- offline_access is een scopemarkering voor vernieuwing, geen productrecht. De uitgifte van een vernieuwingstoken hangt af van de registratie van refresh_token als granttype.
- Controleer de geretourneerde iss-waarde bij de laatste clientcallback aan de hand van issuer. Zowel geslaagde als geweigerde autorisatiecallbacks bevatten iss en geven state terug wanneer die is opgegeven.
Fouten
| HTTP-status | Code | Betekenis of herstel |
|---|---|---|
| 429 | temporarily_unavailable | De openbare frequentielimiet voor OAuth-aanvragen is bereikt. Wacht tot het huidige tijdvenster voorbij is voordat je het opnieuw probeert. |
| 500 | server_error | Autorisatie is tijdelijk niet beschikbaar. Probeer het later opnieuw. |
Was deze pagina nuttig?

