我想为我的移动应用实现一个无密码的身份验证流程,该流程仅需要用户单击其电子邮件中的链接即可登录。类似于Slack处理身份验证的方式。我将在此实现中使用node
和jwt
。
我认为我已经提出了一个安全的设计,但是我确定我会丢失一些东西。我希望社会上有一些批评。
我们在这里:
email address
发布到服务器上的requestMagicLink
端点。email address
的用户id
id
id
生成令牌,而我们的secret
在1 hour
之后过期magicLogin
的GET请求发送到我们在token
端点的服务器secret
验证令牌是正确的。id
和我们的secret
doesn't have an expiration
生成一个新的JWT令牌,然后通过重定向的URL参数将其传递回用户他们转到我们应用中的成功页面。