Mise en route d'OAuth 2.0 avec l'API Coupa
Introduction
Cet exemple de procédure de mise en route utilise Coupa et Postman pour démontrer comment vous pouvez définir des valeurs de clé et une portée appropriées pour déverrouiller l'interface de vos commandes REST.
Bien que cet exemple utilise Postman, vous pouvez utiliser la plupart des outils clients REST pour obtenir et actualiser un jeton d'accès qui déverrouille l'accès à l'API Coupa à l'aide d'OAuth 2.0
Comment cela fonctionne
Connectez-vous à Coupa en tant qu'administrateur compatible avec les intégrations pour créer un client OAuth2/OIDC avec un type d'autorisation Identifiantsclient . Une fois configurées, les valeurs ID client et Secret client sont utilisées pour accéder à l'API Coupa.
-
Pour configurer votre instance de test Coupa avec une nouvelle connexion, accédez à Configuration > Clients Oauth2/OpenID Connect. Vous pouvez taper « oauth » dans la zone de recherche pour le trouver rapidement.
-
Cliquez sur Créer. Pour Type d'octroi, sélectionnez : Identifiants du client. Spécifiez un nom pour le client, la connexion, les coordonnées et l'adresse électronique du contact.
-
Sélectionnez les étendues que vous souhaitez inclure dans cette configuration d'API. Les périmètres sont comme un ensemble d'autorisations définies sur la clé API. Afin d'implémenter les autorisations API avec OIDC, nous avons créé plusieurs nouveaux périmètres qui donnent accès à des fonctionnalités spécifiques pour l'API. Les portées Coupa prennent la forme de
service.object.right
. Par exemple,core.accounting.read
oucore.accounting.write
. Vous trouverez la liste des portées et de leurs autorisations Coupa sous-jacentes sur la pageGestiondes portées à l'adresse/oauth2/scopes
. Lorsque vous hiérarchisez vers le bas une portée, vous pouvez voir les autorisations API spécifiques associées à cette portée.
Les périmètres sont disponibles pour examen lehttps://{your_instance_address}/oauth2/scopes
.
Pour sélectionner toutes les étendues disponibles à la fois, cette procédure est décrite dans ce document . -
Cliquez sur Enregistrer. L'enregistrement du client vous donne les valeurs de l' Identifiant du client et du Secret, qui sont nécessaires pour accéder aux Portées API que vous avez définies pour lui.
Cliquez sur Afficher/Masquer pour afficher et copier le secretRemarqueLes adresses des instances Coupa prennent la forme de
https://{organization_name}.coupahost.com
(pour les instances client) ouhttps://{organization_name}.coupacloud.com
(pour les instances partenaire et de démonstration).
Veuillez noter que certaines parties de ce contenu peuvent avoir été générées par traduction automatique.
Nous avons besoin d'un jeton d'accès pour pouvoir accéder aux API et il ne dure que 24 heures. La recommandation de Coupa est donc de renouveler le jeton toutes les 20 heures (comme un jeton d'actualisation). Si le jeton existant expire, un nouvel appel de jeton doit être effectué. Ce processus n'a pas besoin d'être manuel car l'intégration peut faire exécuter l'appel POST dans le cadre du script toutes les 20 heures.
Utilisez Postman ou un autre client REST pour configurer une connexion client OAuth2/OIDC afin d'utiliser l'API Coupa.
https://{your_instance_address}/oauth2/token
application/x-www-form-urlencoded
Dans le corps POST, définissez les valeurs suivantes :
client_id =
grant_type =
client_credentials
scope =
client_secret =

Cliquez sur Envoyer et la réponse POST a le jeton d'accès qui a été généré pour autoriser les appels API dans le périmètre défini pour les prochaines 24 heures (expire dans 86399 secondes).

Copiez votre valeur access_token à partir du corps de réponse et utilisez-la comme valeur Token dans les en-têtes d'autorisation pour vos appels d'API Coupa dans le périmètre que vous avez défini pour cette connexion client.
Créez un nouvel onglet pour lancer des appels API vers GET, POST, PUT etc. et dans la partie Autorisation du générateur de demandes, définissez le « TYPE » = OAuth 2.0
Collez le jeton d'accès en tant que valeur du champ Token.

Accédez à En-têtes et saisissez la valeur suivante pour la touche Accepter:

application/xml
ouapplication/json
.Vous devrez définir et définir les autres paramètres de demande en fonction de l'appel et de l'interface que vous essayez d'utiliser. Dans les exemples illustrés, vous pouvez voir un appel API GET à l'API des factures.
Cliquez sur Envoyer [Send] et si la demande est faite correctement, vous devriez obtenir une réponse semblable à celle affichée ci-dessous.

Avec ce jeton d'accès défini dans l'en-tête d'autorisation, vous pouvez effectuer des appels GET, PUT ou POST vers les portées du client que vous avez définies pour cette connexion.
Ressources supplémentaires
Voici d'autres sujets connexes qui pourraient vous intéresser :