即使策略是本地的,Feathers auth也仅提供JWT身份验证。
我是否应该为实现express-session
的使用而制作完整的自定义中间件,并为实现常规会话行为而清除passport
的隐含形式,或者为此目的有一些解决方案?
另外,我也想使用passport.socketio
来认证套接字。
最佳答案
使用Feathers身份验证模块是完全可选的,您可以随时在before and after a service之类的任何位置注册自己的中间件。这意味着您可以设置普通的Express会话设置,然后将req.feathers设置为还希望传递给Feathers服务(例如用户)的会话信息。正如您提到的,您将必须对websockets做同样的事情(也允许在其中间件中设置handshake.feathers
)。
一种替代方法是使用基于cookie的JWT,它允许secure normal Express middleware with form logins。
关于node.js - 如何在Feathers js中使用传统 session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48659222/