Crea e recupera il profilo utilizzando la risposta di autenticazione del partner create-and-retrieve-profile-using-partner-authentication-response

IMPORTANT
Il contenuto di questa pagina viene fornito solo a scopo informativo. L’utilizzo di questa API richiede una licenza corrente da Adobe. Non è consentito alcun uso non autorizzato.
IMPORTANT
L'implementazione REST API V2 è limitata dalla documentazione del meccanismo di limitazione.

Richiesta request

HTTP
percorso
/api/v2/{serviceProvider}/profiles/sso/{partner}
metodo
POST
Parametri percorso
serviceProvider
Identificatore univoco interno associato al provider di servizi durante il processo di onboarding.
obbligatorio
partner
Il nome del partner (ad esempio, Apple) che fornisce il framework single sign-on integrato con i flussi di autenticazione di Adobe Pass.
obbligatorio
Parametri corpo
SAMLResponse
La risposta di autenticazione partner che contiene i metadati utente necessari per creare e salvare un profilo partner.

Il valore deve essere codificato in Base64 e successivamente in URL.
obbligatorio
Intestazioni
Autorizzazione
La generazione del payload del token Bearer è descritta nella documentazione dell'intestazione Authorization.
obbligatorio
Content-Type
Tipo di file multimediale accettato per le risorse inviate.

Deve essere codificata in application/x-www-form-urlencoded.
obbligatorio
AP-Device-Id
La generazione del payload dell'identificatore del dispositivo è descritta nella documentazione dell'intestazione AP-Device-Identifier.
obbligatorio
X-Device-Info
La generazione del payload di informazioni sul dispositivo è descritta nella documentazione dell'intestazione X-Device-Info.

Si consiglia vivamente di utilizzarlo sempre quando la piattaforma del dispositivo dell’applicazione consente di fornire esplicitamente valori validi.

Se fornito, il backend di autenticazione di Adobe Pass unirà in modo esplicito i valori con quelli estratti in modo implicito (per impostazione predefinita).

Se non viene fornito, il backend di autenticazione Adobe Pass utilizzerà i valori estratti in modo implicito (per impostazione predefinita).
obbligatorio
AP-Partner-Framework-Status
La generazione del payload Single Sign-On per il metodo Partner è descritta nella documentazione dell'intestazione AP-Partner-Framework-Status.

Per ulteriori dettagli sui flussi abilitati per il Single Sign-On tramite un partner, fare riferimento alla documentazione Single Sign-On tramite flussi partner.
facoltativo
X-Forwarded-For
Indirizzo IP del dispositivo di streaming.

Si consiglia vivamente di utilizzarlo sempre per le implementazioni server-to-server, in particolare quando la chiamata viene effettuata dal servizio del programmatore anziché dal dispositivo di streaming.

Per le implementazioni client-server, l’indirizzo IP del dispositivo di streaming viene inviato in modo implicito.
facoltativo
AP-Visitor-Identifier
La generazione del payload dell'identificatore del visitatore è descritta nella documentazione dell'intestazione AP-Visitor-Identifier.
facoltativo
Accetta
Tipo di supporto accettato dall'applicazione client.

Se specificato, deve essere application/json.
facoltativo
User-Agent
Agente utente dell’applicazione client.
facoltativo

Risposta response

Codice
Testo
Descrizione
201
Creato
Il corpo della risposta contiene una mappa di profili validi, che può essere vuota.
400
Richiesta non valida
Richiesta non valida. Il client deve correggere la richiesta e riprovare. Il corpo della risposta può contenere informazioni di errore conformi alla documentazione di Codici di errore avanzati.
401
Non autorizzato
Il token di accesso non è valido, il client deve ottenere un nuovo token di accesso e riprovare. Per ulteriori dettagli, consulta la documentazione Panoramica registrazione client dinamico.
405
Metodo non consentito
Metodo HTTP non valido. Il client deve utilizzare un metodo HTTP consentito per la risorsa richiesta e riprovare. Per ulteriori dettagli, consulta la sezione Richiesta.
500
Errore interno del server
Si è verificato un problema sul lato server. Il corpo della risposta può contenere informazioni di errore conformi alla documentazione di Codici di errore avanzati.

Completato success

Intestazioni
Stato
201
obbligatorio
Content-Type
application/json
obbligatorio
Corpo
profili

JSON contenente una mappa di coppie chiave-valore.

L’elemento chiave è definito dal seguente valore:

table 0-row-3 1-row-3 1-bgcolor-eff2f7 2-bgcolor-eff2f7 3-bgcolor-eff2f7 5-bgcolor-deebff layout-auto html-authored
Valore
mvpd Identificatore univoco interno associato al provider di identità durante il processo di onboarding. obbligatorio

