1

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

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

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

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

我真的开始讨厌keycloak了..

谢谢大家的帮助

4

1 回答 1

5

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

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

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

于 2020-05-26T06:31:30.773 回答