如何使用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.js与passport.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
- 将Node.JS代码片段转换为Javascript(Google Apps脚本)
- 是否可以在Express上的白名单路由中应用基本身份validation/中间件?
- Firebase身份validationID令牌具有不正确的“审核”声明
- 使用connect-auth持久login
- 通过nodejs中的电子邮件进行双向身份validation
- Auth0 req.user.sub返回false
- 使用nodejs应用程序上的刷新和访问令牌了解身份validationstream程
- req.session.passport和req.user空白,req.isAuthenticated在初次成功login后使用passport-facebook返回false
- Nodejs我需要使用Passport吗?