如何解决Node.JS webapp:身份验证、创建帐户、忘记密码和更改密码
我想在 node.js(使用 express)开发一个新的网络应用程序。我对 node.js 世界比较陌生,所以我假设有些框架我不熟悉。
是否有任何框架(如 Java 的 Spring)来管理身份验证(并避免开发人员的麻烦)?还是每个开发者都得一遍遍地写这段代码?
登录/退出不是全部。还有其他流程:
- 注册(创建帐户),
- 忘记密码(然后设置新密码),
- 锁定/解锁帐户,
- 修改密码
我想我已经涵盖了所有流程。
我知道每个应用程序都有自己的 UI、表单,也许还有它的徽标,但是对于大多数应用程序来说,流程本身是相似的。 此外,我知道实施起来并不难,但拥有某种工具/框架/基础设施来实施流程会很棒。
是否有这样的工具/框架可以帮助应用程序的开发人员实现这些流程?
我已经搜索了这个问题,但没有找到任何东西。
谢谢!
解决方法
很久以前,我在 Spring 上为 Java 开发了 authentication-flows,最近我写了 authentication-flows-js。
这是一个回答大多数流程的模块 - 身份验证、注册、忘记密码、更改密码等,并且它足够安全,因此应用程序可以使用它而不必担心它会很容易被黑客入侵。
用于使用 express 的 node.js 应用程序(用 TypeScript 编写)。它是一个开源(在 GitHub 中)。发布版本位于 npm,因此您可以将其用作 package.json
中的依赖项。
在它的自述文件(当然还有 npm 页面)中有对所有内容的详细解释,如果有遗漏 - 请告诉我。一篇文章即将发布(我会添加一个链接作为评论)。
您可以找到here an example for a hosting application。
注意:我听说过诸如“实施起来并不难”之类的评论。真的。 但是您必须确保处理所有情况。例如, 如果用户尝试创建已经存在的帐户会发生什么? 如果用户尝试创建已经存在的帐户会发生什么 但不活跃?密码的策略呢? (太长/太 短/多少资本等)如何发送带有 用户的激活链接?你如何创建这个链接?你应该 加密吗?接收点击的控制器呢? 链接并激活帐户?还有更多...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。