Bearer-Token erstellen
Ein Auth Key dient zur Authentifizierung und wird gegen ein Bearer-Token mit festgelegten Berechtigungen ausgetauscht.
https://api2.transloadit.com/ tokenDies ist der Token-Endpunkt für OAuth 2.0. Headless-Clients tauschen ihren Auth Key und
ihr Auth Secret mit dem Grant client_credentials gegen ein kurzlebiges Bearer-Token ein. Dies wird
direkt von der Transloadit API abgewickelt. MCP-Clients, die
eine Verbindung per URL hergestellt haben, lösen den
Autorisierungscode aus dem Zustimmungsdialog der Konsole mit dem Grant authorization_code ein
(PKCE S256, keine HTTP-Basic-Zugangsdaten) und rotieren das daraus resultierende Refresh-Token mit dem
Grant refresh_token.
Bei /token verwenden OAuth-Grant-Fehler für authorization_code und refresh_token den standardmäßigen
Antwort-Body mit error und error_description. Bei Ratenbegrenzungen wird RATE_LIMIT_REACHED (429) zurückgegeben, bei
unerwarteten internen Fehlern SERVER_500 (500). Fehlerhafte Anfragen, die abgelehnt werden,
bevor der Grant identifiziert wurde, können eine HTTP-Basic-Challenge (401) erhalten oder
TOKEN_INVALID_REQUEST, wenn Basic-Zugangsdaten angegeben wurden.
Client-Credentials-Tokens werden serverseitig mit Ihrem Auth Key/Auth Secret erstellt. Wenn Sie die
Token-Erstellung über eine Benutzeroberfläche anbieten, rufen Sie /token von Ihrem Backend aus auf (niemals direkt aus dem Browser).
Gekündigte Workspaces können keine neuen Bearer-Tokens erstellen. Verwenden Sie für Endpunkte, deren Dokumentation Lesezugriffe nach der Kündigung ausdrücklich erlaubt, stattdessen die Anleitung für signierte Lesezugriffe mit einem vorhandenen aktiven Auth Key. Für die Abrechnung gibt es eine eigene Anleitung für signierte Abrechnungsanfragen.
Anfragen müssen application/x-www-form-urlencoded verwenden; der Grant client_credentials erfordert außerdem HTTP-Basic-Authentifizierung:
Setzen Sie in einer vertrauenswürdigen serverseitigen Shell mit curl und jq die Variablen TRANSLOADIT_KEY und TRANSLOADIT_SECRET auf die Werte Ihres Auth Keys und Ihres Auth Secrets. Halten Sie sowohl die Zugangsdaten als auch das daraus resultierende Token geheim; führen Sie diese Einrichtung niemals in Browsercode aus.
Dieses Beispiel fordert Lese- und Schreibzugriff auf Assemblies an und speichert das zurückgegebene access_token als TRANSLOADIT_TOKEN für nachfolgende Anfragen in derselben Shell. Verwenden Sie für einen anderen Endpunkt stattdessen die dort aufgeführten Scopes; der Auth Key muss diese bereits gewähren. Endpunkte, die über einen Auth Key oder ein Bearer-Token authentifiziert werden, enthalten in ihren Anfragebeispielen die entsprechende Token-Einrichtung.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=assemblies:read assemblies:write')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Authentifizierung
Für die folgenden grant_type-Werte ist HTTP-Basic-Authentifizierung mit Ihrem Auth Key und Ihrem Auth Secret erforderlich: client_credentials. Andere unterstützte Werte benötigen keine Kontozugangsdaten. Senden Sie für diese Anfragen keinen Authorization-Header; der für den jeweiligen Grant spezifische Nachweis ist weiterhin erforderlich.
Formularfelder
Content-Type: application/x-www-form-urlencoded
Die folgenden Felder dürfen höchstens einmal gesendet werden: aud, client_assertion, client_assertion_type, client_id, code, code_verifier, grant_type, redirect_uri, refresh_token, resource, scope.
Vollständiges JSON Schema
Formular zur Anforderung von OAuth-2.0-Tokens für die Grant-Typen client-credentials, authorization-code und refresh-token.
Auch Felder, die nicht für dieses Objekt aufgeführt sind, werden akzeptiert.
| Feld | Typ und Beschreibung |
|---|---|
aud | stringOptionaler Wert für audience bei |
client_assertion | stringEin mit einem der veröffentlichten Schlüssel des Clients signiertes JWT (RFC 7523) von Clients, deren Metadaten |
client_assertion_type | stringImmer |
client_id | stringDie Client-Kennung aus der dynamischen Registrierung oder die HTTPS-URL des Metadatendokuments des Clients. Erforderlich für |
code | stringDer einmalig verwendbare Autorisierungscode, der nach der Zustimmung an die Redirect-URI des Clients übermittelt wird. Für |
code_verifier | stringDer PKCE-Code-Verifier, dessen SHA-256-Hashwert beim Start der Autorisierung als |
grant_typeerforderlich | "authorization_code" | "client_credentials" | "refresh_token"Der auszuführende OAuth-2.0-Grant. |
redirect_uri | stringDie in der Autorisierungsanfrage verwendete Redirect-URI. Für |
refresh_token | stringDas zu rotierende Refresh-Token. Für |
resource | stringDie geschützte Ressource, für die das Token bestimmt ist: der gehostete MCP-Endpunkt ( |
scope | stringOptionale, durch Leerzeichen oder Kommas getrennte Liste von Scopes für |
Verwendung des Tokens
Übergeben Sie das Token bei API-Anfragen als Authorization: Bearer <access_token>. Wenn eine Anfrage
mit einem gültigen Bearer-Token authentifiziert wird, betrachtet API2
Signature Authentication als erfüllt und
überspringt die Signaturvalidierung. Signature Authentication wird nur bei Anfragen mit Auth Key/Auth Secret durchgesetzt.
Scope-Prüfungen gelten weiterhin. Die standardmäßige Zielgruppe api2 wird von regulären API2-Endpunkten akzeptiert und ist
standardmäßig 21.600 Sekunden lang gültig. Die Zielgruppe mcp wird vom MCP-Server akzeptiert, der sie
mit Dienstzugangsdaten an API2 weiterleitet; sie wird von regulären API2-Endpunkten abgelehnt, wenn sie direkt vorgelegt wird, und ist
standardmäßig 604.800 Sekunden lang gültig. Betrachten Sie den Wert expires_in in der Antwort als maßgeblich.
Antwort
Hier sehen Sie ein Beispiel für einen Antworttext:
{
"access_token": "opaque-token",
"expires_in": 21600,
"scope": "assemblies:read assemblies:write",
"token_type": "Bearer"
}2xx-Erfolg
JSON-Response-Body. application/json
Schema des Response-Bodys
Vollständiges JSON Schema
Die Antwort enthält nur die für dieses Objekt aufgeführten Felder.
| Feld | Typ und Beschreibung |
|---|---|
access_tokenerforderlich | string (minimale Länge: 1)Das Token, das im Authorization-Header nachfolgender API-Anfragen gesendet werden soll. Halten Sie es geheim. |
expires_inerforderlich | integer (exklusives Minimum: 0)Gültigkeitsdauer des Tokens in Sekunden ab Ausstellung. Fordern Sie nach Ablauf ein neues Token an. |
refresh_token | string (minimale Länge: 1)Wird von den Grants |
scopeerforderlich | string (minimale Länge: 1, maximale Länge: 512)Durch Leerzeichen getrennte Berechtigungen, die diesem Token gewährt wurden. Validierungsmuster (regulärer Ausdruck)^(?:read|write|auth_keys:write|auth_keys:read|assemblies:write|assemblies:read|assembly_notifications:write|dam:read|dam:write|template_credentials:read|template_credentials:write|billing:read|queues:read|smart_cdn:sign|templates:read|templates:write|storage_grants:write)(?: (?:read|write|auth_keys:write|auth_keys:read|assemblies:write|assemblies:read|assembly_notifications:write|dam:read|dam:write|template_credentials:read|template_credentials:write|billing:read|queues:read|smart_cdn:sign|templates:read|templates:write|storage_grants:write))*$ |
token_typeerforderlich | string (immer: "Bearer") |
HTTP 400
JSON-Response-Body. application/json
Schema des Response-Bodys
Vollständiges JSON Schema
Eines der folgenden Schemas kann gelten:
error: "GET_ACCOUNT_UNKNOWN_AUTH_KEY"
Workspace konnte nicht abgerufen werden, dies ist ein unbekannter Auth Key.
Die Antwort kann zusätzliche Felder enthalten.
error: "TOKEN_INVALID_GRANT_TYPE"
Ungültiger Grant-Typ.
Die Antwort kann zusätzliche Felder enthalten.
error: "TOKEN_INVALID_REQUEST"
Ungültige Token-Anfrage.
Die Antwort kann zusätzliche Felder enthalten.
erforderliche Eigenschaften: error
Die Antwort kann zusätzliche Felder enthalten.
| Feld | Typ und Beschreibung |
|---|---|
errorerforderlich | stringEin Fehlercode gemäß RFC 6749, 7591 oder 8707, beispielsweise Validierungsmuster (regulärer Ausdruck)^(?:access_denied|invalid_client|invalid_client_metadata|invalid_grant|invalid_redirect_uri|invalid_request|invalid_scope|invalid_target|server_error|unauthorized_client|unsupported_grant_type)$ |
error_description | stringEine für Menschen lesbare Erklärung, in der niemals ein Konto genannt wird. |
HTTP 401
JSON-Response-Body. application/json
Schema des Response-Bodys
Vollständiges JSON Schema
Eines der folgenden Schemas kann gelten:
error: "SERVER_401"
Autorisierung erforderlich.
Die Antwort kann zusätzliche Felder enthalten.
error: "TOKEN_INVALID_CREDENTIALS"
Ungültige Client-Anmeldedaten.
Die Antwort kann zusätzliche Felder enthalten.
erforderliche Eigenschaften: error
Die Antwort kann zusätzliche Felder enthalten.
| Feld | Typ und Beschreibung |
|---|---|
errorerforderlich | stringEin Fehlercode gemäß RFC 6749, 7591 oder 8707, beispielsweise Validierungsmuster (regulärer Ausdruck)^(?:access_denied|invalid_client|invalid_client_metadata|invalid_grant|invalid_redirect_uri|invalid_request|invalid_scope|invalid_target|server_error|unauthorized_client|unsupported_grant_type)$ |
error_description | stringEine für Menschen lesbare Erklärung, in der niemals ein Konto genannt wird. |
HTTP 403
JSON-Response-Body. application/json
Schema des Response-Bodys
Vollständiges JSON Schema
Eines der folgenden Schemas kann gelten:
error: "TOKEN_INVALID_AUDIENCE"
Ungültige Audience.
Die Antwort kann zusätzliche Felder enthalten.
error: "TOKEN_INVALID_SCOPE"
Ungültiger oder nicht autorisierter Geltungsbereich.
Die Antwort kann zusätzliche Felder enthalten.
HTTP 429
JSON-Response-Body. application/json
Schema des Response-Bodys
Vollständiges JSON Schema
Anfragelimit erreicht.
Die Antwort kann zusätzliche Felder enthalten.
HTTP 500
JSON-Response-Body. application/json
Schema des Response-Bodys
Vollständiges JSON Schema
Unerwarteter Fehler.
Die Antwort kann zusätzliche Felder enthalten.