电子邮件确认的最佳做法是什么"/>
使用 4/6 位代码进行电子邮件确认的最佳做法是什么
我已经实施了基于链接的确认,这是出于学习目的,我想在新客户注册时实施用于电子邮件确认的 6 位数代码,所以我已经采用了这种技术,我需要知道我是否遵循了正确的方法路径或在此用例中缺少某些东西。
- 将 accountIsActivated 标志设置为的用户保存到数据库中 错误。
- 生成一个随机的 6 位代码并将其保存到 Redis 中 6 小时的 TTL(键 = 电子邮件,值 = 6 位代码)。
- 向注册用户发送包含 6 位数字的电子邮件。
- 用户发送带有 JSON 正文的 HTTP 请求 {email: [email protected], code: 123456}.
- 通过Redis的key(email)获取6位code的值,并与提供的进行比较,然后据此激活用户账户。
为什么我遵循了这个技巧?
- 我不想在我的数据库中添加额外的字段来存储 确认码只能使用一次。
- 我需要将良好的 TTL(生存时间)功能应用于验证码。
我的问题?
- 我在这种帐户确认技术的正确道路上吗?
- 有些用户最终会永远不确认他们的帐户,我应该如何处理?
- PostgreSQL 中有没有类似MongoDB TTL 索引的东西,可以根据某些条件在特定时间段后删除一些文档?或者我需要某种 CronJob 或计划任务来清理数据库?
更多推荐
使用 4/6 位代码进行电子邮件确认的最佳做法是什么
发布评论