Zum Inhalt springen

App-Installation-Token ausstellen

Authentifizieren Sie eine Developer Application mit einer einmaligen RS256-Assertion und stellen Sie ein kurzlebiges Token für eine genehmigte App Installation aus.

POST/developer-api/v1/app-installations/{installationId}/access-tokensAPI-Version: v1operationId: issueInstallationAccessTokenAls Markdown anzeigen

Funktion dieser Methode

Authentifizieren Sie eine Developer Application mit einer einmaligen RS256-Assertion und stellen Sie ein kurzlebiges Token für eine genehmigte App Installation aus.

Authentifizierung

Senden Sie eine einmalige RS256-Assertion der Developer Application in Authorization: Bearer <application_assertion>. Sie ist kein Public-API-Zugriffstoken.

Anfrage

Produktions-URL: https://public-api.cloudprint.me/developer-api/v1/app-installations/{installationId}/access-tokens

Parameter

NamePositionTypErforderlichBeschreibungEinschränkungen
installationIdpathstring (uuid)jaStabile UUID der App Installation in der Zuordnung des Integrators.
X-Request-IdheaderstringneinOptionale Kennung zur Anfrageverfolgung; CloudPrint gibt einen sicheren Wert im Antwort-Header zurück.maxLength: 128; example: "order-100045-attempt-1"

Anfrageinhalt

Inhaltstyp: application/json

NameTypErforderlichBeschreibungEinschränkungen
permissionsarrayneinFür die App Installation genehmigte Berechtigungen.

Anfragebeispiele

cURL

bash
curl -sS https://public-api.cloudprint.me/developer-api/v1/app-installations/$INSTALLATION_ID/access-tokens \
  -H "Authorization: Bearer $APPLICATION_ASSERTION" \
  -H 'Content-Type: application/json' \
  -d '{"permissions":["documents:write","print_jobs:write"]}'

Antwort

HTTP-Status: 200 — Anfrage erfolgreich.

Antwortfelder

NameTypErforderlichBeschreibungEinschränkungen
access_tokenstringjaKurzlebiges OAuth2-Bearer-Token für Anfragen an die Public API.example: "eyJ..."
token_typestringjaOAuth2-Token-Typ; die Public API verwendet Bearer.enum: Bearer
expires_inintegerjaGültigkeitsdauer des Zugriffstokens in Sekunden ab Ausstellung.min: 1; example: 3600
installation_idstring (uuid)jaStabile UUID der App Installation, die mit der Ressource verknüpft ist.
account_idstring (uuid)jaStabile UUID des CloudPrint-Kontos, dem die Ressource gehört.
permissionsarrayjaFür die App Installation genehmigte Berechtigungen.

Beispielantwort

json
{
  "access_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "installation_id": "11111111-1111-4111-8111-111111111111",
  "account_id": "11111111-1111-4111-8111-111111111111",
  "permissions": [
    "agents:read"
  ]
}

Fehler

HTTP-StatusBeschreibung
401Authentifizierung fehlt oder ist ungültig.
422Mindestens ein Feld ist ungültig.
429Anfragelimit überschritten; beachten Sie Retry-After.
500Interner CloudPrint-Fehler.

Hinweise zur Integration

  • Erstellen Sie für jede Anfrage eine neue Assertion: RS256, aktives kid, client_id in iss und sub, exakte Methoden-URL in aud, höchstens fünf Minuten Laufzeit und eindeutiges jti.
  • Ordnen Sie die stabile installation_id Ihrem Kunden oder Tenant zu. Die Methode akzeptiert keine externe Kunden-ID.
  • Es gibt kein Refresh-Token. Cachen Sie das Token bis kurz vor expires_in und stellen Sie dann ohne erneute Installation ein neues aus.

Verwandte Dokumentation

Anleitungen zur CloudPrint-Integration, zur Verbindung des lokalen Agenten und zum zuverlässigen Betrieb von Druckabläufen.