1
的認證請求的提示參數的可用值已經登錄如下:忽略提示,而用戶在
- 沒有。這不會顯示登錄界面如果用戶已經登錄就會成功
- login:這將始終顯示登錄UI以重新認證用戶。即使已經登錄。
- 同意:這將始終顯示同意用戶界面。即使以前授權。
- select_account:...
他們沒有服務於以下流程:
- 如果用戶登錄,返回成功。否則,顯示登錄UI。
- 如果用戶已登錄並且以前授權客戶端應用程序,則返回成功。
的認證請求的提示參數的可用值已經登錄如下:忽略提示,而用戶在
他們沒有服務於以下流程:
我認爲prompt
參數恰好與您想要的參數完全相反 - 它在那裏需要或強制某些行爲而不是默認參數。例如,對於none
,您假定用戶在OAuth2服務器上有一個有效會話,並且您使用隱藏的iframe
訪問/auth
端點,所以如果沒有會話,您希望它失敗,而不是呈現登錄屏幕。
您所描述的第二個缺失prompt
參數值是默認行爲(沒有prompt
參數存在)。第一個可以繞過同意屏幕,所以我認爲這會違反OAuth2原則。
此外,如果在使用prompt = none時,使用ID未登錄或未提供授權請求時的許可,則許多授權提供程序將返回login_required或interaction_required。 – jwilleke
@ján-halaša請您參考某個標準規範中的一個地方,這個標準規範說明了省略提示時的行爲?只是爲了建立一個參考而不是從沉默中爭論的論點。 –
@ján-halaša關於我假設的第一個缺少的提示參數值:它不會繞過同意屏幕。如果不需要同意,即使沒有任何授權給客戶端(例如,客戶端沒有要求任何索賠),返回「用戶認證成功」也是有效的。或者如果所請求的索賠要求同意,則應返回consent_required。 –