Rappresentazione
I codici di errore avanzati possono essere rappresentati nel formato JSON
o XML
a seconda dell'API di autenticazione Adobe Pass integrata e del valore di intestazione "Accept" utilizzato (ad esempio application/json
o application/xml
):
API di autenticazione di Adobe Pass | JSON | XML |
---|---|---|
API REST v2 | ✓ | |
API REST v1 | ✓ | ✓ |
API di pre-autorizzazione SDK | ✓ |
- Informazioni sull'errore di primo livello: in questo caso, l'oggetto "error" si trova di primo livello, pertanto il corpo della risposta può contenere solo l'oggetto "error".
- Informazioni sull'errore a livello di elemento: in questo caso, l'oggetto "error" si trova a livello di elemento, pertanto il corpo della risposta può contenere un oggetto "error" per tutti gli elementi che hanno riscontrato un errore durante la manutenzione.
API REST v2
Consulta le seguenti risposte HTTP contenenti esempi di codici di errore avanzati rappresentati come JSON
applicabili per API REST v2.
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=it",
"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=it",
"trace": "12f6fef9-d2e0-422b-a9d7-60d799abe353"
}
API REST v1
Consulta le seguenti risposte HTTP contenenti esempi di codici di errore avanzati rappresentati come JSON
o XML
applicabili per API REST v1.
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=it",
"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=it",
"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=it</helpUrl>
<trace>8bcb17f9-b172-47d2-86d9-3eb146eba85e</trace>
</error>
Struttura
I codici di errore avanzati includono i seguenti campi JSON
o attributi XML
con esempi:
Nome | Tipo | Esempio | Limitato | Descrizione |
---|---|---|---|---|
azione | stringa | nessuno | ✓ | L’autenticazione di Adobe Pass ha consigliato un’azione che potrebbe risolvere la situazione come definito in questo documento. Per ulteriori dettagli, consulta la sezione Azione. |
stato | numero intero | 403 | ✓ | Il codice di stato della risposta HTTP come definito nel documento RFC 7231. Per ulteriori dettagli, consulta la sezione Stato. |
codice | stringa | autorizzazione_negata_da_mvpd | ✓ | Il codice identificativo univoco dell’autenticazione Adobe Pass associato all’errore come definito in questo documento. Per ulteriori dettagli, consulta la sezione Codice. |
messaggio | stringa | Il MVPD ha restituito una decisione di rifiuto durante la richiesta di autorizzazione per la risorsa specificata | Il messaggio leggibile che in alcuni casi può essere visualizzato all’utente finale. Per ulteriori dettagli, consulta la sezione Gestione delle risposte. | |
dettagli | stringa | Il pacchetto di abbonamento non include il canale "Live" | Messaggio dettagliato che potrebbe essere fornito da un partner di servizi in alcuni casi, Questo campo potrebbe non essere presente nel caso in cui il partner di servizi non fornisca alcun messaggio personalizzato. | |
helpUrl | url | https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=it | L’URL della documentazione pubblica di Autenticazione di Adobe Pass che rimanda a ulteriori informazioni sul motivo di questo errore e sulle possibili soluzioni. Questo campo contiene un URL assoluto e non deve essere dedotto dal codice di errore, a seconda del contesto di errore è possibile fornire un URL diverso. | |
traccia | stringa | 12f6fef9-d2e0-422b-a9d7-60d799abe353 | Identificatore univoco della risposta che può essere utilizzato quando si contatta il supporto per l’autenticazione di Adobe Pass per la risoluzione di problemi specifici. |
Azione
I codici di errore avanzati includono un campo "action" che fornisce un’azione consigliata che potrebbe risolvere la situazione.
I valori possibili per il campo "azione" includono:
Azione | Descrizione | Categoria |
---|---|---|
nessuno | Non esiste un’azione predefinita per risolvere questo problema, ma in alcuni casi ciò potrebbe indicare una chiamata impropria dell’API. | Correggi il contesto della richiesta. |
configurazione | L’applicazione client richiede una modifica della configurazione, la maggior parte del tempo eseguita tramite Adobe Pass TVE Dashboard. | Correggi il contesto di configurazione dell’integrazione. |
registrazione dell'applicazione | L'applicazione client richiede di registrarsi di nuovo. | Correggere il contesto dell'applicazione client. |
autenticazione | L'applicazione client richiede l'autenticazione o la riautenticazione dell'utente. | Correggere il contesto dell'applicazione client. |
autorizzazione | L'applicazione client richiede di ottenere l'autorizzazione per la risorsa specificata. | Correggere il contesto dell'applicazione client. |
riprova | L'applicazione client richiede di ripetere la richiesta. | Correggi il contesto della richiesta. |
(*) Per alcuni errori, potrebbero essere possibili più azioni, ma il campo "action" indica quella con la maggiore probabilità di correggere l'errore.
Stato
I codici di errore avanzati includono un campo "status" che indica il codice di stato HTTP associato all’errore.
I valori possibili per il campo "status" includono:
Codice | Frase-Motivo |
---|---|
400 | Richiesta non valida |
401 | Non autorizzato |
403 | Non consentito |
404 | Non trovato |
405 | Metodo non consentito |
410 | Non più |
412 | Precondizione non riuscita |
500 | Errore interno del server |
Codici di errore migliorati con uno "stato" 4xx vengono in genere visualizzati quando l’errore viene generato dal client e la maggior parte delle volte implica che il client richiede un lavoro aggiuntivo per correggerlo.
Codici di errore migliorati con uno "stato" 5xx vengono in genere visualizzati quando l’errore viene generato dal server e la maggior parte delle volte implica che il server richiede un lavoro aggiuntivo per correggerlo.
Codice
I codici di errore avanzati includono un campo "code" che fornisce un identificatore univoco di autenticazione Adobe Pass associato all’errore.
I valori possibili per il campo "code" sono aggregati di seguito in due elenchi basati sull'API di autenticazione Adobe Pass integrata.
Elenchi
API REST v2
La tabella seguente elenca i possibili codici di errore avanzati che un’applicazione client potrebbe incontrare quando integrata con l’API REST di autenticazione di Adobe Pass v2.
Azione | Codice | Stato | Messaggio |
---|---|---|---|
nessuno | invalid_parameter_service_provider | 400 | Il valore del parametro del provider di servizi è mancante o non valido. |
invalid_parameter_mvpd | 400 | Il valore del parametro mvpd è mancante o non valido. | |
invalid_parameter_code | 400 | Valore del parametro di codice mancante o non valido. | |
invalid_parameter_resources | 400 | Il valore del parametro delle risorse è mancante o non valido. | |
invalid_parameter_redirect_url | 400 | Il valore del parametro URL di reindirizzamento è mancante o non valido. | |
partner_parametro_non valido | 400 | Il valore del parametro partner è mancante o non valido. | |
invalid_parameter_saml_response | 400 | Il valore del parametro di risposta SAML è mancante o non valido. | |
informazioni_dispositivo_intestazione_non_valida | 400 | Valore dell'intestazione delle informazioni sul dispositivo mancante o non valido. | |
invalid_header_device_identifier | 400 | Il valore dell'intestazione dell'identificatore del dispositivo è mancante o non valido. | |
invalid_header_identity_for_temporary_access | 400 | Identità del valore dell'intestazione di accesso temporaneo mancante o non valida. | |
invalid_header_pfs_permission_access_not_present | 400 | Il valore dello stato di accesso alle autorizzazioni dall’intestazione dello stato del framework del partner non è presente. | |
invalid_header_pfs_permission_access_not_determinate | 400 | Il valore dello stato di accesso alle autorizzazioni dall’intestazione dello stato del framework del partner è indeterminato. | |
invalid_header_pfs_permission_access_not_allowed | 400 | Il valore dello stato di accesso alle autorizzazioni dall’intestazione dello stato del framework del partner non è concesso. | |
intestazione_non_valida_pfs_provider_id_non_determinata | 400 | Il valore dell'ID provider dall'intestazione dello stato del framework partner non è associato a un mvpd noto. | |
invalid_header_pfs_provider_id_mismatch | 400 | Il valore dell’ID del provider dall’intestazione dello stato del framework del partner non corrisponde al mvpd inviato come parametro. | |
intestazione_non_valida_pfs_provider_info_scaduta | 400 | Le informazioni sul provider dall'intestazione dello stato del framework partner sono scadute. | |
invalid_integration | 400 | L'integrazione tra il provider di servizi specificato e mvpd non esiste o è disabilitata. | |
invalid_authentication_session | 400 | La sessione di autenticazione associata a questa richiesta è mancante o non valida. | |
preautorizzazione_negata_da_mvpd | 403 | MVPD ha restituito una decisione di rifiuto quando ha richiesto la pre-autorizzazione per la risorsa specificata. | |
autorizzazione_negata_da_mvpd | 403 | MVPD ha restituito una decisione di rifiuto durante la richiesta di autorizzazione per la risorsa specificata. | |
autorizzazione_negata_da_controlli_genitori | 403 | Il MVPD ha restituito una decisione di rifiuto a causa delle impostazioni di Controllo genitori per la risorsa specificata. | |
autorizzazione_negata_per_regola_degradazione | 403 | L'integrazione tra il provider di servizi specificato e mvpd prevede l'applicazione di una regola di degrado che nega l'autorizzazione per le risorse richieste. | |
errore_server_interno | 500 | Richiesta non riuscita a causa di un errore interno del server. | |
configurazione | troppe_risorse | 403 | Richiesta di autorizzazione o preautorizzazione non riuscita perché sono state eseguite query su troppe risorse. Contatta il team di supporto per configurare correttamente le limitazioni di autorizzazione e preautorizzazione. |
invalid_configuration_user_metadata_certificate | 500 | Configurazione del certificato metadati utente mancante o non valida. | |
invalid_configuration_temporary_access | 500 | Configurazione di accesso temporaneo non valida. | |
piattaforma_configurazione_non_valida | 500 | Configurazione della piattaforma mancante o non valida per l’integrazione. | |
invalid_configuration_platform_id | 500 | Configurazione dell’ID piattaforma mancante o non valida. | |
invalid_configuration_platform_trait | 500 | Configurazione delle caratteristiche della piattaforma mancante o non valida. | |
invalid_configuration_platform_category_trait | 500 | Configurazione della caratteristica della categoria della piattaforma mancante o non valida. | |
invalid_configuration_platform_services | 500 | Configurazione dei servizi Platform mancante o non valida per l’integrazione. | |
piattaforma_mvpd_configuration_invalid | 500 | Configurazione piattaforma mvpd mancante o non valida per mvpd e piattaforma. | |
invalid_configuration_mvpd_platform_boarding_status | 500 | Configurazione dello stato di boarding della piattaforma mvpd mancante o non valida per mvpd e piattaforma. | |
invalid_configuration_mvpd_platform_profile_exchange | 500 | Configurazione di scambio del profilo della piattaforma mvpd mancante o non valida per mvpd e piattaforma. | |
registrazione-applicazione | provider_servizio_accesso_non_valido | 401 | Token di accesso non valido a causa di un provider di servizi non valido. |
invalid_access_token_client_application | 401 | Token di accesso non valido a causa di un'applicazione client non valida. | |
autenticazione | profilo_autenticato_mancante | 403 | Manca il profilo autenticato associato a questa richiesta. |
profilo_autenticato_scaduto | 403 | Il profilo autenticato associato a questa richiesta è scaduto. | |
profilo_autenticato_invalidato | 403 | Il profilo autenticato associato a questa richiesta è stato invalidato. | |
temporary_access_duration_limit_exceeded | 403 | È stato superato il limite di durata dell’accesso temporaneo. | |
temporary_access_resources_limit_exceeded | 403 | È stato superato il limite delle risorse di accesso temporanee. | |
autorizzazione_negata_da_hba_policies | 403 | MVPD ha restituito una decisione di rifiuto a causa di criteri di autenticazione basati su home. L'autenticazione corrente è stata ottenuta tramite un flusso di autenticazione basato sulla Home, ma il dispositivo non è più in-home quando si richiede l'autorizzazione per la risorsa specificata. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
autorizzazione_negata_da_sessione_invalidata | 403 | Sessione di autenticazione invalidata dal provider di identità. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
identità_non_riconosciuta_da_mvpd | 403 | La richiesta di autorizzazione non è riuscita perché l'identità utente non è stata riconosciuta da MVPD. | |
riprova | errore_ricevuto_di_rete | 403 | Errore di lettura durante il recupero della risposta dal servizio partner associato. Un nuovo tentativo di richiesta potrebbe risolvere il problema. |
connessione di rete_timeout | 403 | Timeout di connessione con il servizio partner associato. Un nuovo tentativo di richiesta potrebbe risolvere il problema. | |
tempo_esecuzione_massimo_superato | 403 | La richiesta non è stata completata entro il tempo massimo consentito. Un nuovo tentativo di richiesta potrebbe risolvere il problema. |
API REST v1
La tabella seguente elenca i possibili codici di errore avanzati che un’applicazione client potrebbe incontrare quando integrata con l’API REST di autenticazione di Adobe Pass v1.
Azione | Codice | Stato | Messaggio |
---|---|---|---|
nessuno | invalid_requestor | 400 | Parametro del richiedente mancante o non valido. |
informazioni_dispositivo_non_valido | 400 | Informazioni dispositivo mancanti o non valide. | |
invalid_device_id | 400 | Identificatore dispositivo mancante o non valido. | |
risorsa_mancante | 400, 412 | Parametro di risorsa mancante. | |
richiesta_authz_non valida | 400, 412 | La richiesta di autorizzazione è nulla o non valida. | |
preautorizzazione_negata_da_mvpd | 403 | MVPD ha restituito una decisione di rifiuto quando ha richiesto la pre-autorizzazione per la risorsa specificata. | |
autorizzazione_negata_da_mvpd | 403 | MVPD ha restituito una decisione di rifiuto durante la richiesta di autorizzazione per la risorsa specificata. | |
autorizzazione_negata_da_controlli_genitori | 403 | Il MVPD ha restituito una decisione di rifiuto a causa delle impostazioni di Controllo genitori per la risorsa specificata. | |
errore_interno | 400, 405, 500 | Richiesta non riuscita a causa di un errore interno del server. | |
configurazione | integrazione_sconosciuta | 400, 412 | L'integrazione tra il programmatore specificato e il provider di identità non esiste. Utilizzate il dashboard TVE per creare l'integrazione richiesta. |
troppe_risorse | 403 | Richiesta di autorizzazione o preautorizzazione non riuscita perché sono state eseguite query su troppe risorse. Contatta il team di supporto per configurare correttamente le limitazioni di autorizzazione e preautorizzazione. | |
autenticazione | authentication_session_issuer_mismatch | 400 | Richiesta di autorizzazione non riuscita a causa del fatto che il MVPD indicato per il flusso di autorizzazione è diverso da quello che ha emesso la sessione di autenticazione. Per continuare, l’utente deve autenticare di nuovo con il MVPD desiderato. |
autorizzazione_negata_da_hba_policies | 403 | MVPD ha restituito una decisione di rifiuto a causa di criteri di autenticazione basati su home. L'autenticazione corrente è stata ottenuta utilizzando un flusso di autenticazione basato sulla home, ma il dispositivo non è più a casa quando si richiede l'autorizzazione per la risorsa specificata. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
autorizzazione_negata_da_sessione_invalidata | 403 | Sessione di autenticazione invalidata dal provider di identità. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
identità_non_riconosciuta_da_mvpd | 403 | La richiesta di autorizzazione non è riuscita perché l'identità utente non è stata riconosciuta da MVPD. | |
autenticazione_sessione_invalidata | 403 | Sessione di autenticazione invalidata dal provider di identità. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
sessione di autenticazione_mancante | 404, 412 | Impossibile recuperare la sessione di autenticazione associata a questa richiesta. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
sessione di autenticazione_scaduta | 404, 412 | La sessione di autenticazione corrente è scaduta. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
sessione_autenticazione_preautorizzazione_mancante | 412 | Impossibile recuperare la sessione di autenticazione associata a questa richiesta. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
sessione_autenticazione_preautorizzazione_scaduta | 412 | La sessione di autenticazione corrente è scaduta. Per continuare, l’utente deve autenticare di nuovo con un MVPD supportato. | |
autorizzazione | autorizzazione_non_trovata | 403, 404 | Non è stata trovata alcuna autorizzazione per la risorsa specificata. L’utente deve ottenere una nuova autorizzazione per continuare. |
autorizzazione_scaduta | 410 | L'autorizzazione precedente per la risorsa specificata è scaduta. L’utente deve ottenere una nuova autorizzazione per continuare. | |
riprova | errore_ricevuto_di_rete | 403 | Errore di lettura durante il recupero della risposta dal servizio partner associato. Un nuovo tentativo di richiesta potrebbe risolvere il problema. |
connessione di rete_timeout | 403 | Timeout di connessione con il servizio partner associato. Un nuovo tentativo di richiesta potrebbe risolvere il problema. | |
tempo_esecuzione_massimo_superato | 403 | La richiesta non è stata completata entro il tempo massimo consentito. Un nuovo tentativo di richiesta potrebbe risolvere il problema. |
API di pre-autorizzazione SDK
Consulta la sezione precedente per informazioni sui possibili codici di errore avanzati che un'applicazione client potrebbe incontrare quando integrata con l'API di preautorizzazione degli SDK di autenticazione di Adobe Pass.
Gestione della risposta
In sintesi, quando gestisci le risposte contenenti codici di errore avanzati, prendi in considerazione quanto segue:
-
Verifica entrambi i valori di stato: controlla sempre sia il codice di stato della risposta HTTP che il campo "stato" del codice di errore avanzato. Potrebbero essere diversi ed entrambi forniscono informazioni preziose.
-
Informazioni di errore di livello principale e di livello elemento: gestire le informazioni di errore di livello principale e di livello elemento indipendentemente dal modo in cui vengono comunicate, assicurarsi di poter gestire entrambe le forme di trasmissione dei codici di errore avanzati.
-
Logica tentativi: per gli errori che richiedono un nuovo tentativo, assicurati che i nuovi tentativi vengano eseguiti con un backoff esponenziale per evitare di sopraffare il server. Inoltre, nel caso di API di autenticazione di Adobe Pass che gestiscono più elementi contemporaneamente (ad esempio, API di preautorizzazione), devi includere nella richiesta ripetuta solo gli elementi contrassegnati con "riprova" e non l’intero elenco.
-
Modifiche alla configurazione: per gli errori che richiedono modifiche alla configurazione, verificare che le modifiche necessarie siano state apportate prima di avviare la nuova applicazione o la nuova funzionalità.
-
Autenticazione e autorizzazione: per gli errori relativi all'autenticazione e all'autorizzazione, è necessario richiedere all'utente di ripetere l'autenticazione o ottenere una nuova autorizzazione in base alle esigenze.
-
Feedback utente: facoltativo, utilizzare i campi "messaggio" e (potenziali) "dettagli" leggibili per informare l'utente del problema. Il messaggio di testo "details" (Dettagli) potrebbe venire trasmesso dagli endpoint di pre-autorizzazione o autorizzazione di MVPD o dal Programmatore quando si applicano regole di degradazione.