L'elemento value è definito dai seguenti attributi:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 1-bgcolor-eff2f7 2-bgcolor-eff2f7 3-bgcolor-eff2f7 5-bgcolor-deebff 9-bgcolor-deebff 13-bgcolor-deebff 17-bgcolor-deebff 21-bgcolor-deebff layout-auto html-authored
Attributo
notBefore La marca temporale in millisecondi prima della quale il profilo non è valido. obbligatorio
notAfter La marca temporale in millisecondi dopo la quale il profilo non è valido. obbligatorio
emittente

Entità a cui appartiene il profilo.

I valori possibili sono:

  • Apple
    Il profilo è stato creato in seguito a: single sign-on con il partner Apple.
obbligatorio
tipo

Tipo del profilo.

I valori possibili sono:

  • appleSSO
    Il profilo è stato creato in seguito a: single sign-on con Apple partner.
obbligatorio
attributi

JSON contenente una mappa di coppie chiave-valore.

L’elemento chiave è definito dagli attributi di metadati dell’utente e può essere:

  • Obbligatorio, come "userID"
  • Non obbligatorio, come "zip", "familyID", "maxRating", ecc.

I valori per gli attributi possono essere:

  • semplice
  • list
  • mappa

I metadati utente diventano disponibili al termine del flusso di autenticazione, ma alcuni attributi di metadati possono essere aggiornati durante il flusso di autorizzazione, a seconda di MVPD e dell’attributo di metadati specifico in questione.

obbligatorio
obbligatorio

Errore error

Intestazioni
Stato
400, 401, 405, 500
obbligatorio
Content-Type
application/json
obbligatorio
Corpo

Il corpo della risposta può fornire informazioni di errore aggiuntive conformi alla documentazione di Codici di errore avanzati.

L’applicazione client deve implementare un meccanismo di gestione degli errori in grado di elaborare correttamente i codici di errore più comunemente restituiti da questa API:

  • invalid_header_pfs_permission_access_not_present
  • invalid_header_pfs_permission_access_not_determinate
  • invalid_header_pfs_permission_access_not_allowed
  • invalid_header_pfs_provider_id_not_determinate
  • invalid_header_pfs_provider_id_mismatch
  • invalid_header_pfs_provider_info_scaduto
  • invalid_parameter_saml_response
  • ecc.

L’elenco di cui sopra non è esaustivo. L'applicazione client deve essere in grado di gestire tutti i codici di errore avanzati definiti nella documentazione pubblica.

obbligatorio

Esempi samples

​1. Creare e recuperare il profilo utilizzando la risposta di autenticazione del partner

Richiesta
code language-https
POST /api/v2/REF30/profiles/sso/Apple HTTP/1.1

    Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNGZjM2U3ZS0xMmQ5LTQ5NWQtYjc0Mi02YWVhYzhhNDkwZTciLCJuYmYiOjE3MjQwODc4NjgsImlzcyI6ImF1dGguYWRvYmUuY29tIiwic2NvcGVzIjoiYXBpOmNsaWVudDp2MiIsImV4cCI6MTcyNDEwOTQ2OCwiaWF0IjoxNzI0MDg3ODY4fQ.DJ9GFl_yKAp2Qw-NVcBeRSnxIhqrwxhns5T5jU31N2tiHxCucKLSQ5guBygqkkJx6D0N_93f50meEEyfb7frbHhVHHwmRjHYjkfrWqHCpviwVjVZKKwl8Y3FEMb0bjKIB8p_E3txX9IbzeNGWRufZBRh2sxB5Q9B7XYINpVfh8s_sFvskrbDu5c01neCx5kEagEW5CtE0_EXTgEb5FSr_SfQG3UUu_iwlkOggOh_kOP_5GueElf9jn-bYBMnpObyN5s-FzuHDG5Rtac5rvcWqVW2reEqFTHqLI4rVC7UKQb6DSvPBPV4AgrutAvk30CYgDsOQILVyrjniincp7r9Ww
    Content-Type: application/x-www-form-urlencoded
    AP-Device-Identifier: fingerprint YmEyM2QxNDEtZDcxNS01NjFjLTk0ZjQtZTllNGM5NjZiMWVi
    X-Device-Info: ewoJInByaW1hcnlIYXJkd2FyZVR5cGUiOiAiU2V0VG9wQm94IiwKCSJtb2RlbCI6ICJUViA1dGggR2VuIiwKCSJtYW51ZmFjdHVyZXIiOiAiQXBwbGUiLAoJIm9zTmFtZSI6ICJ0dk9TIgoJIm9zVmVuZG9yIjogIkFwcGxlIiwKCSJvc1ZlcnNpb24iOiAiMTEuMCIKfQ==
    AP-Partner-Framework-Status: ewogICAgImZyYW1ld29ya1Blcm1pc3Npb25JbmZvIjogewogICAgICAiYWNjZXNzU3RhdHVzIjogImdyYW50ZWQiCiAgICB9LAogICAgImZyYW1ld29ya1Byb3ZpZGVySW5mbyIgOiB7CiAgICAgICJpZCIgOiAiQ2FibGV2aXNpb24iLAogICAgICAiZXhwaXJhdGlvbkRhdGUiIDogIjIwMjU0MzA2MzYwMDAiCiAgICB9Cn0=
    Accept: application/json
    User-Agent: Mozilla/5.0 (Apple TV; U; CPU AppleTV5,3 OS 11.0 like Mac OS X; en_US)

