我有一个基本的node.js / Express服务器使用express-stormpath进行用户身份验证 . 一切都很好,没有电子邮件验证 . 显然,出于多种原因,电子邮件验证是可取的,但我的电子邮件验证用户无法使用标准登录流程来限制路由 .
我在自定义路线上的具体示例:
app.get('/myaccount', stormpath.loginRequired, function(req,
res.send('Your email address is: ' + req.user.email);});
此路由适用于在电子邮件验证之前注册的用户 .
但是,对于在电子邮件验证后注册的用户而言,它已经破裂了 . 这些用户收到了一封电子邮件,点击了该链接,收到了确认屏幕(“您的帐户已成功验证并可以使用”),并在我的Stormpath仪表板中标记为“已启用” .
具体来说,如果他们输入正确的密码,他们会再次发送到http://glacial-hollows-8156.herokuapp.com/login?next=%2Fmyaccount,这将再次呈现登录屏幕,无限制 . 如果他们输入的密码不正确,他们会收到标准错误,告诉他们
有任何想法吗?也许电子邮件验证的帐户未正确初始化? Stormpath提供的路线(如'/ me')的行为也是一样的,所以我不认为这是我的路线 . 当我打开和关闭电子邮件验证时,/ myaccount会继续为经过电子邮件验证的用户工作,并且始终以这种方式为经过电子邮件验证的用户打断
1 回答
这是stormpath仪表板上的“链接基本URL”的配置问题
它已默认为'https://api.stormpath.com/emailVerificationTokens ', which verifies users - although they can' t实际登录
相反,将'Link Base URL'更改为http://localhost:3000/verify
请注意,此链接已完全过时,尽管只有3个月... ... https://stormpath.com/blog/how-to-add-billing-to-your-api/不要打扰尝试使用/验证