S'authentifier auprès des API Google Workspace à l'aide des identifiants client OAuth 2.0

Ce document explique comment configurer l'authentification pour accéder aux API Google Workspace à l'aide des identifiants client OAuth 2.0. Les identifiants client OAuth 2.0 vous permettent de récupérer un jeton dans le contexte d'un utilisateur final, tel qu'un jeton requis pour accéder à Google Sheets. Quel que soit l'emplacement où votre système SAP est hébergé, vous pouvez utiliser les identifiants client OAuth 2.0 pour vous authentifier auprès des API Google Workspace, à condition que le système soit compatible avec OAuth 2.0.

Pour vous authentifier auprès des API Google Workspace à l'aide des identifiants client OAuth 2.0, vous devez effectuer les configurations suivantes dans votre projet Google Cloud et votre environnement SAP :

Configurations de la console Google Cloud

Configurations de l'environnement SAP

Le SDK ABAP pour Google Cloud est fourni avec les composants principaux suivants, requis pour l'authentification basée sur les identifiants client OAuth 2.0 :

  • Type de fournisseur de services OAuth 2.0 /GOOG/ABAP_SDK que vous spécifiez pour la configuration de votre profil client OAuth 2.0.
  • Classe d'authentification /GOOG/CL_OAUTH_GOOGLE que vous spécifiez pour la configuration de clé client.
  • Les mises en œuvre de modules complémentaires Business Add-In (BAdI) SAP qui préremplissent les paramètres OAuth spécifiques à Google, tels que les points de terminaison et les paramètres requis.

Cependant, vous devez également effectuer les configurations suivantes dans votre environnement SAP :

L'écran d'autorisation OAuth est une invite qui indique aux utilisateurs qui demande l'accès à leurs données et à quel type de données les utilisateurs autorisent votre application à accéder.

  1. Dans la console Google Cloud, accédez à Menu  > API et services > Écran de consentement OAuth.

    Accéder à l'écran de consentement OAuth

  2. Sélectionnez le type d'utilisateur Externe pour votre application, puis cliquez sur Créer.

  3. Pour remplir le formulaire d'enregistrement de l'application, spécifiez les détails suivants :

    • Nom de l'application : nom de l'application qui nécessite une autorisation.
    • Adresse e-mail d'assistance utilisateur : adresse e-mail d'assistance pour que les utilisateurs puissent vous contacter en cas de question sur leur consentement.
    • Domaines autorisés : domaines à utiliser lors de l'autorisation OAuth.
    • Coordonnées du développeur : adresses e-mail utilisées par Google pour vous informer de toute modification apportée à votre projet.
  4. Cliquez sur Save and Continue (Enregistrer et continuer).

Créer un ID client OAuth 2.0

Pour vous authentifier en tant qu'utilisateur final et accéder aux données utilisateur dans votre application, vous devez créer un ou plusieurs ID client OAuth 2.0. Un ID client sert à identifier une application unique auprès des serveurs OAuth de Google.

  1. Dans la console Google Cloud, accédez à Menu  > API et services > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants > ID client OAuth.

  3. Dans le champ Type d'application, sélectionnez Application Web.

  4. Dans le champ Nom, saisissez un nom pour les identifiants. Ce nom n'apparaît que dans la console Google Cloud.

  5. Sous URI de redirection autorisés, cliquez sur Ajouter un URI. Saisissez ensuite l'URI de redirection SAP vers lequel le serveur OAuth 2.0 peut envoyer des réponses.

    Vous pouvez obtenir l'URI de redirection SAP à partir des paramètres OAuth 2.0 dans votre transaction SICF.

  6. Cliquez sur Créer.

  7. Notez l'ID client et le code secret du client.

Créer un profil client OAuth 2.0

En tant que développeur ABAP, vous créez un profil client OAuth avec les champs d'application OAuth 2.0 requis pour les besoins de votre entreprise. Pour en savoir plus sur les champs d'application OAuth 2.0 pour les API Google, consultez la page Champs d'application OAuth 2.0 pour les API Google.

Un exemple de profil de client OAuth /GOOG/OAUTH_PROFILE_SAMPLE est fourni avec le SDK, avec les champs d'application OAuth 2.0 configurés pour l'API Google Sheets.

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction SE80.
  2. Dans la liste déroulante, sélectionnez Objet de développement.
  3. Pour créer un objet de développement dans l'espace de noms personnalisé, sélectionnez Créer > Autres > Profil client OAuth 2.0 dans le menu contextuel du nom de l'objet.
  4. Saisissez les informations suivantes :

    • Dans le champ Profil client, saisissez un nom de profil client.
    • Dans le champ Type, sélectionnez /GOOG/ABAP_SDK. Il s'agit du type de fournisseur par défaut fourni avec le SDK ABAP pour Google Cloud.
  5. Ajoutez les champs d'application nécessaires à votre profil client. Pour plus d'informations sur les champs d'application OAuth 2.0, consultez la section Champs d'application OAuth 2.0 pour les API Google.

  6. Enregistrez le profil client dans votre package de développement. Incluez le profil client dans une requête de transport, qui peut être transférée vers des environnements en amont.

