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

Questa pagina descrive come creare in modo programmatico client OAuth da utilizzare con IAP, consentendoti di configurare IAP in modo programmatico end-to-end per le applicazioni interne.

Limitazioni note

Esistono alcune limitazioni per i client OAuth creati in modo programmatico usando questa API:

  • I client OAuth creati dall'API possono essere modificati solo utilizzando l'API. Tu non può modificare un client OAuth tramite la console Google Cloud se è stato creato utilizzando l'API.
  • I client OAuth creati dall'API sono bloccati solo per l'utilizzo IAP pertanto l'API non consente aggiornamenti all'URI di reindirizzamento o ad altre attributi.
  • L'API non funziona sui client OAuth creati utilizzando la console Google Cloud.
  • Quando si utilizza l'API, sono consentiti solo 500 client OAuth per progetto.
  • I brand della schermata per il consenso OAuth create tramite API hanno limitazioni specifiche. Consulta le di seguito per ulteriori informazioni.

Comprendere i brand e lo stato del branding

La schermata per il consenso OAuth contenente informazioni sul branding degli utenti, è noto come brand. Brand può essere limitata a utenti interni o utenti pubblici. Un brand interno Flusso OAuth accessibile a qualcuno che appartiene allo stesso account Google Workspace dell'organizzazione come progetto. Un brand pubblico rende il flusso OAuth disponibile chiunque su internet.

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

  • Sono impostati come interni e devono essere impostati manualmente come pubblici se desiderato
  • Sono impostati sullo stato "Non revisionato" ed è necessario attivare 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 ti interessa dal menu a discesa.
  3. Nella pagina Schermata di consenso OAuth, tieni presente che il Tipo di utente è impostato automaticamente su Interno. Per impostarlo come Pubblico, fai clic su Modifica app. Sono disponibili altre opzioni di configurazione.
  4. In Tipo di applicazione, fai clic su Pubblica.

Per attivare una revisione del brand per un brand creato con l'API non recensito:

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

La procedura di verifica potrebbe richiedere diverse settimane e riceverai gli aggiornamenti via email. Scopri di più sulla verifica. Mentre la procedura di verifica è in corso, puoi comunque utilizzare la 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 sia stato concesso le seguenti autorizzazioni:

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets (richiesto solo per la scheda OAuth) client con un secret).
  • clientauthconfig.clients.getWithSecret
  • clientauthconfig.clients.delete
  • clientauthconfig.clients.update

Queste autorizzazioni sono incluse nell'Editor (roles/editor) e nel Proprietario (roles/owner) ruoli di base, tuttavia ti consigliamo di creare ruolo personalizzato che contiene e concedere l'autorizzazione al chiamante.

Configura OAuth per IAP

I passaggi riportati di seguito descrivono come configurare la schermata per il consenso e creare un client OAuth per gli acquisti in-app.

  1. Verifica se hai già un brand utilizzando il comando list. Puoi avere un solo brand per progetto.

    gcloud iap oauth-brands list

    Di seguito è riportato un esempio di risposta gcloud, se il brand esiste:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. Se non esiste alcun brand, utilizza il comando create:

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

    I campi sopra indicati sono obbligatori quando si chiama questa API:

    • supportEmail: l'indirizzo email dell'assistenza visualizzato nella schermata per il consenso OAuth. Questo indirizzo email può essere l'indirizzo di un utente o un alias di gruppi Google. Sebbene anche gli account di servizio abbiano un indirizzo email, non sono indirizzi email validi e non possono essere utilizzati durante la creazione di un brand. Tuttavia, un account di servizio può essere il proprietario di un gruppo Google. Crea un'istanza nuovo gruppo Google o configurare un gruppo esistente e impostare il servizio desiderato dell'account come proprietario del gruppo.

    • applicationTitle: il nome dell'applicazione visualizzato sul consenso OAuth schermo.

    La risposta contiene i seguenti campi:

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

Creazione di un client OAuth IAP

  1. Usa il comando create per crea un client. Utilizza la marca name del passaggio precedente.

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

    La risposta contiene i seguenti campi:

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

Utilizza l'ID client (client_id nell'esempio precedente) e secret per attivare IAP. Per ulteriori informazioni, consulta i seguenti argomenti attivare IAP utilizzando le credenziali che hai appena creato: