Keycloak - 使用 Rest API 验证用户的电子邮件

Kub*_*ský 3 keycloak keycloak-rest-api

我正在尝试创建一个新用户,然后使用 REST API 验证他的电子邮件地址。为了发送验证电子邮件,我在 Springboot 中使用我自己的电子邮件类,所以我没有调用 keycloak 的/send-verify-email端点!创建用户后,我可以在 keycloak 控制台中看到该用户已创建、启用,并且需要验证他的电子邮件地址。

但问题就在这里。如何使用 Keycloak REST API 验证电子邮件?没有用于此目的的端点,并且我无法更新 UserRepresentation,因为我没有访问令牌。如果没有访问令牌,您就无法更新用户,对吧?

因此,应该有一些不安全的端点不需要访问令牌并验证电子邮件之类的<userID>/verify-email,但没有。所以我正在寻找替代方案,如何验证用户的电子邮件。

当使用Keycloak Springboot客户端(或者它的调用方式)时,有一些用于此目的的方法(例如更新没有令牌的用户),但不幸的是我无法使用这个库。

我真的开始讨厌钥匙斗篷了..

感谢大家的帮助

Jan*_*raj 8

因此,应该有一些不安全的端点,不需要访问令牌并验证电子邮件,例如 /verify-email

这确实是不安全的方法——任何人都可以验证任何电子邮件。

创建具有适当权限配置的新管理员用户/客户端(需要允许更新用户)并使用它(=您需要登录过程 - >访问令牌)来更新用户模型(PUT /{realm}/users/{id}- emailVerified: true)。当然,该管理员用户应对电子邮件的正确性承担责任。