Chr*_*der 6 safari heroku node.js express express-session
我有一个托管在 Heroku 上的 Node/Express 应用程序,该应用程序有一个我为其购买的域。在我的桌面上使用该应用程序时,它运行良好。当我访问它的域https://myapp.app或直接在 Heroku 上托管的位置https://myapp.herokuapp.com时,我可以正常登录
但是,当我在移动 iOS 上的 Safari 上访问该应用程序的域 ( https://myapp.app ) 时,它不会验证请求。登录好像没有设置cookie。然而,当我通过 Heroku URL( https://myapp.herokuapp.com )访问该应用程序时,我可以正常登录。登录https://myapp.herokuapp.com后,它会让我保持登录状态https://myapp.app ,并且只有在https://myapp.herokuapp.com登录一次后,它才会让我保持登录状态登录https://myapp.app。
这是我的快速会话代码。我也使用 Passport.js 进行身份验证。
app.use(session({
secret: 'cat',
resave: false,
saveUninitialized: true,
proxy: true,
cookie: {
sameSite: 'none',
secure: process.env.NODE_ENV == "production" ? true : false
}
}));
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
小智 0
这对我有用:
app.use(
session({
name: SESS_NAME,
resave: false,
saveUninitialized: false,
store: new MongoStore({mongooseConnection: db}),
secret: SESS_SECRET,
proxy: true,
cookie: {
maxAge: 1000 * 60 * 24, // 24 hours
secure: true,
httpOnly: true,
},
})
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |