我目前正在对我的GraphQL服务器实施身份验证,该身份也恰好支持订阅。尝试在连接客户端并监听服务器时对客户端进行身份验证时遇到问题。通过将身份验证功能包装在我的Subscription对象中的subscription属性周围,或者在身份验证服务器的onConnect函数中添加身份验证,可以很好地进行身份验证。我以为我可以将相同的函数包装在Subscription对象中的resolve属性周围,但是事实证明上下文确实是由服务器缓存的。因此,如果客户端在连接期间丢失标头令牌,它仍将保留其从服务器接收数据的权利。
在pubsub发布之后,是否有一种方法可以在客户端接收数据之前刷新上下文?