【问题标题】:Keycloak - Verify user's email using Rest APIKeycloak - 使用 Rest API 验证用户的电子邮件
【发布时间】:2020-09-12 09:47:00
【问题描述】:

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

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

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

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

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

谢谢大家的帮助

【问题讨论】:

    标签: keycloak keycloak-rest-api


    【解决方案1】:

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

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

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

    【讨论】:

    • 好的,这是一个很好的答案。你知道我应该添加到这个帐户的权限吗?是否来自领域管理 - 管理用户?
    • 我也面临同样的情况。我们可以使用具有“管理用户”领域权限的客户端,这意味着我们必须将客户端凭据保存在前端吗?
    猜你喜欢
    • 2020-02-28
    • 2020-02-25
    • 2019-02-21
    • 2019-06-16
    • 2021-03-24
    • 2020-09-27
    • 2021-08-16
    • 2020-02-21
    • 1970-01-01
    相关资源
    最近更新 更多