Parameter prompt OpenID Connect: HARUS vs HARUS

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:

  1. Implementasi prompt=login yang memenuhi persyaratan SHOULD 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.
  2. prompt=login implementasi yang memenuhi SHOULD persyaratan MUST 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.

person Grokify    schedule 26.07.2016    source sumber


Jawaban (1)