Établissement de l’autorisation pour les passerelles d’API externes
Objectifs de formation
- Décrire le processus d’enregistrement client dynamique et d’introspection de jeton OpenID Connect
- Décrire comment Salesforce utilise les applications connectées pour fournir des autorisations aux passerelles d’API externes
Enregistrement client dynamique et introspection de jeton OpenID Connect
Dans la première unité, nous avions mentionné le cas d’utilisation dans lequel Salesforce peut agir en tant que serveur d’autorisation OAuth indépendant afin de protéger les ressources hébergées sur une passerelle d’API externe. Ce cas d’utilisation des applications connectées repose sur l’enregistrement client dynamique et l’introspection de jeton OpenID Connect.
L’enregistrement client dynamique permet aux serveurs de ressources de créer de manière dynamique des applications clientes sous la forme d’applications connectées. Les applications clientes sont des applications externes demandant un accès aux ressources protégées. Pour créer de manière dynamique des applications clientes sous la forme d’applications connectées, le serveur de ressources envoie une requête au serveur d’autorisation afin de pouvoir créer une application connectée pour l’application cliente. Le serveur d’autorisation vérifie la requête du serveur de ressources et crée l’application connectée en lui attribuant un ID client et un secret client uniques.
L’introspection de jeton permet à toutes les applications connectées OAuth de vérifier l’état actuel d’un accès ou d’un jeton d’actualisation OAuth 2.0. Le serveur de ressources ou les applications connectées envoient l’ID client et le secret de l’application cliente au serveur d’autorisation, lançant ainsi un flux d’autorisation OAuth. Dans le cadre de ce flux, le serveur d’autorisation procède à la validation (ou à l’introspection) du jeton d’accès de l’application cliente. Si le jeton d’accès est en vigueur et valide, l’application cliente se voit autoriser l’accès.
Déroulement du processus d’autorisation de passerelle d’API externe
À première vue, le processus d’enregistrement client dynamique et d’introspection de jeton OpenID Connect peut sembler quelque peu complexe. Analysons donc son déroulement à l’aide de l’exemple suivant.
Imaginons que vous souhaitiez que vos partenaires Salesforce puissent accéder indépendamment aux données de statut des commandes. Vous créez donc un service affichant le statut des commandes sur plusieurs systèmes en le dotant d’une passerelle d’API déployée sur la plate-forme Anypoint de MuleSoft. Pour activer l’accès protégé à ces données, vous devez suivre ces étapes :
- Appliquez une stratégie d’application de jeton OpenID à la passerelle d’API.
- Configurez Salesforce en tant que fournisseur de gestion de client sur la plate-forme Anypoint de MuleSoft.
Dans cette configuration, la passerelle d’API utilise Salesforce comme fournisseur d’autorisation pour le flux d’enregistrement client dynamique et d’introspection de jeton OpenID Connect.
- La passerelle d’API enregistre une application cliente à l’aide du point de terminaison d’enregistrement client dynamique Salesforce.
- La passerelle d’API envoie une requête au point de terminaison d’autorisation Salesforce pour procéder à l’autorisation d’une application cliente en fonction du type d’octroi d’autorisation qui lui est associé.
- La validation réussie, Salesforce génère un jeton d’accès pour l’application cliente.
- La passerelle d’API envoie une requête au point de terminaison d’introspection de jeton Salesforce pour valider le jeton d’accès.
- Une fois la validation réussie, la passerelle d’API permet à l’application cliente d’accéder aux données protégées.
Exploitons maintenant tous ces éléments.
- Votre API de statut des commandes est disponible sur le portail d’API de MuleSoft.
- Vos partenaires se connectent à MuleSoft et créent une application cliente pour accéder à l’API de statut des commandes.
- La nouvelle application cliente envoie automatiquement une requête au point de terminaison d’enregistrement client dynamique Salesforce afin de créer une application connectée pour l’application cliente.
- Une fois l’enregistrement réussi, Salesforce renvoie un ID client et un secret client pour l’application connectée qui sont partagés avec le partenaire.
- Le partenaire envoie une requête comportant les identifiants du client à la passerelle d’API en spécifiant le type d’octroi d’autorisation (code d’autorisation) avec lequel le client doit être autorisé.
- Le partenaire est redirigé vers un navigateur pour se connecter à Salesforce et autoriser l’accès aux données. Cette autorisation s’appuie sur des étendues associées à l’application connectée correspondante dans Salesforce.
- Une fois le flux d’octroi de code d’autorisation exécuté avec succès, Salesforce envoie un jeton d’accès à l’application cliente.
- L’application cliente envoie son jeton d’accès à la passerelle d’API, en demandant l’accès aux données protégées de statut des commandes.
- La passerelle d’API extrait le jeton d’accès et l’envoie au point de terminaison d’introspection de jeton Salesforce.
- Salesforce valide le jeton d’accès.
- La passerelle d’API octroie à l’application cliente l’accès aux données protégées par votre API de statut des commandes hébergée sur MuleSoft.
Progression jusqu’au camp de base réussie
Félicitations ! Vous avez terminé le module Concepts de base des applications connectées. Savoir comment les employer ne devrait maintenant plus être un problème pour vous. Dans les prochains modules et projets relatifs aux applications connectées, nous vous montrerons comment en créer et en configurer pour les utiliser dans les cas que nous avons énoncés. En attendant, sachez que vous êtes sur la bonne voie pour devenir un spécialiste des applications connectées.