keycloak~Consent Required的使用
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
数据