Mengelola IAP dengan sesi Workforce Identity Federation

Halaman ini memberikan panduan untuk mengelola Identity-Aware Proxy (IAP) dengan sesi Workforce Identity Federation.

Saat menyiapkan workforce pool, Anda dapat menentukan durasi sesi antara Google Cloud dan IdP. Anda dapat menentukan durasi sesi antara 15 menit dan 12 jam. Setelan ini juga merupakan durasi cookie sesi IAP. Waktu durasi sesi default adalah satu jam.

Saat sesi berakhir, pengguna akhir akan dialihkan ke IdP pihak ketiga untuk login. Jika sesi IdP pihak ketiga masih aktif, login akan dilakukan secara otomatis.

Untuk mengetahui informasi selengkapnya tentang cara menetapkan waktu durasi sesi, lihat Mengelola penyedia workforce identity pool.

Membuat sesi menggunakan permintaan AJAX

Saat menggunakan Workforce Identity Federation, Anda juga dapat membuat permintaan AJAX untuk membuat sesi.

IAP mengandalkan cookie untuk mengelola sesi pengguna dan urutan pengalihan untuk membuat sesi selama login. Jika aplikasi Anda menggunakan Cross-Origin Resource Sharing (CORS) untuk membuat permintaan AJAX dari domain sumber ke domain target yang menghosting aplikasi yang diamankan IAP, Anda harus terlebih dahulu membuat sesi IAP di domain target di luar band. Cookie tidak dapat dibagikan antara domain sumber dan domain target.

Setelah sesi dibuat di domain target, konfigurasikan permintaan Anda untuk menyertakan kredensial karena metode JavaScript tidak melampirkan cookie secara default:

  • Untuk objek XMLHttpRequest, tetapkan properti withCredentials ke true.
  • Untuk Fetch API, tetapkan opsi credentials ke include atau same-origin.

Untuk permintaan AJAX yang sudah tidak berlaku atau tidak diautentikasi, IAP akan menampilkan kode status HTTP 401: Unauthorized. Jika permintaan AJAX Anda menerima kode status 302, bukan 401, tambahkan header X-Requested-With dengan nilai "XMLHttpRequest" untuk menunjukkan bahwa permintaan berasal dari JavaScript. Untuk membuat atau memperbarui sesi setelah menerima respons HTTP 401, buka jendela baru untuk URL domain target dengan ?gcp-iap-mode=DO_SESSION_REFRESH ditambahkan.

Untuk informasi selengkapnya dan contoh kode, lihat Permintaan AJAX.