Verbesserte Fehler-Codes
- Themen:
- Authentifizierung
Erweiterte Fehler-Codes stellen eine Adobe Pass-Authentifizierungsfunktion dar, die zusätzliche Fehlerinformationen für in integrierte Client-Anwendungen bereitstellt:
-
Adobe Pass Authentication REST-APIs:
-
Adobe Pass-Authentifizierungs-SDKs autorisieren die API vorab:
- (Legacy) JavaScript SDK (API vorautorisieren)
- (Legacy) iOS/tvOS SDK (API vorautorisieren)
- (Legacy) Android SDK (API vorautorisieren)
(*) Preauthorize API ist die einzige SDK-API zur Adobe Pass-Authentifizierung, die Unterstützung für erweiterte Fehler-Codes bietet.
Darstellung
Erweiterte Fehler-Codes können je nach integrierter Adobe Pass-Authentifizierungs-API und dem verwendeten Kopfzeilenwert „Accept“ (d. h. application/json
oder application/xml
) im JSON
- oder XML
-Format dargestellt werden:
- Fehlerinformationen der obersten Ebene: In diesem Fall befindet sich das "" auf der obersten Ebene. Daher kann der Antworttext nur das Objekt "" enthalten.
- Fehlerinformationen auf Elementebene: In diesem Fall befindet sich das error“-Objekt auf Elementebene, daher kann der Antworttext ein „error“-Objekt für alle Elemente enthalten, bei denen während der Wartung ein Fehler aufgetreten ist.
REST API v2
Siehe die folgenden HTTP-Antworten mit Beispielen für erweiterte Fehler-Codes, die JSON
für die REST-API v2 gelten.
HTTP/1.1 200 OK
Content-Type: application/json
{
"decisions": [
{
"resource": "REF30",
"serviceProvider": "REF30",
"mvpd": "Cablevision",
"source": "mvpd",
"authorized": true,
"token": {
"issuedAt": 1697094207324,
"notBefore": 1697094207324,
"notAfter": 1697094802367,
"serializedToken": "PHNpZ25hdHVyZUluZm8..."
}
},
{
"resource": "REF40",
"serviceProvider": "REF40",
"mvpd": "Cablevision",
"source": "mvpd",
"authorized": false,
"error" : {
"action": "none",
"status": 403,
"code": "authorization_denied_by_mvpd",
"message": "The MVPD has returned a \"Deny\" decision when requesting authorization for the specified resource",
"details": "Your subscription package does not include the \"Live\" channel",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=de",
"trace": "12f6fef9-d2e0-422b-a9d7-60d799abe353"
}
}
]
}
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"action": "none",
"status": 400,
"code": "invalid_parameter_service_provider",
"message": "The service provider parameter value is missing or invalid.",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=de",
"trace": "12f6fef9-d2e0-422b-a9d7-60d799abe353"
}
REST-API v1
Siehe die folgenden HTTP-Antworten mit Beispielen für erweiterte Fehler-Codes, die als JSON
oder XML
für die REST-API v1 dargestellt werden.
HTTP/1.1 200 OK
Content-Type: application/json
{
"resources": [
{
"id": "TestStream1",
"authorized": true
},
{
"id": "TestStream2",
"authorized": false,
"error": {
"action": "none",
"status": 403,
"code": "authorization_denied_by_mvpd",
"message": "The MVPD has returned a \"Deny\" decision when requesting authorization for the specified resource",
"details": "Your subscription package does not include the \"Live\" channel",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=de",
"trace": "12f6fef9-d2e0-422b-a9d7-60d799abe353"
}
}
]
}
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"action": "none",
"status": 400,
"code": "invalid_requestor",
"message": "The requestor parameter is missing or invalid.",
"helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=de",
"trace": "8bcb17f9-b172-47d2-86d9-3eb146eba85e"
}
HTTP/1.1 400 Bad Request
Content-Type: application/xml
<error>
<action>none</action>
<status>400</status>
<code>invalid_requestor</code>
<message>The requestor parameter is missing or invalid.</message>
<helpUrl>https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=de</helpUrl>
<trace>8bcb17f9-b172-47d2-86d9-3eb146eba85e</trace>
</error>
Struktur
Erweiterte Fehler-Codes enthalten die folgenden JSON
Felder oder XML
Attribute mit Beispielen:
Weitere Informationen finden Sie im Abschnitt Aktion .
Weitere Informationen finden Sie im Abschnitt Code .
Weitere Informationen finden Sie im Abschnitt Antwortverarbeitung .
Dieses Feld ist möglicherweise nicht vorhanden, wenn der Service-Partner keine benutzerdefinierte Nachricht bereitstellt.
Dieses Feld enthält eine absolute URL und sollte nicht aus dem Fehlercode abgeleitet werden. Abhängig vom Fehlerkontext kann eine andere URL angegeben werden.
Aktion
Erweiterte Fehler-Codes enthalten ein Feld „Aktion“, das eine empfohlene Aktion bereitstellt, mit der die Situation behoben werden kann.
Zu den möglichen Werten für das Feld „Aktion“ gehören:
(*) Bei einigen Fehlern können mehrere Aktionen mögliche Lösungen sein, aber das Feld „Aktion“ zeigt die Aktion mit der höchsten Wahrscheinlichkeit an, den Fehler zu beheben.
Status
Erweiterte Fehler-Codes enthalten ein Feld „Status“, das den mit dem Fehler verknüpften HTTP-Status-Code angibt.
Zu den möglichen Werten für das Feld „Status“ gehören:
Erweiterte Fehler-Codes mit einem 4xx „Status“ erscheinen in der Regel, wenn der Fehler vom Client erzeugt wird und in den meisten Fällen bedeutet dies, dass der Client zusätzliche Arbeit benötigt, um ihn zu beheben.
Erweiterte Fehler-Codes mit einem 5xx „Status“ erscheinen normalerweise, wenn der Fehler vom Server erzeugt wird, und in den meisten Fällen bedeutet dies, dass der Server zusätzliche Arbeit benötigt, um ihn zu beheben.
Code
Erweiterte Fehler-Codes enthalten ein Feld „Code“, das eine eindeutige Kennung für die Adobe Pass-Authentifizierung bereitstellt, die mit dem Fehler verknüpft ist.
Die möglichen Werte für das Feld „Code“ werden ( unten)zwei Listen aggregiert, die auf der integrierten Adobe Pass-Authentifizierungs-API basieren.
Listen
REST API v2
In der folgenden Tabelle sind mögliche erweiterte Fehler-Codes aufgeführt, auf die eine Client-Anwendung stoßen kann, wenn sie in die Adobe Pass Authentication REST API v2 integriert ist.
REST-API v1
In der folgenden Tabelle sind mögliche erweiterte Fehler-Codes aufgeführt, auf die eine Client-Anwendung stoßen kann, wenn sie in die Adobe Pass Authentication REST API v1 integriert ist.
SDKs autorisieren die API vorab
Im vorherigen finden Siemöglichen erweiterten Fehler-Codes, auf die eine Client-Anwendung stoßen könnte, wenn sie mit Adobe Pass Authentication SDKs integriert wird, die die API vorautorisieren.
Umgang mit Antworten
Zusammenfassend sollten Sie beim Umgang mit Antworten mit erweiterten Fehler-Codes Folgendes beachten:
-
Beide Statuswerte überprüfen: Überprüfen Sie immer sowohl den HTTP-Antwort-Status-Code als auch das Feld „Status“ des erweiterten Fehler-Codes. Sie können unterschiedlich sein und beide liefern wertvolle Informationen.
-
Unabhängig von Fehlerinformationen auf oberster Ebene und auf Elementebene: Verarbeiten Sie Fehlerinformationen auf oberster und Elementebene unabhängig von der Art und Weise, wie sie kommuniziert werden, und stellen Sie sicher, dass Sie beide Formen der Übertragung von erweiterten Fehler-Codes verarbeiten können.
-
Wiederholungslogik: Stellen Sie bei Fehlern, für die ein erneuter Versuch erforderlich ist, sicher, dass weitere Versuche mit exponentiellem Backoff erfolgen, um zu vermeiden, dass der Server überlastet wird. Außerdem sollten Sie bei Adobe Pass-Authentifizierungs-APIs, die mehrere Elemente gleichzeitig verarbeiten (z. B. die Vorabautorisierungs-API), in die wiederholte Anfrage nur die Elemente einbeziehen, die mit „Wiederholen“ gekennzeichnet sind, und nicht die gesamte Liste.
-
Konfigurationsänderungen: Stellen Sie bei Fehlern, die Konfigurationsänderungen erfordern, sicher, dass die erforderlichen Änderungen vorgenommen werden, bevor Sie das neue Programm oder die neue Funktion starten.
-
Authentifizierung und Autorisierung: Bei Fehlern im Zusammenhang mit der Authentifizierung und Autorisierung müssen Sie den Benutzer auffordern, sich erneut zu authentifizieren oder bei Bedarf eine neue Autorisierung zu erhalten.
-
Benutzer-Feedback: Optional können Sie die Felder „Nachricht“ und (potenzielle) „Details“ in menschenlesbarer Form verwenden, um den Benutzer über das Problem zu informieren. Die Textnachricht „Details“ wird möglicherweise von den Vorautorisierungs- oder Autorisierungsendpunkten von MVPD oder vom Programmierer übergeben, wenn Abbauregeln angewendet werden.