首页 > 解决方案 > 自动检测用户何时验证电子邮件

问题描述

我有一个使用 Laravel 框架构建的网站。当用户创建一个新帐户时,他们会立即被带到他们的仪表板,并显示一条消息,告诉他们检查他们的电子邮件以获取验证链接。仪表板上的所有按钮都被禁用,直到他们验证他们的电子邮件。

我希望仪表板页面能够自动检测用户何时验证他们的电子邮件,然后立即启用按钮,而无需用户在验证后手动刷新页面。我怎样才能做到这一点?

标签: phpmysqldatabaselaravelemail-validation

解决方案


一种方法是拥有一个 API 端点,您可以在其中添加用户信息(id、电子邮件、bla bla),它返回 true 或 false。每隔一段时间向该端点发出请求(可能使用某种形式的退避,例如https://en.wikipedia.org/wiki/Exponential_backoff,如果它在一秒钟后尝试失败,那么如果它在十秒后尝试失败,. .. ) 以避免后端过载。

保持 UI 处于禁用状态,直到您从后端获得积极响应。

话虽如此,您可能需要根据业务需求对用户可以执行的每个操作添加此检查,因为您永远无法(完全)信任客户端


推荐阅读