【问题标题】:How to authenticate Sails JS application using Passport? [duplicate]如何使用 Passport 对 Sails JS 应用程序进行身份验证? [复制]
【发布时间】:2015-01-24 17:19:07
【问题描述】:

我正在使用 Sails v0.10.5。我想使用 Passport 将身份验证系统与用户名和密码集成在一起。为此,我正在阅读以下文档:

但是,我在 cmets 中看到这些已过时,不再适用于sails v0.10.5。我尝试了这些,它没有进行身份验证,我无需任何身份验证即可访问所有控制器操作。

是否有任何更新版本或任何其他有用的集成文档?

【问题讨论】:

标签: node.js authentication sails.js passport.js


【解决方案1】:

在测试了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
 }

第五步:更改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

这里是关于如何在sails 中创建基于令牌的身份验证的精彩指南:https://github.com/carlospliego/sails-token-auth-setup

【讨论】:

    【解决方案2】:

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

    Sails-generate-auth 将为您创建两个新模型(用户、护照)、身份验证控制器、服务、配置路由和策略。 因此,如果您想将身份验证应用于现有应用程序,创建新的sails 应用程序会更安全,使用 sails-generate-auth 生成身份验证层,对其进行一些测试,然后将必要的文件复制到您的原始申请。

    希望对您有所帮助。

    编辑

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

    【讨论】:

    • 谢谢!让我试试这个。
    • 我试过sails-generate-auth。我已经按照他们的文档中提到的那样配置了所有内容。但是当我抬起服务器时,它无法正常工作。我能够访问所有控制器。这是一个示例应用程序:sails-passport。当我尝试时,这也有同样的问题。知道为什么会这样吗?我正在使用本地策略进行身份验证
    • 成功了!我在上面的评论中得到了这个问题的答案。 Passport 没有拒绝访问控制器的策略。我必须为此制定另一个政策。
    • 关于sails-generate-auth 的任何建议都开始被放弃并且几个月来没有任何有意义的更新?
    • @ShawnStrickland 我刚刚编辑了我的答案。请查看sails-auth
    【解决方案3】:

    查看这个易于使用的 sails.js 示例,其中 passport.js 支持电子邮件、Twitter 和 Facebook:https://github.com/bmustata/sails-auth-super-template

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 2018-02-04
      • 2020-11-13
      • 2014-09-21
      • 1970-01-01
      • 2018-11-26
      • 2018-06-02
      相关资源
      最近更新 更多