Skip to main content

Accès aux données à l’aide d’une intégration d’API

Objectifs de formation

Une fois cette unité terminée, vous pourrez :
  • Décrire comment OAuth 2.0 permet l’intégration d’API pour les applications connectées
  • Identifier les cas d’utilisation de l’intégration d’API pour les applications connectées

Flux d’autorisation OAuth 2.0 pour applications connectées

Remarque

Si vous découvrez OAuth 2.0, nous vous recommandons de vous familiariser avec la terminologie courante du protocole, que vous pouvez consulter dans l’article de l’aide Salesforce suivant : Terminologie relative à une application connectée et à OAuth.

Vous pouvez utiliser une application connectée afin de demander un accès aux données Salesforce pour le compte d’une application externe. Pour qu’une application connectée puisse demander un accès, elle doit être intégrée à l’API Salesforce à l’aide du protocole OAuth 2.0. OAuth 2.0 est un protocole ouvert permettant l’octroi d’autorisations et le partage sécurisé de données entre applications via l’échange de jetons. Lorsque les développeurs veulent intégrer leur application dans Salesforce, ils utilisent les API OAuth. Ces API OAuth permettent à un utilisateur de travailler dans une application tout en consultant les données d’une autre.

Lorsque vous ouvrez l’application mobile Salesforce pour accéder à vos données Salesforce, vous lancez un flux d’autorisation OAuth 2.0. Dans ce flux, votre organisation Salesforce constitue le serveur de ressources et l’application mobile Salesforce est le client demandant l’accès. Vous autorisez l’application mobile Salesforce à accéder à vos données Salesforce et à les gérer sur le Web à tout moment.

Capture d’écran de l’application mobile Salesforce lorsqu’elle demande l’autorisation d’accéder aux données.

Le flux d'événements au cours d'une autorisation OAuth dépend de l'état de l'authentification sur l'appareil.

Flux d'autorisation initiale

  1. Vous ouvrez l’application mobile Salesforce.
  2. Une invite d'authentification s'affiche.
  3. Vous saisissez votre nom d’utilisateur et votre mot de passe.
  4. L’application mobile Salesforce envoie vos identifiants à Salesforce et lance le flux d’autorisation OAuth.
  5. Vous approuvez la demande d’octroi d’un accès à l’application mobile Salesforce, comme illustré sur l’image ci-dessus.
  6. Salesforce envoie les jetons d’accès et d’actualisation à l’application mobile pour confirmer la réussite de l’autorisation.
  7. L’application mobile Salesforce démarre.

Autorisation en cours

  1. Vous ouvrez l’application mobile Salesforce.
  2. Si la session est active, l’application mobile Salesforce démarre immédiatement. Si la session est obsolète, l’application mobile Salesforce utilise le jeton d’actualisation de la première autorisation afin d’obtenir un ID de session actualisé.
  3. L’application mobile Salesforce démarre.

Intégration d’applications Web (flux de serveur Web OAuth 2.0)

Pour intégrer une application Web externe à l’API Salesforce, vous pouvez utiliser le flux de serveur Web OAuth 2.0. L’utilisation de ce flux exige que le serveur hébergeant l’application Web soit en mesure de protéger l’identité de l’application connectée, définie par l’ID client et le secret client.

Par exemple, imaginons que vous ayez récemment développé un site Web permettant un accès sécurisé au statut des commandes des clients. Les données relatives au statut des commandes sont stockées de manière sécurisée sur votre plate-forme Salesforce CRM. Pour autoriser les utilisateurs du centre d’assistance à consulter le statut des commandes des clients, vous développez une application nommée Statut de la commande et vous la configurez sous la forme d’une application connectée avec le flux du serveur Web.

