我正在使用Sails v0.10.5。我想使用Passport将身份验证系统与用户名和密码集成。为此,我正在阅读以下文件:
但是,我在评论中看到这些已经过时,不再适用于风帆v0.10.5。我试过这些,它没有进行身份验证,我能够在没有任何身份验证的情况下访问所有控制器操作。
是否有任何更新版本或任何其他有用的文档进行集成?
答案 0 :(得分:7)
我强烈建议您尝试使用sails-generate-auth生成器。它基于护照,它为您的sails.js应用程序创建完整的身份验证层,包括本地策略(用户/密码),OAuth2.0和OpenID。
Sails-generate-auth将为您创建两个新模型(用户,Passport),身份验证控制器,服务,配置路由和策略。 因此,如果您想对现有应用程序应用身份验证,那么创建新的sails应用程序,使用 sails-generate-auth 生成身份验证层,稍微测试一下然后将必要的文件复制到您的原始申请。
希望有所帮助。
修改强>
sails-auth也是一个很好的解决方案。与sails-generate-auth类似,它会生成所有必要的模型和服务,因此您可以轻松地将其连接到现有服务。
答案 1 :(得分:2)
使用支持电子邮件,Twitter和Facebook的 passport.js 查看 sails.js 这个易于使用的示例:https://github.com/bmustata/sails-auth-super-template
答案 2 :(得分:0)
在测试sails-generate-auth,sails-auth和waterlock之后,我发现所有这些解决方案都试图做太多或者没有正确完成所有事情。然后我决定帮忙,并写一些关于如何做到这一点的说明。我一直在使用这些步骤。
第1步(全局):$ npm install -g sails
第2步(应用):$ sails new 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 install --save passport
npm install --save passport-local
npm install --save bcrypt-nodejs
npm install --save jsonwebtoken
npm install --save express-jwt
您的终端将如下所示:
POST/GET/PUT/DELETE user/
POST auth/login
DELETE auth/logout
以下是有关如何在风帆中创建基于令牌的身份验证的精彩指南:https://github.com/carlospliego/sails-token-auth-setup