期望的结果:
用户应该能够注册,然后他应该能够通过移动应用程序登录(如果电子邮件地址未验证),应用程序会显示电子邮件未验证的警告,并且某些应用程序功能已禁用
我有什么:
- 具有用户注册和登录功能的原生移动应用
- 应用程序使用的 api 服务器
- 密钥锁实例
注册功能由api 服务器完成,它是一个 keycloak 机密客户端,可以创建用户
登录由移动应用程序/token
直接通过对返回访问令牌的 keycloak 端点的后调用完成
一切都好,现在我有一个可以由我的 api 服务器使用的令牌,我知道它是一个注册用户,其电子邮件地址未经确认
问题是用户没有收到任何欢迎/确认电子邮件,但是:如果用户转到 keycloak 登录网页并尝试使用新创建的用户登录,那么他会收到来自 Keycloak 的电子邮件,但对于通过 api 登录的电子邮件没有电子邮件。有什么办法可以解决这个问题吗?难道我做错了什么?
请求用户验证电子邮件的唯一方法是请求“验证电子邮件”操作,但如果我这样做,那么用户将无法再使用未经验证的电子邮件登录
POST
使用to/auth/realms/realm/protocol/openid-connect/token
和{grant_type: 'password', password: 'string', username: 'string'}
body完成登录
呼叫PUT /{realm}/users/{id}/send-verify-email
的行为似乎与请求Verify Email
相同/execute-actions-email