Creazione di client OAuth per gli acquisti in-app in modo programmatico

Questa pagina descrive come creare programmaticamente client OAuth da utilizzare con IAP, consentendoti di configurare IAP end-to-end a livello di programmazione per le applicazioni interne.

Limitazioni note

Esistono alcune limitazioni per i client OAuth creati a livello di programmazione utilizzando questa API:

  • I client OAuth creati dall'API possono essere modificati solo utilizzando l'API. Non puoi modificare un client OAuth tramite la Google Cloud console se è stato creato utilizzando l'API.
  • I client OAuth creati dall'API sono bloccati solo per l'utilizzo di IAP, pertanto l'API non consente di aggiornare l'URI di reindirizzamento o altri attributi.
  • L'API non funziona sui client OAuth creati utilizzando la Google Cloud console.
  • Quando si utilizza l'API, sono consentiti solo 500 client OAuth per progetto.
  • I brand della schermata per il consenso OAuth creati tramite API hanno limitazioni specifiche. Per ulteriori informazioni, consulta la sezione di seguito.

Informazioni sui brand e sullo stato del branding

La schermata per il consenso OAuth, che contiene informazioni sul branding per gli utenti, è nota come brand. I brand possono essere limitati agli utenti interni o agli utenti pubblici. Un brand interno rende il flusso OAuth accessibile a chi appartiene alla stessa organizzazione Google Workspace del progetto. Un brand pubblico rende il flusso OAuth disponibile a chiunque su internet.

I brand possono essere creati manualmente o a livello di programmazione tramite un'API. I brand creati tramite API vengono configurati automaticamente con impostazioni diverse:

  • Sono impostati su "interni" e devono essere impostati manualmente su "pubblici", se necessario.
  • Sono impostati sullo stato "non esaminati" e deve essere attivata una revisione del brand.

Per impostare manualmente un brand interno come pubblico:

  1. Apri la schermata per il consenso OAuth.
  2. Seleziona il progetto che preferisci dal menu a discesa.
  3. Nella pagina Schermata per il consenso OAuth, tieni presente che il Tipo di utente è impostato automaticamente su Interno. Per impostarlo su Pubblico, fai clic su Modifica app. Verranno visualizzate altre opzioni di configurazione.
  4. In Tipo di applicazione, fai clic su Pubblico.

Per attivare una revisione del brand per un brand non esaminato creato tramite API:

  1. Apri la schermata per il consenso OAuth.
  2. Seleziona il progetto che preferisci dal menu a discesa.
  3. Nella pagina Schermata per il consenso OAuth , inserisci le informazioni richieste e fai clic su Invia per la verifica.

Il processo di verifica può richiedere diverse settimane. Riceverai aggiornamenti via email nel corso dell'elaborazione. Scopri di più su verifica. Durante il processo di verifica, puoi comunque utilizzare l'applicazione all'interno della tua organizzazione Google Workspace. Scopri di più sul comportamento della tua applicazione prima della verifica.

Prima di iniziare

Prima di poter creare un client, assicurati che al chiamante siano state concesse le seguenti autorizzazioni:

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets (richiesta solo per elencare i client OAuth con il segreto)
  • clientauthconfig.clients.getWithSecret
  • clientauthconfig.clients.delete
  • clientauthconfig.clients.update

Queste autorizzazioni sono incluse nei ruoli di base Editor (roles/editor) e Proprietario (roles/owner) , ma ti consigliamo di creare un ruolo personalizzato che contenga queste autorizzazioni e di concederlo al chiamante.

Configurare OAuth per IAP

I seguenti passaggi descrivono come configurare la schermata per il consenso e creare un client OAuth per IAP.

  1. Check if you already have an existing brand by using the list command. You may only have one brand per project.

    gcloud iap oauth-brands list

    The following is an example gcloud response, if the brand exists:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. If no brand exists, use the create command:

    gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL

    The above fields are required when calling this API:

    • supportEmail: The support email displayed on the OAuth consent screen. This email address can either be a user's address or a Google Groups alias. While service accounts also have an email address, they are not actual valid email addresses, and cannot be used when creating a brand. However, a service account can be the owner of a Google Group. Either create a new Google Group or configure an existing group and set the desired service account as an owner of the group.

    • applicationTitle: The application name displayed on OAuth consent screen.

    The response contains the following fields:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    

Creating an IAP OAuth Client

  1. Use the create command to create a client. Use the brand name from previous step.

    gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME

    The response contains the following fields:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID]
    secret: [CLIENT_SECRET]
    displayName: [NAME]
    

Utilizza l'ID client (client_id nell'esempio sopra) e il secret per attivare IAP. Per ulteriori informazioni sull'attivazione di IAP utilizzando le credenziali appena create, consulta i seguenti argomenti: