sails.js的最佳身份验证方法是什么?

JDL*_*JDL 8 authentication node.js sails.js

我正在寻找在sails.js v0.10 rc8中实现身份验证的最佳方法.

是否有sails.js定义的正式方法来实现这一点?

我发现像sails-generate-auth这样的模块,但它的文档并不那么清晰.

sgr*_*454 12

是否有sails.js定义的正式方法来实现这一点?

不,也没有任何计划.这是一个关于Sails不可知的实现细节 - 当涉及到身份验证时,Node社区提供了许多选择.哪一个是"最好的"是一个意见问题,而且是StackOverflow的主题.我会说许多Sails用户 - 像许多Express用户一样 - 选择Passport来满足他们的身份验证需求.在Sails v0.9应用程序中,您可以通过添加以下配置文件(例如config/express.jsconfig/passport.js)来实现:

module.exports = {
 express: {
        customMiddleware: function(app){
            app.use(passport.initialize());
            app.use(passport.session());
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

这也适用于Sails v0.10,虽然sails.config.express已被弃用; 更好用:

module.exports = {
 http: {
        customMiddleware: function(app){
            app.use(passport.initialize());
            app.use(passport.session());
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

然后,您基本上可以遵循Passport指南,但使用Sails操作代替原始Express路由绑定.例如,app.post('/login')您可以使用名为"login"的操作定义Sails控制器(例如"AuthController"),并将路径路由/loginconfig/routes.js文件中的该操作.

  • 自定义中间件现在在sails.config.http中定义[(Sail.js v.11 docs)](http://sailsjs.org/#!/documentation/concepts/Middleware#adding-or-overriding-http-middleware) (2认同)