当作为iOS移动Web应用程序打开时,Node / PassportJS req.user未定义

时间:2016-04-04 16:15:53

标签: ios node.js express passport.js

我构建了一个webapp,根据用户是否经过身份验证(仅通过检查是否定义了req.user)为给定路径呈现不同内容。

此外,我使用<meta name="apple-mobile-web-app-capable" content="yes" />允许iOS用户直接在其主页上以全屏模式打开应用。

虽然在传统浏览器(包括网络和移动版Safari和Chrome)上访问相关路线会显示正确的内容,但在全屏模式下访问网络应用却不会。进一步调查使我意识到req.user在后​​一种情况下是undefined

问题可能在于全屏应用模式无法正确保留用户的浏览器会话。那么,什么是最好的修复/解决方法?

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

解决!

我选择在网络应用视图中重新进行身份验证,而不是直接摆弄会话。要做到这一点,我需要一种方法来在视图本身而不是在Safari中打开链接; this gist派上用场了。

当应用程序页面从任务管理器中关闭并随后重新打开时,会话现在在关闭/重新打开应用程序时仍然存在。问题解决了!