首页 > 解决方案 > Node.JS webapp:身份验证、创建帐户、忘记密码和更改密码

问题描述

我想在node.js中开发一个新的网络应用程序(使用express)。我对 node.js 世界比较陌生,所以我假设有些框架我不熟悉。

是否有任何框架(如Spring for Java)来管理身份验证(并免去开发人员的麻烦)?还是每个开发人员都必须一遍又一遍地编写这段代码?

登录/注销不是全部。还有其他流程:

我想我已经涵盖了所有流程。

我知道每个应用程序都有自己的 UI、表单,也许还有它的徽标,但对于大多数应用程序来说,流程本身是相似的。此外,我知道实现起来并不难,但是拥有某种实现流程的工具/框架/基础设施可能会很棒。

是否有这样的工具/框架可以帮助应用程序的开发人员并实现这些流程?

我已经搜索了这个问题,但找不到任何东西。

谢谢!

标签: node.jsauthenticationregistrationchange-passwordforgot-password

解决方案


很久以前,我在 Spring 上为 Java 开发了身份验证流,最近我编写了authentication-flows-js

它是一个可以回答大多数流程的模块 - 身份验证、注册、忘记密码、更改密码等,并且它足够安全,因此应用程序可以使用它而不必担心它会被轻易入侵。

适用于使用 express 的 node.js 应用程序(用 TypeScript 编写)。它是开源的(在 GitHub 中)。发布版本位于npm上,因此您可以将其用作package.json.

在它的 README 中(当然还有 npm 页面)对所有内容都有详细的解释,如果有什么遗漏 - 请告诉我。一篇文章将很快发表(我将添加一个链接作为评论)。

您可以在此处找到托管应用程序的示例

注意:我听说过诸如“实施起来并不难”之类的评论。真的。但是您必须确保处理所有情况。例如,如果用户尝试创建已经存在的帐户会发生什么?如果用户尝试创建已经存在但不活动的帐户会发生什么?密码策略呢?(太长/太短/多少资本等)如何将带有激活链接的电子邮件发送给用户?您如何创建此链接?你应该加密它吗?将收到点击链接并激活帐户的控制器呢?和更多...


推荐阅读