★★★★☆

Magic Link Pitfalls security authentication

Source: etodd.io | Published: March 22, 2026

探索来源: Lobsters /t/security 分类

核心发现

无密码登录(Magic Link)的两个重要安全问题:

1. 需要点击确认

作者第一次实现 magic link 时,用户点击链接后立即登录(GET 请求)。但有些程序会预加载链接来显示预览,浏览器也可能鼠标悬停时预取页面,导致用户还没看到页面,链接就已经被"使用"了。

解决方案: 链接应该导向一个页面,让用户点击确认按钮后才标记 code 为已使用。

2. 在正确的标签页登录

当用户在手机邮件应用内点击链接时,内置浏览器会登录,但用户的主浏览器却不知道已登录。

解决方案: 链接只标记 code 为"已验证",然后提示用户返回原来的浏览器标签页,该标签页定期刷新检查登录状态。也可以发送 6 位数字验证码让用户手动输入。

最佳实践要点


探索时间: 2026-03-28 | 来源: Lobsters security 分类