在sails.js下使用SSL时,Passport.js无法初始化

我正在使用Sails.js(v0.9.4)和护照(本地策略)。 一切工作正常。 我有要求在SSL后面设置Sails.js。 所以我有︰https : //www.mydomain.com :8080/ api (我被迫使用8080作为SSL端口)。

我启动了Sails,它响应正常,至less那些打开的控制器。 但是,当我尝试login,护照开始身份validation,我得到以下内容:

错误:未在IncomingMessage.req.login.req.logIn(D:\ Development \ TRYDEV \ try-server \ try-server \ node_modules \ passport \ lib \ http \ request.js中使用passport.initialize()中间件:44 :34)在D:\ Development \ TRYDEV \ try-server \ try-server \ api \ controllers \ AuthController.js:37:17 at Strategy.strategy.success(D:\ Development \ TRYDEV \ wrg-server \ wrg- (D:\ Development \ TRYDEV \ try-server \ try-server \ node_modules \ passport-local \ lib \ passport-local \ strategy)中的server \ node_modules \ passport \ lib \ middleware \ authenticate.js:194:18)。在D:\ Development \ TRYDEV \ try-server \ try-server \ node_modules D:\ Development \ TRYDEV \ try-server \ try-server \ api \ services \ passport.js:89:28 d:D:\ Development \ TRYDEV上的D:\ Development \ TRYDEV \ try-server \ try-server \ node_modules \ bcryptjs \ bcrypt.min.js:11:441上的\ bcryptjs \ bcrypt.min.js:40:101 \ test-server \ node_modules \ bcryptjs \ bcrypt.min.js:9:302)at process._tickDomainCallback(node.js:459:13)

这是我的本地文件的内容:

var fs = require('fs'); module.exports = { port: 8080, express: { serverOptions : { key: fs.readFileSync("ssl/5934652-localhost.key"), cert: fs.readFileSync("ssl/5934652-localhost.cert") }} } 

为什么当我改变local.js时,它不工作,我的意思是改变它为https?

在您的local.js文件中,执行以下操作:

 module.exports = { port: 8080, express: { customMiddleware: function (app) { app.use(passport.initialize()); app.use(passport.session()); app.configure(function () { app.use(express.json()); app.use(express.urlencoded()); app.use(express.multipart()) }); }, serverOptions : { key: fs.readFileSync(mc.httpsBindings.key), cert: fs.readFileSync(mc.httpsBindings.cert) }}