Consent Required在keycloak中是“授權所需”,或者是“同意必需“的意思,它類似於oauth2授權時的“確認”,當你在第三方認證後,透過oauth2協議,你可以把使用者相關資訊返回給應用程式,而這時,使用者自己需要確認一下,自己的這些資訊是否可以給應用程式。
為客戶端配置Consent Required選項
- 可以自定義這個同意的頁面,這些是可以定製化的
使用者第一次透過客戶端登入,會顯示這個確認頁
- 可以看到目前對客戶端開放的所有scope
- 每種scope對應使用者的一些資訊,如email,address,profile等
- 這些scope可以在keycloak中的
client scopes
(客戶端範圍)選單中找到,而每個scope包含的使用者資訊,可以在對應的mappers
(對映)裡找到
檢視使用者同意的選項
- 使用者公開了哪些scope,可以在這裡找到
相關實現方式與資料的儲存
- 透過keycloak的
required_action
(必須操作)實現,當透過使用者確認的scope會由keycloak進行儲存,下次使用者再訪問客戶端,就不會再出現這個頁面了 Consent Required
的資料,被儲存到了user_consent
和user_consent_client_scope
這兩張表中- keycloak後臺,可以在使用者詳細中,管理使用者的
Consent Required
資料