Body:

SAMLResponse=PHNhbWxwOlJlc3BvbnNlIHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiIH...
Risposta
code language-https
HTTP/1.1 201 Created

Content-Type: application/json;charset=UTF-8

{
    "profiles": {
        "Cablevision": {
            "notBefore": 1752149281000,
            "notAfter": 1783685280000,
            "issuer": "Apple",
            "type": "appleSSO",
            "attributes": {
                "userID": {
                    "value": "BASE64_value_userId",
                    "state": "plain"
                },
                "householdID": {
                    "value": "BASE64_value_householdId",
                    "state": "plain"
                },
                "zip": {
                    "value": "BASE64_value_zip",
                    "state": "enc"
                }
            }
        }
     }
}

​2. Crea e recupera il profilo utilizzando la risposta di autenticazione del partner, ma viene applicata la riduzione

Richiesta
code language-https
POST /api/v2/REF30/profiles/sso/Apple HTTP/1.1

    Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNGZjM2U3ZS0xMmQ5LTQ5NWQtYjc0Mi02YWVhYzhhNDkwZTciLCJuYmYiOjE3MjQwODc4NjgsImlzcyI6ImF1dGguYWRvYmUuY29tIiwic2NvcGVzIjoiYXBpOmNsaWVudDp2MiIsImV4cCI6MTcyNDEwOTQ2OCwiaWF0IjoxNzI0MDg3ODY4fQ.DJ9GFl_yKAp2Qw-NVcBeRSnxIhqrwxhns5T5jU31N2tiHxCucKLSQ5guBygqkkJx6D0N_93f50meEEyfb7frbHhVHHwmRjHYjkfrWqHCpviwVjVZKKwl8Y3FEMb0bjKIB8p_E3txX9IbzeNGWRufZBRh2sxB5Q9B7XYINpVfh8s_sFvskrbDu5c01neCx5kEagEW5CtE0_EXTgEb5FSr_SfQG3UUu_iwlkOggOh_kOP_5GueElf9jn-bYBMnpObyN5s-FzuHDG5Rtac5rvcWqVW2reEqFTHqLI4rVC7UKQb6DSvPBPV4AgrutAvk30CYgDsOQILVyrjniincp7r9Ww
    Content-Type: application/x-www-form-urlencoded
    AP-Device-Identifier: fingerprint YmEyM2QxNDEtZDcxNS01NjFjLTk0ZjQtZTllNGM5NjZiMWVi
    X-Device-Info: ewoJInByaW1hcnlIYXJkd2FyZVR5cGUiOiAiU2V0VG9wQm94IiwKCSJtb2RlbCI6ICJUViA1dGggR2VuIiwKCSJtYW51ZmFjdHVyZXIiOiAiQXBwbGUiLAoJIm9zTmFtZSI6ICJ0dk9TIgoJIm9zVmVuZG9yIjogIkFwcGxlIiwKCSJvc1ZlcnNpb24iOiAiMTEuMCIKfQ==
    AP-Partner-Framework-Status: ewogICAgImZyYW1ld29ya1Blcm1pc3Npb25JbmZvIjogewogICAgICAiYWNjZXNzU3RhdHVzIjogImdyYW50ZWQiCiAgICB9LAogICAgImZyYW1ld29ya1Byb3ZpZGVySW5mbyIgOiB7CiAgICAgICJpZCIgOiAiJHtkZWdyYWRlZE12cGR9IiwKICAgICAgImV4cGlyYXRpb25EYXRlIiA6ICIyMDI1NDMwNjM2MDAwIgogICAgfQp9
    Accept: application/json
    User-Agent: Mozilla/5.0 (Apple TV; U; CPU AppleTV5,3 OS 11.0 like Mac OS X; en_US)

Body:

SAMLResponse=PHNhbWxwOlJlc3BvbnNlIHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiIH...
Risposta
code language-https
HTTP/1.1 200 OK

Content-Type: application/json;charset=UTF-8

{
    "profiles": {
        "${degradedMvpd}": {
            "notBefore": 1706636062704,
            "notAfter": 1706696062704,
            "issuer": "Adobe",
            "type": "degraded",
            "attributes": {
                "userID": {
                    "value": "95cf93bcd183214ac9e4433153cb8a9d180a463128c0a5d26f202e8c",
                    "state": "plain"
                }
            }
        }
   }
}
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b