是否可以在 Keycloak 中使用自定义身份验证逻辑?
Is is posible to use a custom authentication logic in Keycloak?
我已经使用 LDAP 用户联盟配置了 Keycloak。当用户想要登录应用程序时,他会被重定向到 Keycloak 登录页面,进入 uid/pwd 并使用 LDAP 绑定进行身份验证。
这不足以满足我的要求,因为我想实现一些自定义身份验证逻辑,例如:
public boolean authenticate(String uid, String pwd) {
//1.- validate against LDAP
//2.- do some other validations
return validationResult;
}
如何将我自己的身份验证逻辑包含到 Keycloak 中?
要添加新的身份验证机制,您需要实现身份验证 SPI。 Server Development guide > Authentication SPI section.
中对此进行了描述
您可以实现一个 Authentication SPI 并将其部署到 Keycloak 服务器,或者如果您在不使用默认选项的情况下实现用户联合,则可以在自定义用户提供程序包中实现身份验证逻辑(此身份验证流程将在这种情况下仅可用于此特定联合用户存储)。
我已经使用 LDAP 用户联盟配置了 Keycloak。当用户想要登录应用程序时,他会被重定向到 Keycloak 登录页面,进入 uid/pwd 并使用 LDAP 绑定进行身份验证。
这不足以满足我的要求,因为我想实现一些自定义身份验证逻辑,例如:
public boolean authenticate(String uid, String pwd) {
//1.- validate against LDAP
//2.- do some other validations
return validationResult;
}
如何将我自己的身份验证逻辑包含到 Keycloak 中?
要添加新的身份验证机制,您需要实现身份验证 SPI。 Server Development guide > Authentication SPI section.
中对此进行了描述您可以实现一个 Authentication SPI 并将其部署到 Keycloak 服务器,或者如果您在不使用默认选项的情况下实现用户联合,则可以在自定义用户提供程序包中实现身份验证逻辑(此身份验证流程将在这种情况下仅可用于此特定联合用户存储)。