这是我在 passport.socketIO 之前初始化护照的代码。有时,passportSocketIo 会抛出一个错误,指出 Passport 未初始化。无论如何我可以在 app.use 上使用 async await 来确保在套接字尝试使用护照之前先初始化护照?
app.use(passport.initialize())
app.use(passport.session())
var io = socketIO(server)
io.use(passportSocketIo.authorize({
cookieParser: cookieParser,
key: 'connect.sid',
secret: 'secret',
store: sessionStore,
success: onAuthorizeSuccess,
fail: onAuthorizeFail,
}));
function onAuthorizeSuccess(data, accept){
accept(null, true);
}
function onAuthorizeFail(data, message, error, accept){
if (error)
throw new Error(message);
accept(null, false);
}
这是它创建的错误:
/Users/user/reactProjects/app/server.js:90
[0] throw new Error(message);
[0] ^
[0]
[0] Error: Passport was not initialized
[0] at Object.onAuthorizeFail [as fail]