Esegui l'autenticazione nelle API Google Workspace utilizzando le credenziali client OAuth 2.0

Questo documento mostra come configurare l'autenticazione per accedere alle API Google Workspace utilizzando le credenziali client OAuth 2.0. Le credenziali del client OAuth 2.0 ti consentono di recuperare un token nel contesto di un utente finale, ad esempio un token necessario per accedere a Google Fogli. Indipendentemente da dove è ospitato il tuo sistema SAP, puoi utilizzare le credenziali client OAuth 2.0 per l'autenticazione alle API Google Workspace, a condizione che il sistema supporti OAuth 2.0.

Per autenticarti alle API Google Workspace utilizzando le credenziali del client OAuth 2.0, devi completare le seguenti configurazioni nel tuo progettoGoogle Cloud e nel tuo panorama SAP:

Configurazioni della consoleGoogle Cloud

Configurazioni del panorama SAP

L'ABAP SDK for Google Cloud viene fornito con i seguenti componenti principali, che sono necessari per l'autenticazione basata sulle credenziali client OAuth 2.0:

  • Tipo di service provider OAuth 2.0 /GOOG/ABAP_SDK specificato per la configurazione del profilo client OAuth 2.0.
  • Classe di autenticazione /GOOG/CL_OAUTH_GOOGLE che specifichi per la configurazione della chiave client.
  • Implementazioni di Business Add-Ins (BAdI) SAP che precompilano i parametri OAuth specifici di Google, come endpoint e impostazioni dei parametri obbligatori.

Tuttavia, devi anche completare le seguenti configurazioni nel tuo panorama SAP:

La schermata consenso OAuth è un prompt che comunica agli utenti chi sta richiedendo l'accesso ai loro dati e a quale tipo di dati gli utenti consentono alla tua app di accedere.

  1. Nella console Google Cloud , vai a Menu  > API e servizi  > Schermata per il consenso OAuth.

    Vai alla schermata per il consenso OAuth

  2. Seleziona il tipo di utente Esterno per la tua app e fai clic su Crea.

  3. Per completare il modulo di registrazione dell'app, specifica i seguenti dettagli:

    • Nome app: il nome dell'applicazione che richiede il consenso.
    • Email dell'assistenza utente: un'email dell'assistenza che gli utenti possono contattare per porre domande sul loro consenso.
    • Domini autorizzati: i domini da utilizzare durante il consenso OAuth.
    • Dati di contatto dello sviluppatore: gli indirizzi email a cui Google può inviarti notifiche in merito a eventuali modifiche al tuo progetto.
  4. Fai clic su Salva e continua.

Crea le credenziali dell'ID client OAuth 2.0

Per eseguire l'autenticazione come utente finale e accedere ai dati utente nella tua app, devi creare uno o più ID client OAuth 2.0. L'ID client viene utilizzato per identificare una singola app nei server OAuth di Google.

  1. Nella Google Cloud console, vai a Menu  > API e servizi  > Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali > ID client OAuth.

  3. Nel campo Tipo di applicazione, seleziona Applicazione web.

  4. Nel campo Nome, digita un nome per le credenziali. Questo nome viene visualizzato solo nella Google Cloud console.

  5. In URI di reindirizzamento autorizzati, fai clic su Aggiungi URI. Poi, inserisci l'URI di reindirizzamento SAP a cui il server OAuth 2.0 può inviare le risposte.

    Puoi ottenere l'URI di reindirizzamento SAP dalle impostazioni OAuth 2.0 nella transazione SICF.

  6. Fai clic su Crea.

  7. Prendi nota dell'ID client e del client secret.

Crea un profilo client OAuth 2.0

In qualità di sviluppatore ABAP, crei un profilo client OAuth con gli ambiti OAuth 2.0 richiesti per i requisiti della tua attività. Per informazioni sugli ambiti OAuth 2.0 per le API di Google, vedi Ambiti OAuth 2.0 per le API di Google.

L'SDK include un profilo client OAuth di esempio denominato /GOOG/OAUTH_PROFILE_SAMPLE. Questo profilo fornisce ambiti OAuth 2.0 configurati per le API Google Workspace utilizzate di frequente, come Drive e Fogli.

  1. Nella GUI SAP, inserisci il codice di transazione SE80.
  2. Nell'elenco a discesa, seleziona Oggetto di sviluppo.
  3. Per creare un oggetto di sviluppo nello spazio dei nomi personalizzato, seleziona Crea  > Altro  > Profilo client OAuth 2.0 nel menu contestuale del nome dell'oggetto.
  4. Inserisci i seguenti dettagli:

    • Nel campo Profilo cliente, inserisci un nome per il profilo cliente.
    • Nel campo Tipo, seleziona /GOOG/ABAP_SDK. Questo è il tipo di provider predefinito fornito con l'SDK ABAP per Google Cloud.
  5. Aggiungi gli ambiti necessari al tuo profilo client. Per informazioni sugli ambiti OAuth 2.0, vedi Ambiti OAuth 2.0 per le API di Google.

  6. Salva il profilo del cliente nel pacchetto di sviluppo. Includi il profilo client in una richiesta di trasporto, che può essere trasportata in ambienti di livello superiore.