Image présentant le flux d’authentification du serveur Web de l’application Web Statut de la commande.
  1. Un utilisateur du service d’assistance clique sur l’application Web Statut de la commande.
  2. L’application connectée dirige l’utilisateur vers Salesforce pour qu’il s’authentifie et autorise l’application à accéder aux données de statut de la commande.
  3. L’utilisateur approuve l’attribution d’un accès aux données à l’application Statut de la commande
  4. Salesforce envoie un rappel à l’application Statut de la commande contenant un code d’autorisation.
  5. L’application Statut de la commande transmet le code d’autorisation au point de terminaison du jeton Salesforce, en lui demandant un jeton d’accès.
  6. Salesforce valide le code d’autorisation et renvoie un jeton d’accès contenant les autorisations associées sous forme d’étendues.
  7. L’application Statut de la commande envoie à son tour une requête à Salesforce pour accéder aux données de statut de commande. Sa demande comporte le jeton d’accès avec les étendues associées.
  8. Salesforce valide le jeton d’accès et les étendues associées.
  9. L’application Statut de la commande peut maintenant accéder aux données protégées et le statut de la commande du client est affiché dans l’application.

Intégration d’applications mobiles (flux de l’agent-utilisateur OAuth 2.0)

Une application connectée est le principal dispositif qu’utilise une application mobile pour se connecter à Salesforce. Bien que cela ne soit pas obligatoire, vous pouvez utiliser le kit de développement Mobile SDK de Salesforce pour créer des applications mobiles sous la forme d’applications connectées. Ces applications peuvent accéder aux services Salesforce OAuth et appeler des API REST Salesforce.

Imaginons que vous utilisiez le kit de développement Mobile SDK de Salesforce pour créer une application mobile pouvant rechercher des coordonnées de clients au sein de votre organisation Salesforce. Le kit de développement Mobile SDK met en œuvre le flux d’autorisation de l’agent-utilisateur OAuth 2.0 dans votre application connectée, en l’intégrant à votre API Salesforce et en lui autorisant l’accès aux données définies.

  1. L’utilisateur final ouvre l’application mobile.
  2. L’application connectée dirige l’utilisateur vers Salesforce afin d’authentifier et d’autoriser l’application mobile.
  3. L’utilisateur approuve l’accès pour ce flux d’autorisation.
  4. L’application reçoit le rappel de Salesforce vers l’URL de redirection, qui extrait l’accès et actualise les jetons.
  5. L’application connectée utilise le jeton d’accès afin d’accéder aux données pour le compte de l’utilisateur final.

Pour plus d’informations sur le kit de développement Mobile SDK de Salesforce, consultez le module Trailhead Bases de Salesforce Mobile SDK.

Intégration serveur à serveur (flux du porteur JWT OAuth 2.0)

Dans certains cas, vous aurez besoin d’autoriser des serveurs sans avoir à vous connecter de manière interactive chaque fois que les serveurs doivent échanger des informations.

Pour procéder aux autorisations dans le cadre des intégrations serveur à serveur, vous pouvez utiliser le flux du porteur de jeton Web JSON (JWT, pour JSON Web Token) OAuth 2.0. Ce flux nécessite que l’application cliente soit préalablement autorisée.

  1. Comme toutes les nuits, le service de constitution de rapports débute la réalisation de son rapport par lot.
  2. L’application connectée envoie au point de terminaison du jeton Salesforce le JWT, qui permet le partage d’informations relatives à l’identité et à la sécurité entre domaines de sécurité.
  3. Salesforce valide le JWT d’après une signature, à l’aide d’un certificat configuré préalablement et de paramètres complémentaires.
  4. En supposant que le fichier JWT soit valide et que l’application connectée ait déjà été approuvée, Salesforce émet un jeton d’accès. Le processus d’approbation préalable se déroule de l’une des manières suivantes :
    • Si la stratégie de votre application connectée est définie sur « Les utilisateurs approuvés par l’administrateur sont pré-autorisés », alors vous pouvez utiliser des profils et des ensembles d’autorisations.
    • Si la stratégie de votre application connectée est définie sur « Tous les utilisateurs peuvent s’autoriser eux-mêmes », alors vous pouvez utiliser les fonctionnalités d’approbation de l’utilisateur final et d’émission de jetons d’actualisation. Toutefois, le client n’a pas besoin d’un jeton d’actualisation existant ou stocké. Le client n’a pas non plus besoin de transmettre un secret client au point de terminaison du jeton.
  5. L’application connectée utilise le jeton d’accès pour accéder aux données protégées sur le serveur Salesforce.
  6. Le service de constitution de rapports extrait les données autorisées et les intègre à son rapport nocturne.

Intégration IoT (flux d’appareil OAuth 2.0)

