Node.JS webapp:身份验证、创建帐户、忘记密码和更改密码

Node.JS webapp: Authentication, Create Account, Forgot Password and Change Password

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

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

Login/Logout 还不是全部。还有其他流量:

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

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

有这样的tool/framework可以帮助应用程序开发人员并实现这些流程吗?

我已经搜索过这个问题,但找不到任何内容。

谢谢!

很久以前我开发了authentication-flows for Java over Spring, and recently I wrote authentication-flows-js.

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

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

中的依赖项

在它的自述文件(当然还有 npm 页面)中有对所有内容的详细解释,如果有遗漏 - 请告诉我。即将发表一篇文章(我会加个link作为评论)

您可以找到 here an example for a hosting application.

NOTE: I have heard comments like "It's not so difficult to implement". True. But you have to make sure you take care of all cases. For example, what happens if a user tries to create account that is already exists? what happens if a user tries to create account that is already exists but inactive? what about the policy of the password? (too long/too short/how many capital etc.) what about sending the email with the activation link to the user? how you create this link? should you encrypt it? what about the controller that will receive the click on the link and activate the account? and more...