用户帐户激活、电子邮件确认和使用 Passport / Node.Js 的邀请
Posted
技术标签:
【中文标题】用户帐户激活、电子邮件确认和使用 Passport / Node.Js 的邀请【英文标题】:User account activation, e-mail confirmation, and invitations with Passport / Node.Js 【发布时间】:2014-04-16 17:56:46 【问题描述】:我想为在 Passport / Neo4J 上运行的用户身份验证系统设置 3 件事:
1) 手动激活用户帐户(以便管理员执行);
2) 仅限邀请帐户创建;
3) 激活前邮箱确认账号;
我想知道您是否知道任何易于使用的 Passport 插件(我自己没有找到,但也希望得到您的建议)以及 - 实现它的最佳方式是什么(也许您'已经完成/看过了,所以你可以分享代码吗?)
谢谢!
【问题讨论】:
你用的是什么数据库? 发现这个问题正在寻找完全相同的东西。 @Alex Neo4J 图数据库 好的,因为你使用的是 Neo4J,所以并不相关,但在我的应用程序(我使用猫鼬)中,我使用了这个,发现它非常有用 npmjs.org/package/mongoose-email-address-manager 我最近使用 Mongoose 为客户做了这件事,并等待获得开源它的许可。我相信它会有一些用处,我稍后会更新。 【参考方案1】:披露:我从未使用过 Neo4j,所以我不知道具体细节,但我会通过以下方式完成:
您可以编写一些简单的查询,在注册时将用户信息(例如用户名、密码、电子邮件等)插入您的数据库。然后,使用类似nodemailer 的方式向用户发送一封电子邮件,其中说明他已注册并正在等待确认。
在您存储的用户信息中,您应该有一列用于存储帐户状态(已验证或未验证)。然后,您可以编写一个小网页,用于从您的数据库中检索所有帐户verified=false
,并通过将verified
设置为true
来确认您想要的那些,之后用户将收到一封电子邮件,用户告诉他他现在可以使用您的服务了。
至于仅限邀请的注册,我将有一个带有“注册码”的特殊表格,当用户邀请某人时,该表格将生成并插入到该表格中。被邀请的人会收到一个包含代码的链接,点击它后服务器会检查数据库中是否存在代码,如果存在则允许用户创建一个帐户。
我知道这是一个广泛的答案,但有很多方法可以完成您正在寻找的!
【讨论】:
【参考方案2】:有人尝试使用 Drawbridge,但构建失败...https://www.npmjs.org/package/drawbridge
我正在寻找同样的东西。
【讨论】:
最后我手动实现了护照。查看github.com/noduslabs/infranodus以上是关于用户帐户激活、电子邮件确认和使用 Passport / Node.Js 的邀请的主要内容,如果未能解决你的问题,请参考以下文章
在 Drupal 中,如何在没有管理员批准和用户设置密码的情况下激活电子邮件帐户?