我正在尝试使用提供的示例处理 keycloak 的自定义用户存储 SPI。https://github.com/keycloak/keycloak-quickstarts/tree/latest/user-storage-simple
当启动 mvn 全新安装 wildfly:deploy
时启动 Keycloak 时,我从这个文件 PropertyFileUserStorageProvider.java
收到 3 个错误:
类型为 org.keycloak.models.UserCredentialModel 的变量 cred 找不到符号(方法 getValue())
我不明白为什么我面临这些错误。他们还在文档中使用此 getValue
方法。https://www.keycloak.org/docs/latest/server_development/index.html#_user-storage-spi
爪哇岛
感谢您的帮助
UserCredentialModel 类在最新的 Keycloak 版本 8.0.0 中发生了很大变化
看起来“快速入门示例”需要一些修复才能使用此版本
像这样:
@Override
public boolean isValid(RealmModel realm, UserModel user, CredentialInput input) {
// No need to check input is of type UserCredentialModel since there no need to cast it anymore
if (!supportsCredentialType(input.getType())) return false;
String password = properties.getProperty(user.getUsername());
if (password == null) return false;
// Input Password can now be obtained using the getChallengeResponse() method of the CredentialInput type
return password.equals(input.getChallengeResponse());
}
希望这会有所帮助。
问候