我已经创建了一个带有 graphql-subscriptions 的 apollo-server,到目前为止一切都很好。我可以在前端接收出版物。伟大的!
我现在要做的只是将出版物发送给授权用户,因此需要进行某种逻辑/测试。但是在哪里以及如何?我见过的所有示例和事情都涉及盲目地从 redis 服务器接收消息,并将其设置回客户端。我可以测试哪个用户登录了,但现在呢?各个微服务将与身份验证/用户服务对话,并据此决定允许的操作。没问题。但是如何阻止 redis 广播到达错误的用户?apollo-server 所做的只是监听来自 redis 的消息——而不是验证它们。
我唯一能真正想到的就是在每次广播中都有某种权限对象字段,并使用 graphql 来针对 auth 服务对其进行验证。似乎不对。我希望我的身份验证在微服务中完成。任何指向我正确方向的东西都会很棒。