Pour procéder à l’intégration d’appareils dotés de capacités d’entrée ou d’affichage limitées, tels que les téléviseurs intelligents, vous pouvez configurer des applications connectées en utilisant le flux d’appareil OAuth 2.0.

Grâce au flux d’appareil, les utilisateurs finaux peuvent, depuis un navigateur Web, autoriser les applications connectées à accéder aux données de Salesforce.

Par exemple, imaginons qu’un client utilise votre appareil Bluetooth pour contrôler l’éclairage de sa maison alors qu’il s’en est absenté pour la soirée. Vous pouvez créer une application connectée pour l’appareil Bluetooth afin de mettre en place ce flux.

Image présentant le flux d’authentification de l’appareil pour l’application Bluetooth.
  1. L’utilisateur ouvre l’application Bluetooth sur son appareil mobile et clique sur Allumer les lumières.
  2. L’application connectée envoie une requête au point de terminaison d’autorisation Salesforce.
  3. Salesforce vérifie la requête et renvoie un code utilisateur, une URL de vérification et un code d’appareil lisibles par l’utilisateur.
  4. L’application Bluetooth affiche le code de l’appareil et demande à l’utilisateur de le saisir sur la page de vérification indiquée. L’application commence également à interroger le point de terminaison du jeton Salesforce pour obtenir une autorisation.
  5. L’utilisateur clique sur le lien menant à la page de vérification et saisit le code.
  6. L’utilisateur autorise ensuite l’application à accéder à ses données protégées, ici, l’adresse de son domicile.
  7. Salesforce envoie un jeton d’accès et d’actualisation à l’application connectée.
  8. L’application Bluetooth peut désormais accéder au domicile de l’utilisateur et y allumer les lumières.

Vous pouvez également utiliser le flux du jeton de ressource pour réaliser une intégration IoT. Ce flux utilise un JWT liant l’utilisateur et l’appareil, qui permet d’autoriser ce dernier. Si vous souhaitez en apprendre davantage sur ce flux, consultez cet article de l’aide Salesforce : Flux de jeton de ressource OAuth 2.0 pour la sécurisation des appareils connectés.

Autres flux d’intégration d’API OAuth

Outre les exemples présentés ci-dessus, vous pouvez également utiliser les flux OAuth 2.0 suivants avec les applications connectées.

Actualisation du flux de jeton

Dans le cadre des flux de serveur Web et d’agent-utilisateur, une application connectée peut utiliser un jeton d’actualisation pour demander un nouveau jeton d’accès après l’expiration du jeton d’accès actuel. Ce flux est particulièrement utile lorsque vous ne souhaitez pas que l’utilisateur intervienne après l’autorisation d’une application.

Flux d’identifiants clients 

Lorsque vous souhaitez partager directement des informations entre deux applications sans qu’une interaction de l’utilisateur soit requise, vous pouvez utiliser le flux d’identifiants clients OAuth 2.0. Dans ce flux, l’application cliente échange les identifiants clients définis dans l’application connectée (la clé consommateur et le secret consommateur) contre un jeton d’accès. Ce flux élimine le besoin d’une interaction explicite de l’utilisateur, bien qu’il vous oblige à spécifier un utilisateur d’intégration pour exécuter l’intégration. Vous pouvez utiliser ce flux en tant qu’alternative plus sécurisée au flux nom d’utilisateur-mot de passe OAuth 2.0.

Flux d’assertion du porteur SAML

Une application connectée peut utiliser une assertion SAML pour demander un jeton d’accès OAuth afin d’appeler les API Salesforce.

Flux d’assertion SAML

Ce flux offre une alternative aux organisations utilisant actuellement SAML pour accéder à Salesforce et souhaitant accéder de la même manière à l’API de services Web.

Poursuite de l’apprentissage

Maintenant que vous connaissez mieux les possibilités qu’offrent les applications connectées pour vous donner accès aux données de votre organisation Salesforce, passons à l’utilisation de ces applications dans le cadre de l’authentification unique.

Partagez vos commentaires sur Trailhead dans l'aide Salesforce.

Nous aimerions connaître votre expérience avec Trailhead. Vous pouvez désormais accéder au nouveau formulaire de commentaires à tout moment depuis le site d'aide Salesforce.

En savoir plus Continuer à partager vos commentaires