Développeurs de panneaux OneSpan : notification d'événements OAuth pour Salesforce - Partie 1

Duo Liang, mars 24, 2021

Dans OneSpan Sign, les notifications d'événements de rappel vous permettent d'être automatiquement informé des événements qui se rapportent à une transaction. Lorsqu'un événement spécifique se produit, par exemple lorsqu'un signataire a terminé de signer, le système OneSpan Sign envoie un appel POST à votre endpoint listener avec une authentification de base portant la clé de rappel que vous avez enregistrée, afin que votre application sache qu'il ne s'agit pas d'un appel frauduleux et puisse réagir en conséquence

Il s'agit d'un moyen normalisé d'envoyer des informations d'identification avec l'authentification de base. Cependant, cela peut poser un risque de sécurité si l'équipe d'administration ne fait pas tourner la clé de rappel souvent, ou cela ne fonctionnera tout simplement pas si votre écouteur de rappel est hébergé sur une plateforme comme Salesforce qui ne prend pas en charge la méthode d'authentification de base

Afin d'atténuer ce problème, OneSpan Sign a introduit un nouveau service de rappel qui met en œuvre le flux de jetons de rafraîchissement OAuth 2.0 de Salesforce. Il est désormais possible de configurer un écouteur de rappel dans Salesforce ! Ce puissant mécanisme de rappel augmente considérablement le potentiel de votre intégration à Salesforce pour surveiller l'état des transactions en cours et télécharger et stocker les documents signés directement dans Salesforce, pour ne citer que quelques utilisations.

Dans ce blog, nous allons suivre les étapes pour enregistrer une application connectée dans Salesforce avec les paramètres OAuth activés, puis récupérer un jeton de rafraîchissement pour cette application connectée. Sans plus tarder, commençons !

Enregistrer une App connectée dans Salesforce

Le site communautaire de Salesforce contient des guides bien documentés sur la manière d'enregistrer une application connectée et d'activer les paramètres OAuth pour les intégrations API. Dans cette section, nous soulignerons les points importants du processus de configuration

Étape 1 : vérifiez que votre édition Salesforce et vos autorisations d'utilisateur répondent aux exigences.

Étape 2 : Passez à l'expérience Lightning et naviguez jusqu'à "Setup"

Étape 3 : Recherchez "App Manager" dans la barre de recherche et choisissez de créer une "Nouvelle application connectée"

Étape 4 : Fournir des informations de base

3-24-1

Étape 5 : Activez l'option "Activer les paramètres OAuth"

Étape 6 : Fournir une URL de rappel. Il s'agit du lien que Salesforce rappellera à votre application pendant OAuth

Cette URL est normalement un lien dans votre domaine salesforce. Par exemple, la page d'accueil de l'éclair apparaît comme suit :

https://mydomain-dev-ed.lightning.force.com/lightning/page/home

Sinon, il suffit d'inclure une URL générique de réussite :

https://login.salesforce.com/services/oauth2/success

Étape 7 : Dans "Selected OAuth Scopes", accordez certaines permissions à l'application connectée. Dans notre exemple ci-dessous, nous avons simplement autorisé "l'accès complet". En plus de cela, vous devez également demander explicitement le champ d'application refresh_token en ajoutant l'option "Perform requests on your behalf at any time (refresh_token, offline_access)".

Étape 8 : Décochez "Require Secret for Refresh Token Flow", car vous ne fournirez pas votre secret client à OneSpan Sign.

3-24-2

Enregistrez la configuration et attendez quelques minutes pendant que Salesforce déploie les modifications.

Récupérer un jeton de rafraîchissement

L'authentification OAuth utilise un jeton d'accès de courte durée pour garantir qu'un utilisateur ou un appel d'API dispose d'un accès suffisant aux ressources désignées. Lorsque les jetons d'accès expirent ou deviennent invalides, un jeton d'actualisation permet à l'application d'obtenir un nouveau jeton d'accès sans demander à l'utilisateur. La génération et la fourniture à OneSpan Sign d'un jeton de rafraîchissement sont essentielles pour ce flux.

Bien qu'il existe d'autres méthodes pour récupérer le jeton d'actualisation, nous allons démontrer une approche fonctionnelle en utilisant le flux de serveur Web Salesforce OAuth 2.0.

Étape 1 : Créez une URL à l'aide du modèle ci-dessous, et ouvrez le lien dans votre navigateur :

https://login.salesforce.com/services/oauth2/authorize?client_id={client_id}&redirect_uri={callback_url}&response_type=code

Vous pourrez trouver tous les paramètres dans la page d'édition de l'application connectée si vous :

  • Dans l'expérience de l'éclair, naviguer à la configuration et rechercher "App Manager"
  • Trouvez l'application connectée que nous venons d'enregistrer
  • Développez le menu déroulant et choisissez "Modifier", puis enregistrez sans modifier les paramètres

 3-24-3

Étape 2 : Ce lien vous amènera à un flux de connexion web. Il vous faut autoriser l'accès à l'application connectée.

3-24-4

Une fois que vous avez accordé l'accès avec succès, il redirige vers un lien où vous trouverez le code d'autorisation joint à l'URL.

3-24-5

Étape 3 : Avec le code d'autorisation, créez une deuxième demande en utilisant le modèle ci-dessous et ouvrez-la dans le navigateur :

https://login.salesforce.com/services/oauth2/token?grant_type=authorization_code&code={authorization_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={callback_url}

Le lien vous renvoie une réponse SOAP, où vous trouverez le jeton de rafraîchissement ainsi qu'un jeton d'accès initial.

3-24-6

En prévision de la prochaine installation

Voilà. Nous avons créé avec succès une application connectée dans Salesforce et récupéré un jeton de rafraîchissement fonctionnel. Dans le cadre de la politique de sécurité par défaut, le jeton de rafraîchissement sera valide jusqu'à ce qu'il soit révoqué. Dans le prochain blog, nous commencerons par modifier ces politiques de sécurité pour faire tourner le jeton périodiquement, puis nous fournirons le jeton de rafraîchissement à OneSpan Sign via l'API et enfin nous configurerons un écouteur de rappel dans Salesforce. Restez à l'écoute !

Si vous avez des questions concernant ce blog ou toute autre question relative à l'intégration de OneSpan Sign dans votre application, visitez les forums de la communauté des développeurs. Vos commentaires sont importants pour nous!

OneSpan Sign Developer Community

OneSpan Sign Developer Community

Rejoignez la communauté OneSpan Sign Developer! Forums, blogs, documentation, téléchargements SDK, et plus encore.

Joignez-vous aujourd'hui