Créer et récupérer un profil à l’aide de la réponse d’authentification du partenaire create-and-retrieve-profile-using-partner-authentication-response

IMPORTANT
Le contenu de cette page est fourni à titre d’information uniquement. L’utilisation de cette API nécessite une licence Adobe actuelle. Aucune utilisation non autorisée n’est autorisée.
IMPORTANT
L’implémentation de l’API REST V2 est limitée par la documentation Mécanisme de limitation.

Requête request

HTTP
chemin
/api/v2/{serviceProvider}/profiles/sso/{partner}
méthode
POSTER
Paramètres de chemin
serviceProvider
Identifiant unique interne associé au fournisseur de services lors du processus d’intégration.
obligatoire
partenaire
Nom du partenaire (par exemple, Apple) qui fournit la structure d’authentification unique intégrée aux flux d’authentification Adobe Pass.
obligatoire
Paramètres du corps
SAMLResponse
Réponse d’authentification du partenaire contenant les métadonnées utilisateur nécessaires pour créer et enregistrer un profil de partenaire.

La valeur doit être codée en Base64 et par la suite en URL.
obligatoire
En-têtes
Autorisation
La génération de la payload du jeton porteur est décrite dans la documentation d’en-tête Authorization.
obligatoire
Content-Type
Type de média accepté pour les ressources en cours d’envoi.

Il doit s’agir de application/x-www-form-urlencoded.
obligatoire
AP-Device-Identifier
La génération de la payload de l’identifiant d’appareil est décrite dans la documentation d’en-tête AP-Device-Identifier.
obligatoire
X-Device-Info
La génération de la payload d’informations sur le périphérique est décrite dans la documentation d’en-tête X-Device-Info.

Il est vivement recommandé de toujours l’utiliser lorsque la plateforme d’appareil de l’application permet la fourniture explicite de valeurs valides.

Lorsqu’il est fourni, le serveur principal d’authentification Adobe Pass fusionne implicitement (par défaut) les valeurs définies explicitement avec les valeurs extraites.

Lorsqu’il n’est pas fourni, le serveur principal de l’authentification Adobe Pass utilise implicitement (par défaut) les valeurs extraites.
obligatoire
AP-Partner-Framework-Status
La génération de la payload d’authentification unique pour la méthode Partner est décrite dans la documentation d’en-tête AP-Partner-Framework-Status.

Pour plus d’informations sur l’authentification unique activée pour les flux utilisant un partenaire, reportez-vous à la documentation Authentification unique à l’aide des flux de partenaire.
facultatif
X-Forwarded-For
Adresse IP de l’appareil de diffusion en continu.

Il est vivement recommandé de toujours l’utiliser pour les implémentations serveur à serveur, en particulier lorsque l’appel est effectué par le service de programmation plutôt que par l’appareil de diffusion en continu.

Pour les implémentations client à serveur, l’adresse IP de l’appareil de diffusion en continu est envoyée implicitement.
facultatif
AP-Visitor-Identifier
La génération de la payload de l’identifiant visiteur est décrite dans la documentation d’en-tête AP-Visitor-Identifier.
facultatif
Accepter
Type de média accepté par l’application cliente.

S’il est spécifié, il doit s’agir d’application/json.
facultatif
User-Agent
Agent utilisateur de l’application cliente.
facultatif

Réponse response

Code
Texte
Description
201
Créé
Le corps de la réponse contient un mappage de profils valides, qui peut être vide.
400
Requête incorrecte
La requête n’est pas valide, le client doit la corriger et réessayer. Le corps de la réponse peut contenir des informations d’erreur conformes à la documentation Codes d’erreur améliorés.
401
Non Autorisé
Le jeton d’accès n’est pas valide, le client doit obtenir un nouveau jeton d’accès et réessayer. Pour plus d’informations, consultez la documentation Présentation de l’enregistrement client dynamique.
405
Méthode Non Autorisée
La méthode HTTP n’est pas valide, le client doit utiliser une méthode HTTP autorisée pour la ressource demandée et réessayer. Pour plus d’informations, consultez la section Requête.
500
Erreur de serveur interne
Un problème est survenu côté serveur. Le corps de la réponse peut contenir des informations d’erreur conformes à la documentation Codes d’erreur améliorés.

Succès success

En-têtes
Etat
201
obligatoire
Content-Type
application/json
obligatoire
Corps
profils

JSON contenant un mappage de paires clé-valeur.

L'élément clé est défini par la valeur suivante :

table 0-row-3 1-row-3 1-bgcolor-eff2f7 2-bgcolor-eff2f7 3-bgcolor-eff2f7 5-bgcolor-deebff layout-auto html-authored
Valeur
mvpd Identifiant unique interne associé au fournisseur d’identité lors du processus d’intégration. obligatoire

L’élément de valeur est défini par les attributs suivants :

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
Attribut
notBefore Date et heure, en millisecondes, avant lesquelles le profil n’est pas valide. obligatoire
notAfter Date et heure en millisecondes au-delà desquelles le profil n’est plus valide. obligatoire
émetteur

Entité propriétaire du profil.

Les valeurs possibles sont les suivantes :

  • Apple
    Le profil a été créé suite à : authentification unique à l'aide d'Apple partenaire.
obligatoire
type

Type du profil.

Les valeurs possibles sont les suivantes :

  • appleSSO
    Le profil a été créé suite à : authentification unique à l’aide d’Apple partenaire.
obligatoire
attributs

JSON contenant un mappage de paires clé-valeur.

L’élément clé est défini par les attributs de métadonnées de l’utilisateur et peut être :

  • Obligatoire, comme 'userID'
  • Non obligatoire, comme « zip », « householdID », « maxRating », etc.

Les valeurs des attributs peuvent être les suivantes :

  • simple
  • liste
  • carte

Les métadonnées de l’utilisateur sont disponibles une fois le flux d’authentification terminé, mais certains attributs de métadonnées peuvent être mis à jour pendant le flux d’autorisation, selon le MVPD et l’attribut de métadonnées spécifique en question.

obligatoire
obligatoire

Erreur error

En-têtes
Etat
400, 401, 405, 500
obligatoire
Content-Type
application/json
obligatoire
Corps

Le corps de la réponse peut fournir des informations d’erreur supplémentaires conformes à la documentation Codes d’erreur améliorés.

L’application cliente doit mettre en œuvre un mécanisme de gestion des erreurs capable de traiter correctement les codes d’erreur les plus couramment renvoyés par cette API :

  • invalid_header_pfs_permission_access_not_present
  • invalid_header_pfs_permission_access_not_determine
  • invalid_header_pfs_permission_access_not_granted
  • invalid_header_pfs_provider_id_not_determine
  • invalid_header_pfs_provider_id_mismatch
  • invalid_header_pfs_provider_info_expired
  • invalid_parameter_saml_response
  • etc.

La liste ci-dessus n’est pas exhaustive. L’application cliente doit être capable de gérer tous les codes d’erreur améliorés définis dans la documentation publique.

obligatoire

Exemples samples

​1. Créer et récupérer un profil à l’aide de la réponse d’authentification du partenaire

Requête
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...
Réponse
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. Créer et récupérer le profil à l’aide de la réponse d’authentification du partenaire, mais la dégradation est appliquée

Requête
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...
Réponse
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