Configurare il client OAuth 2.0

In qualità di amministratore SAP, associ il profilo client OAuth alle credenziali Google Cloud client.

Si tratta di un'attività una tantum che devi eseguire su ogni sistema SAP nel tuo panorama SAP (sviluppo, test e produzione).

  1. Nella GUI SAP, inserisci il codice di transazione OA2C_CONFIG. La pagina di accesso SAP si apre nel browser predefinito.
  2. Accedi con le tue credenziali SAP.
  3. Per creare un client OAuth 2.0, fai clic su Crea.
  4. Nella finestra di dialogo Crea un nuovo client OAuth 2.0:
    1. Seleziona il profilo client OAuth 2.0 che hai creato in precedenza in Creare un profilo client OAuth 2.0 nel sistema SAP.
    2. Assegna un nome alla configurazione.
    3. Inserisci l'ID client OAuth 2.0 dalle credenziali che hai creato in precedenza in Crea credenziali ID client OAuth 2.0. Google Cloud
    4. Fai clic su OK.
  5. Nella scheda Amministrazione, nella sezione Impostazioni generali, inserisci il client secrett delle Google Cloud credenziali che hai creato in precedenza in Crea credenziali ID client OAuth 2.0.
  6. Se utilizzi un server proxy per instradare il traffico HTTP/HTTPS in uscita dal tuo sistema SAP, devi gestire i seguenti dettagli dell'host proxy nella sezione Impostazioni di accesso:

    • Host proxy
    • Porta proxy
    • Utente proxy
    • Password proxy
  7. Fai clic su Salva.

Configura la chiave client

  1. In SAP GUI, esegui il codice transazione /GOOG/SDK_IMG.

    In alternativa, esegui il codice di transazione SPRO e poi fai clic su SAP Reference IMG.

  2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura chiave client.
  3. Fai clic su Nuove voci.
  4. Inserisci i valori per i seguenti campi:

    Campo Descrizione
    Nome della chiave Google Cloud Specifica un nome per la configurazione della chiave client.
    Nome account di servizio Google Cloud Lascia vuoto questo campo.
    Ambito di Google Cloud Lascia vuoto questo campo.
    Identificatore progetto Google Cloud Specifica l'ID del progetto Google Cloud che contiene le API di destinazione.
    Nome del comando Lascia vuoto questo campo.
    Classe di autorizzazione Specifica la classe di autenticazione, /GOOG/CL_OAUTH_GOOGLE.
    Memorizzazione nella cache dei token Lascia vuoto questo campo.
    Secondi di aggiornamento del token Lascia vuoto questo campo.
    Parametro di autorizzazione 1 Specifica il nome del profilo client OAuth che hai creato in precedenza in Creare un profilo client OAuth 2.0 nel sistema SAP.
    Parametro di autorizzazione 2

    Specifica il nome della configurazione che hai definito in Client OAuth 2.0 per un ID client.

    Questo campo è obbligatorio se hai associato un singolo profilo client OAuth a più di un ID client.

    Per ulteriori informazioni, vedi Scenario con più Google Cloud progetti.

  5. Salva la nuova voce.

Richiedere token di accesso OAuth 2.0

In qualità di utente finale, devi richiedere un token di accesso OAuth 2.0 per consentire l'accesso alle risorse API.

Si tratta di un'attività una tantum che ogni utente deve eseguire su ogni sistema SAP nel tuo panorama SAP (sviluppo, test e produzione). Se gli ambiti OAuth vengono modificati, gli utenti devono ripetere questa attività.

  1. Nella GUI SAP, inserisci il codice di transazione OA2C_GRANT. La pagina di accesso SAP si apre nel browser predefinito.
  2. Accedi con le tue credenziali SAP.
  3. Seleziona l'ID client con cui vuoi accedere alle API.
  4. Fai clic su Richiedi token OAuth 2.0.
  5. Nella schermata per il consenso Accedi con Google, inserisci le credenziali del tuo Account Google e fai clic su Consenti.

    Un indicatore verde nella colonna Stato accesso indica che l'accesso alle risorse API è consentito in base al profilo client OAuth 2.0.

Scenario con più Google Cloud progetti

Se hai abilitato le tue Google Cloud API in più di unGoogle Cloud progetto, segui queste indicazioni per configurare l'autenticazione utilizzando le credenziali client OAuth 2.0:

Convalida la configurazione dell'autenticazione

Per convalidare la configurazione dell'autenticazione per la sua preparazione:

  1. In SAP GUI, esegui il codice transazione /GOOG/SDK_IMG.

    In alternativa, esegui il codice di transazione SPRO e poi fai clic su SAP Reference IMG.

  2. Fai clic su ABAP SDK for Google Cloud > Utilità > Convalida configurazione autenticazione.

  3. Inserisci il nome della chiave client.

  4. Fai clic su Esegui.

    Un segno di spunta verde nella colonna Risultato indica che tutti i passaggi di configurazione sono stati completati correttamente.

Assistenza

Se hai bisogno di aiuto per risolvere i problemi relativi all'ABAP SDK for Google Cloud, procedi nel seguente modo: