Node.js 基于身份验证和授权框架?

Node.js based Authentication & Authorisation framework?

搜索此类框架的结果主要是 Passport.js,我认为这仅适用于身份验证。

在PHP世界中,有一个对

有用的步哨催化剂

是不是Node.js还不够成熟,没有这么成熟的开源框架?

node.js是建立在模块之上的,模块是建立在模块之上的,等等。通常意义上的框架是不存在的。相反,您拥有的是应用程序的起点,通常称为生成器,然后您拥有实现功能的模块。生成器当然不是必需的,您可以从头开始。

有一些模块可以为您做很多事情,以至于它们感觉像是框架,但归根结底,它们只是一个整体的一部分,一个模块,扩展了一个现有模块。 Express 就是一个很好的例子。它包装 http.Server 并为您处理请求回调,允许您将回调链接到单个请求回调(称为中间件),最终导致使用数据(通过路由)响应客户端。

但是,快递所做的只是路由。它不做模板、电子邮件、数据库工作、身份验证、数据建模,什么都不做。所有这些都必须作为中间件添加,并且通常通过使用实现该功能的现有模块来完成。

现在,回到发电机。可能最流行的 Express 生成器是 express generator,但是,它附带的只是 express、一些基本的中间件、错误处理和模板引擎。您需要自己安装和实施应用程序的其他部分(例如身份验证)。这对于 node.js 是正常的。在这一点上,您需要决定您的应用程序需要什么,您希望如何实现它,然后找到实现这些目标的模块(或自己编写模块,因为通常不存在完全符合您要求的模块。 )


我说我不会这样做,但是,Loopback 是另一个模块和生成器(环回开发人员称它为框架,我称它为生成器,无论如何)构建一个快速应用程序(包装在 loopback 模块中),但它几乎内置了您要查找的所有内容。我不使用它,因为我觉得它做的太多了。当我用它构建应用程序时,我对不知道大部分应用程序如何工作感到不舒服,因为我没有构建它,我只是插入了我的数据。它确实节省了预先的时间,但是当涉及到不支持开箱即用的自定义工作时,它变得非常耗时。

如果您正在寻找一个完整的 CRUD 用户管理系统,Stormpath 之类的系统是您的最佳选择。

使用他们的 express.js 库可以立即为您提供一个完整的 CRUD 系统(带有 Node / Express / Restify / Loopback / Python / Django / Flask / 等等...)用于管理/工作的库与您的用户。

这是他们的 express.js 库文档:https://docs.stormpath.com/nodejs/express/

本质上,他们所做的是:

  • 他们会存储您的用户帐户。
  • 您使用他们的中间件来创建/登录/管理用户。
  • 您可以使用他们的中间件通过登录、组、API 身份验证等来限制页面
  • 您可以使用他们的库来搜索/排序/创建/更新/删除用户/API 键/应用程序/组。
  • 它的功能非常齐全,并且有据可查。

我是上述库的作者,所以我有点偏见,但老实说它很有用 =)