express-stormpath登录不适用于经过电子邮件验证的用户

时间:2015-10-23 15:04:52

标签: javascript node.js express stormpath express-stormpath

我有一个基本的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 个答案:

答案 0 :(得分:1)

这是配置问题'链接基本网址'在stormpath仪表板上

它已默认为' https://api.stormpath.com/emailVerificationTokens',用于验证用户 - 尽管他们无法实际登录

而是,更改'链接基本网址'到http://localhost:3000/verify

请注意,此链接已完全过时,尽管只有3个月... https://stormpath.com/blog/how-to-add-billing-to-your-api/不要费心去尝试使用/验证