验证电子邮件并注册用户后,如何在电子邮件上生成链接后获取令牌?
Posted
技术标签:
【中文标题】验证电子邮件并注册用户后,如何在电子邮件上生成链接后获取令牌?【英文标题】:How to get token after link generated on email after verifying email and register a user? 【发布时间】:2022-01-19 11:05:21 【问题描述】:当用户注册时,会向该电子邮件发送一个链接以进行验证,当该用户单击该链接时,用户将获得验证并打开一个新选项卡,其中提供电子邮件验证消息,然后将生成 JWT 令牌单击该链接后,我如何获取令牌,因为我有 token_generate(GET api) 的 api。
【问题讨论】:
【参考方案1】:根据我的经验,这应该是过程:
-
用户填写注册表并提交
调用后端 API,后端 API 在数据库中针对电子邮件创建一个临时验证令牌。例如这样的:
email: 'ahsanayaz@something.com',
verificationToken: '123123123'
-
然后后端通过如下链接向用户发送电子邮件:
https://yourfrontendapp.com/verify-user?verificationToken=123123123
当用户单击电子邮件中的链接时,用户基本上会在前端应用程序中打开一个页面。前端应用程序从当前 URL 中提取出verificationToken
查询参数,并在另一个 API 调用中将其发送到后端。
后端接收令牌并在数据库中验证它(参见步骤 2)。后端验证后,后端会在数据库中创建用户,并生成 JWT 令牌并在 API 调用的响应中发回用户和 JWT 令牌。
用户仍在页面https://yourfrontendapp.com/verify-user?verificationToken=123123123
上,在第 4 步中进行 API 调用。应用程序现在从验证 API 调用中接收回 JWT 令牌和用户数据,您保存 JWT 令牌和用户在 localStorage 或其他东西中,并更改前端应用的状态以反映用户现在已创建并登录。
【讨论】:
以上是关于验证电子邮件并注册用户后,如何在电子邮件上生成链接后获取令牌?的主要内容,如果未能解决你的问题,请参考以下文章
用户注册后如何在 aws cognito 中自动验证电子邮件。稍后状态后在 Cognito 中验证电子邮件