1
OpenID Connect Implicit Client specification指示隱式客戶端的可選prompt=login
參數值SHOULD
提示最終用戶進行重新認證。OpenID Connect提示參數:SHOULD vs MUST
是解釋SHOULD
以下任一正道:
prompt=login
實現滿足SHOULD
要求應提示用戶在適當的時候重新進行身份驗證,但可能不會在某些情況下,例如提示用戶重新認證沒有活動會話的位置,但不要在用戶有活動會話時提示。prompt=login
滿足SHOULD
要求的實現MUST
提示用戶重新進行身份驗證。
如果實施SHOULD
要求的正確方法是上面的#2選項,總是驗證,一個人如何處理這種情況的用戶只提示如果會話已過期驗證的情況呢?這是否會省略prompt
參數?
Microsoft Azure,Okta和Salesforce的實現使用MUST
進行重新認證。
參考文獻:
- OpenID:授權服務器應提示最終用戶重新進行身份驗證。如果它不能重新認證最終用戶,它必須返回一個錯誤,通常是login_required。
- MS Azure:
prompt=login
將強制用戶在該請求中輸入憑據,否定單點登錄。 - Okta:可以是none或登錄。該值確定Okta是否不應提示進行身份驗證(如果需要),或者強制提示(即使用戶有現有會話)。默認值:默認行爲取決於是否存在Okta會話。
- Salesforce:授權服務器必須提示用戶進行重新認證,強制用戶再次登錄。