Configurer le client OAuth 2.0

En tant qu'administrateur SAP, vous associez le profil client OAuth aux identifiants client de Google Cloud.

Il s'agit d'une activité unique que vous devez effectuer sur chaque système SAP de votre environnement SAP (développement, test et production).

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction OA2C_CONFIG. La page de connexion SAP s'ouvre dans votre navigateur par défaut.
  2. Connectez-vous avec vos identifiants SAP.
  3. Pour créer un client OAuth 2.0, cliquez sur Créer.
  4. Dans la boîte de dialogue Créer un client OAuth 2.0 :
    1. Sélectionnez le profil client OAuth 2.0 que vous avez créé précédemment dans la section Créer un profil client OAuth 2.0 dans votre système SAP.
    2. Attribuez un nom à la configuration.
    3. Saisissez l'ID client OAuth 2.0 à partir des identifiants Google Cloud que vous avez créés précédemment dans la section Créer des identifiants client OAuth 2.0.
    4. Cliquez sur OK.
  5. Dans l'onglet Administration, dans la section Paramètres généraux, saisissez le code secret du client à partir des identifiants Google Cloud que vous avez créés précédemment dans Créer des identifiants client OAuth 2.0.
  6. Si vous utilisez un serveur proxy pour acheminer le trafic HTTP/HTTPS sortant de votre système SAP, vous devez conserver les détails d'hôte proxy suivants dans la section Paramètres d'accès :

    • Hôte du proxy
    • Port du proxy
    • Utilisateur du proxy
    • Mot de passe du proxy
  7. Cliquez sur Enregistrer.

Configurer la clé client

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction /GOOG/SDK_IMG.

    Vous pouvez également exécuter le code de transaction SPRO, puis cliquer sur SAP Reference IMG (IMG de référence SAP).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer la clé client.
  3. Cliquez sur Nouvelles entrées.
  4. Renseignez les champs suivants :

    Champ Description
    Nom de la clé Google Cloud Spécifiez un nom de configuration de clé client.
    Nom du compte de service Google Cloud Laissez ce champ vide.
    Champ d'application Google Cloud Laissez ce champ vide.
    Identifiant de projet Google Cloud Spécifiez l'ID du projet Google Cloud qui contient vos API cibles.
    Nom de la commande Laissez ce champ vide.
    Classe d'autorisation Spécifiez la classe d'authentification, /GOOG/CL_OAUTH_GOOGLE.
    Mise en cache des jetons Laissez ce champ vide.
    Secondes avant actualisation du jeton Laissez ce champ vide.
    Paramètre d'autorisation 1 Spécifiez le nom du profil client OAuth que vous avez créé précédemment dans la section Créer un profil client OAuth 2.0 dans votre système SAP.
    Paramètre d'autorisation 2

    Indiquez le nom de configuration que vous avez défini dans le client OAuth 2.0 pour un ID client.

    Ce champ est obligatoire si vous avez associé un même profil client OAuth à plusieurs ID clients.

    Pour en savoir plus, consultez la section Scénario de projets Google Cloud multiples.

  5. Enregistrez la nouvelle entrée.

Demander des jetons d'accès OAuth 2.0

En tant qu'utilisateur final, vous devez demander un jeton d'accès OAuth 2.0 pour autoriser l'accès aux ressources de l'API.

Il s'agit d'une activité unique que chaque utilisateur doit effectuer sur chaque système SAP de votre environnement SAP (développement, test et production). Si les champs d'application OAuth sont modifiés, les utilisateurs doivent répéter cette activité.

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction OA2C_GRANT. La page de connexion SAP s'ouvre dans votre navigateur par défaut.
  2. Connectez-vous avec vos identifiants SAP.
  3. Sélectionnez l'ID client avec lequel vous souhaitez accéder aux API.
  4. Cliquez sur Demander des jetons OAuth 2.0.
  5. Sur l'écran d'autorisation Se connecter avec Google, saisissez les identifiants de votre compte Google, puis cliquez sur Autoriser.

    Un indicateur vert dans la colonne État d'accès indique que l'accès aux ressources de l'API est autorisé conformément au profil client OAuth 2.0.

Scénario utilisant plusieurs projets Google Cloud

Si vous avez activé vos API Google Cloud dans plusieurs projets Google Cloud, suivez les instructions ci-dessous pour configurer l'authentification à l'aide des identifiants client OAuth 2.0 :

Valider la configuration de l'authentification

Pour valider la configuration d'authentification, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction /GOOG/SDK_IMG.

    Vous pouvez également exécuter le code de transaction SPRO, puis cliquer sur SAP Reference IMG (IMG de référence SAP).

  2. Cliquez sur SDK ABAP pour Google Cloud > Utilitaires > Valider la configuration de l'authentification.

  3. Saisissez le nom de la clé client.

  4. Cliquez sur Exécuter pour vérifier si le flux global est correctement configuré.

    Une coche verte dans la colonne Résultat indique que toutes les étapes de configuration ont été effectuées.

Obtenir de l'aide

Procédez comme suit si vous avez besoin d'aide pour résoudre les problèmes liés au SDK ABAP pour Google Cloud :