我正在将一个已有的基于NodeJS + Express后端的Web应用适配为PhoneGap / Steroids应用。目前,Web应用的身份验证是由使用会话的Passport(http://passportjs.org/)处理的。
在浏览器中运行良好。不幸的是,在PhoneGap中似乎无法使用会话cookie。因此,发送到服务器的请求将被拒绝。
PhoneGap的推荐解决方案是改用令牌策略,即在每个请求到达服务器时都包含一个唯一的令牌,就像api端点一样。
因此,我想知道以下内容:
是否可以调整passport.session(),以便如果找不到会话cookie,则检查req.token并对其进行授权?
我注意到Passport已经有一些基于令牌的策略可用。(例如https://www.npmjs.org/package/passport-http-bearer) 但是,所有这些策略似乎都假设不会使用会话,并且已关闭。我真正需要的是同时使用两者,因此如果一个身份验证失败(例如会话),它可以跳过并针对另一个身份验证(令牌)进行检查。
是否有人实现了类似于此的功能?任何建议/指针都将不胜感激。
app.use( passport.initialize() );
app.use( passport.session() );
在浏览器中运行良好。不幸的是,在PhoneGap中似乎无法使用会话cookie。因此,发送到服务器的请求将被拒绝。
PhoneGap的推荐解决方案是改用令牌策略,即在每个请求到达服务器时都包含一个唯一的令牌,就像api端点一样。
因此,我想知道以下内容:
是否可以调整passport.session(),以便如果找不到会话cookie,则检查req.token并对其进行授权?
我注意到Passport已经有一些基于令牌的策略可用。(例如https://www.npmjs.org/package/passport-http-bearer) 但是,所有这些策略似乎都假设不会使用会话,并且已关闭。我真正需要的是同时使用两者,因此如果一个身份验证失败(例如会话),它可以跳过并针对另一个身份验证(令牌)进行检查。
是否有人实现了类似于此的功能?任何建议/指针都将不胜感激。