如何使用PassportauthenticationSails JS应用程序?

我正在使用Sails v0.10.5。 我想用Passport集成一个带有用户名和密码的authentication系统。 为此,我正在通读以下文件:

  • [如何]使用Sails.js实现Passport.js身份validation
  • 使用PASSPORT身份validation创build一个SAILS应用程序

但是,我在评论中看到这些已经过时,不再适用于风帆v.10.5。 我试过这些,它不是身份validation,我可以访问所有的控制器操作没有任何身份validation。

有没有更新的版本或任何其他有用的文件集成?

我强烈build议你尝试sails-generate-auth生成器。 它基于护照,并为您的sails.js应用程序(包括本地策略(用户/密码),OAuth2.0和OpenID)创build整个身份validation层。

Sails-generate-auth将为您创build两个新模型(用户,Passport),身份validation控制器,服务,configuration路由和策略。 因此,如果您想要将身份validation应用于现有的应用程序,那么创build新的sails应用程序,使用sails-generate-auth生成身份validation层,testing一下,然后将必要的文件复制到原始应用程序将会更安全。

希望有所帮助。

编辑

sails-auth也是一个很好的解决scheme。 与sails-generate-auth类似,它生成所有必要的模型和服务,以便您可以轻松地将其连接到现有服务。

看看这个易于使用的例子sails.jspassport.js同时支持电子邮件,Twitter和Facebook: https : //github.com/bmustata/sails-auth-super 模板

在testing了sails-generate-auth,sails-auth和waterlock之后,我发现所有这些解决scheme要么尝试做太多,要么做得不正确。 然后,我决定帮助一下,并写下如何完成这些工作的指示。 我现在一直在使用这些步骤。

第1步(全局):$ npm install -g sails

第2步(应用程序):$帆新myApp

步骤3(文件):将https://github.com/carlospliego/sails-token-auth-setup中的每个文件复制到相应的文件夹

步骤4(策略):将此代码添加到您的config / policies.js

'*': "hasToken", UserController: { "create": true }, AuthController: { '*': true } 

第5步:更改config / tokenSecret.js的值

第6步:(依赖)

  • npm安装 – 保存护照
  • npm安装 – 保存本地护照
  • npm install – 保存bcrypt-nodejs
  • npm install –save jsonwebtoken
  • npm install –save express-jwt

您的端点将如下所示:

  • POST / GET / PUT / DELETE用户/
  • POSTvalidation/login
  • 删除身份validation/注销

以下是如何在sails中创build基于令牌的authentication的一个很好的指导: https : //github.com/carlospliego/sails-token-auth-setup