keycloak - 如何使用 Keycloak UserRegistrationProvider 获取名字/姓氏?
问题描述
我正在寻找任何方法来使用用户存储提供程序在 keyclock 上获取新的自注册用户的名字或姓氏?
就我而言,我正在使用 Keycloak 12 和一个旧的 MySQL 数据库,我必须在其中存储所有用户。
在我的 SPI 中实现 UserRegistrationProvider.addUser(RealmModel realm, String username) 和 CredentialInputUpdater.updateCredential(RealmModel realm, UserModel user, CredentialInput input) 允许我捕获用户名和密码......但我无法获得任何其他基本信息,例如名字/姓氏?
这是我的两个 CredentialInputUpdater 和 UserRegistrationProvider 实现:
@Override
public UserModel addUser(final RealmModel realmModel, final String username) {
Integer id = userRepository.createUser(username, "password");
User user = null;
if (id != null) {
user = new User(id.toString(), username, "firstName", "userName", "password");
}
return user != null ? new UserAdapter(session, realmModel, model, user) : null;
}
@Override
public boolean updateCredential(RealmModel realm, UserModel user, CredentialInput input) {
if (!supportsCredentialType(input.getType()) || !(input instanceof UserCredentialModel)) {
return false;
}
UserCredentialModel cred = (UserCredentialModel) input;
return userRepository.updateCredentials(user.getUsername(), cred.getChallengeResponse());
}
关于如何获取这两个数据的任何想法?
解决方案
推荐阅读
- django - PUT操作后无法登录Django REST Framework
- d3.js - 如何避免条形图中的条与图例重叠
- logback - Logback.xml 不会为错误单独生成日志,并在单独的滚动文件中进行调试
- highcharts - 在 Highcharts 中设置自定义积分
- python - 我有一个不知道如何解决的缩进错误
- r - Rstudio中的MongoDB连接与odbc
- vue.js - vue.js 三元样式绑定 - 无效表达式:意外标记']'
- javascript - 扩展运算符更新不需要的元素,同时在数组中添加新元素(ReactJs)
- css - 在 Azure API 管理服务中设计新的开发人员门户
- r - ggplot qplot(快速绘图)填充?