Single logout (SLO) memungkinkan sebuah aplikasi memulai logout global. Ketika pengguna masuk ke aplikasi menggunakan Single Sign-On (SSO) IDaaS, aplikasi tersebut dapat menginisiasi permintaan logout yang juga menghentikan sesi login utama pengguna di IDaaS. IDaaS menerapkan proses ini berdasarkan standar OIDC SLO. Fitur ini saat ini hanya tersedia untuk aplikasi yang dikembangkan sendiri dan aplikasi berbasis OIDC.
SLO adalah mekanisme manajemen sesi untuk federasi identitas. Untuk membuat aplikasi Anda mengabaikan sesi login utama dan meminta autentikasi pada setiap upaya login, gunakan parameter prompt pada titik akhir otorisasi.
Panggil titik akhir SLO
Untuk memulai logout, hentikan terlebih dahulu sesi pengguna di aplikasi Anda, lalu alihkan pengguna ke logout endpoint aplikasi yang disediakan oleh IDaaS.
Administrator dapat menemukan logout endpoint di bagian Application Settings pada tab Application Details > Sign-In > Single Sign-on.
URL logout endpoint memiliki format https://{instance domain name}.aliyunidaas.com/login/app/{application ID}/oauth2/logout dan akan mengeluarkan pengguna dari sesi login utama IDaaS.
Mengalihkan pengguna ke titik akhir ini akan memulai permintaan SLO. Karena IDaaS tidak dapat memverifikasi sumber permintaan pada tahap ini, sistem akan meminta pengguna untuk mengonfirmasi aksi logout tersebut.
Anda dapat melewati langkah konfirmasi manual ini. Untuk informasi lebih lanjut, lihat bagian berikut.
Jika terdapat sesi login aktif di IDaaS, IDaaS akan meminta pengguna mengonfirmasi aksi dengan mengklik Log Out.
Jika pengguna mengonfirmasi aksi tersebut atau tidak ada sesi login aktif di IDaaS, IDaaS akan menampilkan pesan Logged out.
Pengalihan otomatis setelah logout
Untuk mengalihkan pengguna kembali ke aplikasi Anda setelah logout—alih-alih menampilkan halaman "Logged out" IDaaS—konfigurasikan logout callback URL. Tentukan URL ini dengan menggunakan parameter post_logout_redirect_uri.
Administrator harus membuka menu Applications > Manage > Sign-on > Single Sign-on, temukan pengaturan Logout Redirect URIs, lalu masukkan URL callback lengkap untuk aplikasi tersebut.
Bidang Logout Redirect URIs berfungsi sebagai daftar izin (allowlist), dan Anda dapat menambahkan hingga lima URL. Saat logout dimulai, nilai post_logout_redirect_uri yang dikirim ke titik akhir SLO harus termasuk dalam daftar izin ini.
Pengaturan Logout Callback URLs terletak di bagian Advanced Settings. Pada halaman konfigurasi Single Sign-on, Anda harus mengklik Show Advanced Settings untuk membuka bagian tersebut sebelum dapat menemukan dan mengonfigurasi pengaturan ini.
Setelah menyimpan konfigurasi, Anda dapat mengirimkan parameter post_logout_redirect_uri ke titik akhir SLO untuk mengaktifkan pengalihan setelah logout.
Logout otomatis
Untuk pengalaman pengguna yang mulus, Anda dapat melewati langkah konfirmasi manual agar pengguna langsung dikeluarkan dan dialihkan secara otomatis. Untuk mengaktifkan fitur ini, Anda harus mengonfigurasi logout callback URLs seperti yang dijelaskan sebelumnya dan mengirimkan satu parameter tambahan ke titik akhir SLO: id_token_hint.
Titik akhir logout SLO mendukung parameter berikut:
|
Parameter |
Wajib |
Deskripsi |
|
id_token_hint |
Tidak |
Diperlukan untuk mengaktifkan logout otomatis. Parameter ini memverifikasi validitas permintaan. Kirimkan Catatan
Jika klaim Ini merupakan tindakan keamanan yang ditetapkan dalam spesifikasi OIDC untuk mencegah serangan logout jahat. |
|
post_logout_redirect_uri |
Tidak |
Diperlukan untuk mengaktifkan pengalihan otomatis setelah logout. URL callback HTTPS tempat IDaaS mengalihkan pengguna setelah SLO selesai. URL ini harus dikonfigurasi di pengaturan aplikasi di IDaaS. |
|
state |
Tidak |
String acak. Jika pengalihan otomatis dikonfigurasi, IDaaS akan mengembalikan nilai ini ke aplikasi sebagai parameter callback. Digunakan untuk validasi keamanan. |
Contoh berikut menunjukkan permintaan ke titik akhir SLO:
GET https://example.aliyunidaas.com/login/app/<application_id>/oauth2/logout
?id_token_hint=${id_token}
&post_logout_redirect_uri=${post_logout_redirect_uri}
&state=${state}
Alur kerja SLO

Fitur SLO di IDaaS saat ini memiliki batasan berikut:
-
Hanya OIDC SLO yang diimplementasikan. SAML SLO belum didukung.
-
Hanya SP-initiated SLO yang diimplementasikan. Mode OIDC SLO lainnya belum didukung.
-
Hanya sesi login utama IDaaS yang dihentikan. Aplikasi lain yang sedang login tidak terpengaruh. Artinya, SLO global belum diimplementasikan.