Node.JS Web 应用程序:身份验证、创建帐户、忘记密码和更改密码

问题描述 投票:0回答:1

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

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

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

  • 注册(创建帐户),
  • 忘记密码(然后设置新密码),
  • 锁定/解锁帐户,
  • 更改密码

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

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

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

我搜索过这个问题,但没有找到任何东西。

谢谢!

node.js authentication registration change-password forgot-password
1个回答
1
投票

很久以前,我通过 Spring 为 Java 开发了 authentication-flows,最近我编写了 authentication-flows-js

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

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

package.json
中的依赖项。

在其自述文件(当然还有 npm 页面)中,有所有内容的详细解释,如果缺少某些内容 - 请告诉我。很快就会发表一篇文章(我会添加链接作为评论)。

您可以在这里找到托管应用程序的示例

新 - GAE 上提供了演示应用程序!

注意:我听到过诸如“实施起来并不难”之类的评论。真的。 但你必须确保处理好所有情况。例如, 如果用户尝试创建已存在的帐户会发生什么? 如果用户尝试创建已存在的帐户会发生什么 但不活跃?密码策略怎么样? (太长/太 短/多少大写等)发送带有以下内容的电子邮件怎么样? 激活链接给用户?你如何创建这个链接?你应该 加密吗?接收点击的控制器怎么样 链接并激活帐户?还有更多...

© www.soinside.com 2019 - 2024. All rights reserved.