Menggunakan parameter kueri dan header

Halaman ini menjelaskan cara menggunakan parameter kueri dan header Identity-Aware Proxy (IAP) untuk meningkatkan kualitas UI aplikasi Anda atau memberikan opsi pemecahan masalah.

Parameter Kueri

Tindakan yang berbeda dapat dilakukan dengan menetapkan parameter gcp-iap-mode dalam string kueri URL. Parameter kueri ini dapat disertakan dengan jalur apa pun, bukan hanya URL root.

Meneruskan identitas pengguna

Meneruskan parameter value berikut akan menampilkan kamus JSON dengan identitas pengguna:

YOUR_APP_URL?gcp-iap-mode=IDENTITY

URL ini tersedia dari Akun Google yang login, meskipun akun tersebut tidak memiliki akses ke aplikasi. Anda dapat membuka URL secara langsung atau merujuknya untuk membuat permintaan ke URL. Berikut adalah contoh nilai yang ditampilkan oleh URL:

{"email":"accounts.google.com:USER_EMAIL","sub":"accounts.google.com:118133858486581853996"}

Anda mungkin menganggap nilai ini berguna untuk mempersonalisasi aplikasi, seperti dengan menampilkan nama pengguna, meneruskan identitas ke halaman lain, atau merekam data penggunaan dalam log.

Menghapus login pengguna

Nilai parameter berikut menghapus cookie login IAP:

YOUR_APP_URL?gcp-iap-mode=CLEAR_LOGIN_COOKIE

Meneruskan parameter ini akan menghapus semua cookie yang dikeluarkan IAP untuk aplikasi Anda dan mengarahkan browser ke YOUR_APP_URL. Jika browser Anda memiliki sesi yang valid dengan penyedia identitas (IdP) aplikasi Anda, login diam mungkin terjadi jika hanya ada satu akun yang digunakan dengan IdP. Jika ada beberapa akun yang digunakan, halaman pemilihan akun akan terbuka untuk memungkinkan penggantian profil.

Menguji verifikasi JWT

IAP membantu Anda menguji logika verifikasi JWT dengan meneruskan JWT yang tidak valid ke halaman web pengujian.

Misalnya, IAP meneruskan JWT dengan tanda tangan yang tidak valid untuk setiap permintaan yang berisi parameter kueri gcp-iap-mode=SECURE_TOKEN_TEST dan iap-secure-token-test-type=SIGNATURE. Logika verifikasi Anda harus menangkap tanda tangan yang tidak valid.

Anda dapat menguji logika verifikasi terhadap salah satu skenario berikut dengan menambahkan parameter yang sesuai ke permintaan.

Parameter Kasus pengujian
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=NOT_SET JWT yang valid.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=FUTURE_ISSUE Tanggal penerbitan ditetapkan pada masa mendatang.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=PAST_EXPIRATION Tanggal habis masa berlaku ditetapkan di masa lalu.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=ISSUER Penerbit salah.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=AUDIENCE Audiens salah.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=SIGNATURE Ditandatangani menggunakan penandatangan yang salah.

Header khusus

Mendeteksi respons dari IAP

Saat membuat respons HTTP, seperti saat menolak akses (403) atau meminta autentikasi (302 atau 401), IAP akan menambahkan header respons HTTP X-Goog-IAP-Generated-Response. Dengan mendeteksi keberadaan header ini, Anda dapat melakukan tindakan seperti:

  • Membedakan pesan error yang dihasilkan oleh IAP dan pesan error yang dihasilkan oleh aplikasi Anda.

  • Mendeteksi kapan kredensial IAP perlu ditambahkan ke permintaan.