Membuat klien OAuth untuk IAP secara terprogram

Halaman ini menjelaskan cara membuat klien OAuth secara terprogram untuk digunakan dengan IAP, yang memungkinkan Anda menyiapkan IAP secara terprogram end-to-end untuk aplikasi internal.

Batasan umum

Ada beberapa batasan untuk klien OAuth yang dibuat secara terprogram menggunakan API ini:

  • Klien OAuth yang dibuat oleh API hanya dapat dimodifikasi menggunakan API. Anda tidak dapat mengubah klien OAuth melalui Konsol Google Cloud jika sudah dibuat menggunakan API.
  • Klien OAuth yang dibuat oleh API hanya dikunci untuk penggunaan IAP, dan sehingga API tidak mengizinkan pembaruan apa pun ke URI pengalihan atau .
  • API tidak beroperasi pada klien OAuth yang dibuat menggunakan konsol Google Cloud.
  • Hanya 500 klien OAuth yang diizinkan per project jika menggunakan API ini.
  • Brand layar izin OAuth yang dibuat API memiliki batasan khusus. Lihat di bawah untuk informasi selengkapnya.

Memahami brand dan status branding

Layar izin OAuth, yang berisi informasi branding untuk pengguna, dikenal sebagai merek. Brand dapat dibatasi untuk pengguna internal atau pengguna publik. Merek internal membuat Alur OAuth yang dapat diakses oleh seseorang yang memiliki akun Google Workspace yang sama organisasi sebagai proyek. Merek publik membuat alur OAuth tersedia untuk siapa pun di internet.

Merek dapat dibuat secara manual atau terprogram melalui API. dibuat API merek dikonfigurasi secara otomatis dengan setelan yang berbeda:

  • Setelan ini ditetapkan ke internal dan harus disetel secara manual ke publik jika diinginkan
  • Status tersebut ditetapkan ke "belum ditinjau" status dan peninjauan merek harus dipicu

Untuk menetapkan merek internal ke publik secara manual:

  1. Buka layar izin OAuth.
  2. Pilih project yang diinginkan dari menu drop-down.
  3. Di halaman OAuth consent screen, perhatikan bahwa User Type otomatis disetel ke Internal. Untuk menyetelnya ke Publik, klik Edit Aplikasi. Opsi konfigurasi lainnya tersedia.
  4. Pada Application type, klik Public.

Guna memicu peninjauan merek untuk merek buatan API yang belum ditinjau:

  1. Buka layar izin OAuth.
  2. Pilih project yang diinginkan dari menu drop-down.
  3. Di halaman OAuth consent screen, masukkan informasi yang diperlukan, dan lalu klik Kirim untuk verifikasi.

Proses verifikasi dapat memakan waktu hingga beberapa minggu, dan Anda akan menerima email tentang perkembangannya. Pelajari lebih lanjut verifikasi. Saat proses verifikasi sedang berlangsung, Anda masih dapat menggunakan dalam organisasi Google Workspace Anda. Pelajari lebih lanjut cara aplikasi Anda akan berperilaku sebelum diverifikasi.

Sebelum memulai

Sebelum Anda dapat membuat klien, pastikan terlebih dahulu bahwa pemanggil telah diizinkan izin berikut:

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets (Hanya diperlukan untuk mencantumkan OAuth klien Anda dengan rahasia.)
  • clientauthconfig.clients.getWithSecret
  • clientauthconfig.clients.delete
  • clientauthconfig.clients.update

Izin ini disertakan dalam Editor (roles/editor) dan Pemilik (roles/owner) peran dasar, Namun, sebaiknya Anda membuat peran khusus yang berisi memberikan izin dan memberikannya kepada pemanggil sebagai gantinya.

Menyiapkan OAuth untuk IAP

Langkah-langkah berikut menjelaskan cara mengonfigurasi layar izin, serta membuat dan OAuth untuk IAP.

  1. Periksa apakah Anda sudah memiliki merek dengan menggunakan perintah list. Anda mungkin hanya memiliki satu merek per proyek.

    gcloud iap oauth-brands list

    Berikut adalah contoh respons gcloud, jika brand ada:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. Jika tidak ada merek, gunakan perintah create:

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

    Kolom di atas wajib diisi saat memanggil API ini:

    • supportEmail: Email dukungan yang ditampilkan di layar izin OAuth. Alamat email ini dapat berupa alamat pengguna atau alias Google Grup. Meskipun akun layanan juga memiliki alamat email, akun tersebut bukanlah alamat email valid yang sebenarnya, dan tidak dapat digunakan saat membuat merek. Namun, akun layanan dapat menjadi pemilik Google Grup. Buat Google Grup baru atau konfigurasi grup yang ada dan tetapkan akun layanan yang diinginkan sebagai pemilik grup.

    • applicationTitle: Nama aplikasi yang ditampilkan di layar izin OAuth.

    Respons berisi kolom berikut:

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

Membuat Klien OAuth IAP

  1. Gunakan perintah create untuk membuat klien. Gunakan merek name dari langkah sebelumnya.

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

    Respons berisi kolom berikut:

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

Gunakan client ID (client_id dalam contoh di atas) dan secret untuk mengaktifkan pembelian dalam aplikasi (IAP). Lihat topik berikut untuk informasi selengkapnya tentang mengaktifkan IAP menggunakan kredensial yang baru saja Anda buat: