在sails.js下使用SSL时,Passport.js初始化失败

Passport.js fails to initialize when using SSL under sails.js

本文关键字:js Passport 初始化 失败 sails SSL      更新时间:2023-09-26

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

我启动风帆,它响应正常,至少那些控制器是打开的。但是,当我尝试登录时,护照开始身份验证,我得到以下内容:

错误:passport.initialize()中间件未被使用在IncomingMessage.req.login.req.logIn (D:'Development'TRYDEV'try-server'try-server'node_modules'passport'lib'http'request.js:44:34)在D: '开发' TRYDEV ' '控制器' AuthController.js try-server ' try-server ' api: 37:17(D:'Development'TRYDEV'wrg-server'wrg-server'node_modules'passport'lib'middleware'authenticate.js:194:18)(D:'Development'TRYDEV'try-server'try-server'node_modules'passport-local'lib'passport-local'strategy.js:83:10)在D: '开发' TRYDEV ' ' passport.js try-server ' api try-server ' '服务:89:28在D: '开发' TRYDEV ' try-server ' try-server ' node_modules ' bcryptjs ' bcrypt.min.js: 40:101在D: '开发' TRYDEV ' try-server ' try-server ' node_modules ' bcryptjs ' bcrypt.min.js: 11:441at d (d:'Development'TRYDEV'try-server'try-server'node_modules'bcryptjs' bcryptjs .min.js: 9:32)在过程。_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)
}}