• Dernière modification le: 19 August 2022

Guide de transition OAuth 2.0

Introduction

Cet article décrit les étapes à suivre pour configurer les clients OAuth dans Coupa afin de passer des clés API à OAuth 2.0.

Remarque

API key sunsetting and transition only affects customer-created API integrations to the Coupa core platform, and does not affect applications such as Treasury, CSO, Supply Chain Design & Planning, etc.

Les clés API créées par Coupa ne doivent pas être révoquées. Ces clés seront transférées séparément sans aucune action de votre part.

Comment ça marche

Remarque

 Veuillez suivre les étapes suivantes pour toutes vos instances Coupa (production, test, développement, étape, etc.).

1. Examiner les clés API dans Coupa

  1. Connectez-vous à votre instance Coupa.
  2. Accédez à Configuration des clés > API.
  3. Revoir toutes les clés.

2. Création et attribution de la portée du client OAuth

  1. Accédez à Configuration Clients > Oauth2/OpenID Connect (/oauth2/clients).
  2. Cliquez sur Créer et sélectionnez Informations d'identification client dans la liste déroulante Type d'autorisation.
  3. Remplissez les champs et sélectionnez les étendues (autorisations d'accès) dont le client a besoin. Notez que si vous souhaitez donner à un client l'accès à tous les points de terminaison et opérations de l'API, vous devrez ajouter toutes les étendues à ce client. 
    Créez un écran de client.
  4. Une fois que vous avez enregistré le client, vous obtiendrez les informations d'identification du client : IdentifiantSecretOidc Scopes.
    Les informations du client Oath sont retournées après l'enregistrement.

3. Test d'identifiants (test de connectivité à l'aide d'un client HTTP comme Postman)

  1. À l'aide du terminal (LIEN), utilisez la ligne de commande pour effectuer un Curl POST :
    curl -X POST -H "Content-Type : application/x-www-form-urlencoded" -d "client_id=<CLIENT_ID>&grant_type=client_credentials&scope =<SPACE_SEPARATED_LIST_OF_SCOPES>&client_secret=<CLIENT_SECRET>" https ://<INSTANCE_DOMAIN>/oauth2/token

    Exemple DE POST Curl.
  2. À l'aide d'un client HTTP comme Postman ou un autre client REST, configurez une connexion client OAuth2/OIDC pour utiliser l'API Coupa.
  3. Sélectionnez la PUBLICATION.
  4. Définissez l'URL sur le nom de l'instance où vous avez défini le client ci-dessus. Par exemple : https ://{your_instance_address}/oauth2/token
  5. Définir la valeur de la clé d'en-tête pour Content-Type = application/x-www-form-urlencoded
    Exemple de PUBLICATION DE type de contenu.
  6. Dans le corps du POST, définissez les valeurs suivantes :
    1. client_id = <Your Client Identifier value>
    2. grant_type = client_credentials
    3. scope = <Copy/paste all the scopes that you selected in Client credentials setup without the comma.>
    4. client_secret = <Copier/coller la valeur Coupa Client Secret >
      Paramètres du corps POST.
  7. Cliquez sur Envoyer. La réponse POST a le access_token qui a été généré pour autoriser les appels API dans la portée définie pour les 24 prochaines heures (expire_dans 86 399 secondes). 
    Exemple de réponse POST.

  8. Copiez votre valeur access_token à partir du corps de la réponse et utilisez-la comme valeur de jeton dans les en-têtes d'autorisation pour vos appels d'API Coupa dans la portée que vous avez définie pour cette connexion client. 

  9. Créez un nouvel onglet pour effectuer des appels API pour OBTENIR, PUBLIER ou METTRE, etc. et dans la partie Autorisation du générateur de demandes, définissez le ‘TYPE’ = OAuth 2.0.

  10. Collez access_token comme valeur de champ de jeton.
    Exemple de valeur de champ de jeton.

  11. Allez dans En-têtes et entrez une valeur d'application/xml ou d'application/json dans le champ Accepter la clé. Vous devrez définir et définir les autres paramètres de la demande en fonction de l'appel et de l'interface que vous essayez d'utiliser. Dans l'exemple, vous pouvez voir un appel d'API GET à l'API Invoices.
    Accepter l'exemple de champ clé.

  12. Cliquez sur Envoyer. Avec cet access_token défini dans l'en-tête Authorization, vous pouvez effectuer des appels GET, PUT ou POST vers les étendues client que vous avez définies pour cette connexion.
    Exemple de demande réussie.

4. Créer un script/flux Middleware pour la création et l'actualisation de jetons toutes les 20 heures

En fonction de l'intergiciel, les configurations peuvent varier. Cependant, il est important de s'assurer que toutes les intégrations utilisant des clés API Coupa sont mises à jour pour utiliser le jeton OAuth. Pour la génération et l'actualisation de ce jeton, il peut être nécessaire de créer un nouveau script/flux pour s'assurer qu'il est mis à jour toutes les 20 heures. La plupart des adaptateurs des middlewares actualisent automatiquement le jeton une fois la configuration terminée.

Avertissement

La modification des étendues dans un client aura un impact sur le script/adaptateur de génération de jetons, car ceux-ci sont passés dans la demande de génération de jetons.

Exemple de flux.

Voir les liens de documentation ci-dessous pour différents logiciels intermédiaires sur la façon de configurer l'adaptateur OAuth2.0 :

5. Mettre à jour les intégrations pour utiliser le nouveau jeton généré par le script

Toutes les intégrations existantes devront adopter la connexion OAuth et utiliser le jeton généré par le nouveau script/flux. Cela peut être fait dans des phases, par exemple, où les intégrations de données de base sont d'abord transférées, suivies par des intégrations de données transactionnelles à un stade ultérieur.

6. Désactiver les anciennes clés API

Dans le cadre du processus de transition, veuillez désactiver les clés API existantes afin qu'elles ne soient plus utilisées après la transition vers OAuth2.0.

  1. Accéder à Configuration des clés > API.
  2. Modifier l'ancienne clé API.
  3. Cliquez sur Révoquer la clé API.

7. Ressources et informations disponibles sur le Coupa Success Portal

Webinars Coupa

Vous pouvez également utiliser les ressources suivantes pour en savoir plus :

Articles associés


API Coupa Core

Notre API RESTful fournit un accès fiable pour lire, modifier ou intégrer vos données à la plateforme Coupa.

Démarrez avec l'API

Informations générales sur l'utilisation de l'API Coupa et quand vous devez envisager d'utiliser CSV.

Transition vers OAuth 2.0 et OIDC

Coupa désapprouve les API Keys héritées et nécessite l'utilisation d'OAuth 2.0 / OIDC. À partir de R34, aucune nouvelle clé API ne sera émise et les clés API ne seront plus prises en charge avec R35.

Ressources

Nous avons organisé nos points de terminaison API par type d'objet : données de référence, données transactionnelles et ressources partagées.