Spesifikasi Klien Implisit OpenID Connect menunjukkan nilai parameter prompt=login
opsional untuk Klien Implisit SHOULD
meminta pengguna akhir untuk mengautentikasi ulang.
Apakah cara yang tepat untuk menafsirkan SHOULD
salah satu dari berikut ini:
- Implementasi
prompt=login
yang memenuhi persyaratanSHOULD
akan meminta pengguna untuk mengautentikasi ulang jika diperlukan, namun mungkin tidak dalam situasi tertentu, misalnya. meminta pengguna untuk mengautentikasi ulang jika tidak ada sesi aktif, tetapi jangan meminta ketika pengguna memiliki sesi aktif. prompt=login
implementasi yang memenuhiSHOULD
persyaratanMUST
meminta pengguna untuk mengautentikasi ulang.
Jika cara yang benar untuk menerapkan persyaratan SHOULD
adalah opsi #2 di atas, untuk selalu mengautentikasi, bagaimana cara menangani situasi di mana pengguna hanya diminta untuk mengautentikasi jika sesi telah kedaluwarsa? Apakah ini berarti menghilangkan parameter prompt
?
Implementasi dari Microsoft Azure, Okta, dan Salesforce menggunakan MUST
untuk autentikasi ulang.
Referensi:
- OpenID: Server Otorisasi HARUS meminta Pengguna Akhir untuk autentikasi ulang. Jika tidak dapat mengautentikasi ulang Pengguna Akhir, maka HARUS mengembalikan kesalahan, biasanya login_required.
- MS Azure:
prompt=login
akan memaksa pengguna untuk memasukkan kredensial mereka pada permintaan itu, sehingga meniadakan sistem masuk tunggal. - Okta: Bisa berupa none atau login. Nilainya menentukan apakah Okta tidak boleh meminta autentikasi (jika diperlukan), atau memaksakan permintaan (bahkan jika pengguna sudah memiliki sesi). Default: Perilaku default didasarkan pada apakah ada sesi Okta yang ada.
- Salesforce: Server otorisasi harus meminta pengguna untuk autentikasi ulang, memaksa pengguna untuk login lagi.