Passer au contenu principal
La fonctionnalité Auth for UCP est en accès anticipé.En utilisant cette fonctionnalité, vous acceptez les conditions applicables à l’essai gratuit prévues dans le Master Subscription Agreement d’Okta. Si vous souhaitez participer, veuillez manifester votre intérêt en remplissant le formulaire du programme de partenariat d’accès anticipé limité.
La liaison de comptes standard relie la session d’un acheteur sur une plateforme d’agent, comme Gemini, à son compte sur votre site. L’acheteur se connecte à votre plateforme marchande, ou se crée un compte, au moyen de la connexion universelle d’Auth0, puis approuve l’accès demandé par l’agent. Auth0 délivre ensuite à la plateforme d’agent un jeton d’accès pour cet acheteur. Avant de rediriger l’acheteur vers votre locataire Auth0, l’agent affiche un écran de consentement conçu à partir de vos permissions UCP. La liaison de comptes standard utilise le flux de code d’autorisation et prend en charge les clients publics comme les clients confidentiels. Les clients publics utilisent le flux de code d’autorisation avec PKCE, tandis que les clients confidentiels s’authentifient au moyen de leurs identifiants du client. Le point de terminaison de jetons ne requiert aucun comportement propre à UCP.

Informations requises

Enregistrer la plateforme d’agents

Modélisez la plateforme d’agents sous forme d’application dans Auth0. Il peut s’agir d’une application de première partie ou d’une application tierce. Créez-la manuellement ou, si la plateforme d’agents le permet, au moyen de son Document de métadonnées de l’identifiant du client (CIMD).
  1. Accédez à Dashboard > Applications > Applications et sélectionnez Create Application.
  2. Sélectionnez le type d’application qui correspond au type de client de la plateforme d’agents. Choisissez Regular Web Application pour un client confidentiel, ou Native ou Single Page Web Application pour un client public. Utilisez l’URI de redirection fourni par la plateforme d’agents et, s’il s’agit d’un client confidentiel, ses identifiants du client.
  3. Pour une plateforme d’agents qui ne vous appartient pas, comme Gemini, créez une application tierce. Activez l’option This application is owned by a third party. Enable stricter security controls. Dans la Management API, définissez is_first_party sur false et third_party_security_mode: strict.
Si vous enregistrez une application tierce, celle-ci est soumise à des mesures de sécurité renforcées et nécessite une configuration supplémentaire. Les applications enregistrées au moyen du CIMD sont automatiquement des applications tierces en mode strict. Pour en savoir plus, consultez Configurer des applications tierces.

Autoriser la plateforme d’agent à appeler votre serveur UCP

Créez une autorisation client entre l’application et votre serveur de ressources UCP, puis accordez les permissions UCP que vous souhaitez exposer.
  1. Accédez à Dashboard > Applications > APIs et sélectionnez votre serveur de ressources UCP.
  2. Sélectionnez l’onglet Application Access.
  3. Repérez l’application de la plateforme d’agent, autorisez-la et sélectionnez les permissions à accorder.
Pour les applications tierces, les acheteurs approuvent l’accès au moyen de l’invite de consentement habituelle présentée à l’utilisateur final lors de la connexion universelle. Les applications de première partie ne présentent pas l’invite de consentement.

Flux de code d’autorisation

  1. La plateforme d’agent lit vos métadonnées scopes_supported et affiche son propre écran de consentement.
  2. La plateforme d’agent redirige l’acheteur vers le terminal /authorize de votre locataire avec un paramètre scope. Les clients publics envoient également un défi de code PKCE.
  3. L’acheteur se connecte ou s’inscrit au moyen de la connexion universelle et, dans le cas des applications tierces, approuve l’accès sur l’écran de consentement.
  4. Auth0 redirige l’acheteur vers la plateforme d’agent avec un code d’autorisation.
  5. La plateforme d’agent échange le code contre un jeton d’accès auprès de /oauth/token. Les clients confidentiels s’authentifient à l’aide de leurs identifiants du client. Les clients publics envoient le vérificateur de code PKCE.
La session de l’acheteur sur la plateforme d’agent est désormais liée à son compte sur votre site, ce qui permet à l’agent d’agir au nom de cet acheteur lorsqu’il appelle votre serveur UCP. Comme la plateforme d’agent n’envoie pas de paramètre audience, Auth0 émet le jeton pour le public par défaut de votre locataire.

Utiliser le serveur UCP pour appeler des API internes

Si vous disposez déjà d’une API qui fournit vos fonctionnalités commerciales et que vous ajoutez UCP comme nouvelle façon d’interagir avec celle-ci, modélisez-les sous forme de deux serveurs de ressources distincts dans Auth0 :
  • Votre serveur de ressources UCP, que les plateformes d’agents appellent avec le jeton d’accès obtenu au moyen du flux d’autorisation.
  • Votre API existante, que votre serveur UCP appelle au nom de l’acheteur.
Votre serveur UCP utilise ensuite l’échange de jetons On-Behalf-Of (OBO) pour échanger le jeton d’accès UCP de l’acheteur contre un jeton dont les permissions visent votre API existante. Le nouveau jeton conserve l’acheteur comme sujet, ce qui permet à votre API de savoir pour quel acheteur la requête est effectuée. Il inscrit également votre serveur UCP comme actor dans la demande personnalisée act.

Configurer l’échange de jetons OBO

Suivez la configuration OBO standard, en utilisant votre serveur de ressources UCP comme public du jeton entrant :
  1. Créez un client API personnalisé associé à votre serveur de ressources UCP. Réglez resource_server_identifier sur l’identifiant de votre serveur de ressources UCP.
  2. Activez l’échange de jetons On-Behalf-Of sur le client API personnalisé.
  3. Créez une autorisation client déléguée par l’utilisateur entre le client API personnalisé et votre API existante, puis accordez les permissions requises par votre serveur UCP.

Échanger le jeton de l’acheteur

Lorsque votre serveur UCP reçoit une requête, validez le jeton d’accès, puis échangez-le contre un jeton valide pour votre API existante. Envoyez une requête POST au terminal /oauth/token :
Définissez audience sur l’identifiant de votre API existante. Pour en savoir plus, consultez Effectuer un échange de jetons OBO. Mettez en cache le jeton échangé jusqu’à son expiration plutôt que de refaire un échange à chaque requête.

Prochaines étapes