javascript - Express-stormpath 登录不适用于经过电子邮件身份验证的用户

标签 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 会继续为非电子邮件验证的用户工作,并且对于电子邮件验证的用户总是以这种方式中断

最佳答案

这是stormpath仪表板上“链接基本URL”的配置问题

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

相反,将“链接基本 URL”更改为 http://localhost:3000/verify

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

关于javascript - Express-stormpath 登录不适用于经过电子邮件身份验证的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305614/

相关文章:

javascript - 如何在javascript中获取特定时间的日期

node.js - Mongoose model.save() 在更新时不会持久保存到数据库

amazon-web-services - 具有健康检查功能的 Express Session 和 Amazon Beanstalk

javascript - 如何在socket.io连接函数中执行具有指定参数的函数

javascript - 日期的正则表达式?

node.js - npm 仅链接 dist 文件夹

javascript - Node.js:计算文件中的行数

javascript - 我可以一起使用不同的 Promise 实现吗?

javascript - 将字符串中的末尾括号替换为反斜杠字符,后跟末尾括号

javascript - 从字符串查询中提取特定单词 [javaScript]