微服务架构中使用 RabbitMQ 的 JWT 授权通用

问题描述

我需要一些关于我目前正在处理的场景的支持。任何帮助,将不胜感激。所以这就是我所参与的:

我有一个应用程序,它在后端使用 NodeJS,在前端使用 ReactJS。此应用程序具有微服务架构。我使用 Apollo Server 来提供后端服务和 ReactJS 之间的通信。所有服务都使用 RabbitMQ 并且它们有自己的交换。这些服务之一是用户授权和身份验证服务,它也使用 AMQP 来传递和发送消息。因此,当用户尝试登录时,Apollo Server 接收凭据,将其发送到消息代理,用户身份验证服务中的消费者使用包含用户凭据的消息,生成 JSONWebToken,然后将令牌发送到消息代理。 ReactJS 中的 Apollo 客户端中的订阅者处理令牌并使用户登录。 所以这就是我想知道的:

  1. 此方案是否适合在用户中使用? 身份验证 - 授权流程?
  2. 如果 1000 名用户以不同的互联网连接速度同时发出相同的请求怎么办? Apollo 客户端会收到错误的令牌吗?我的意思是让我们假设 2 个用户发出登录请求,Apollo Server 接收它们,将请求包含的凭据发送到 MQ,用户身份验证服务使用凭据,复制令牌,将它们发送到 MQ。用户 A 是否有可能收到用户 B 的令牌?

最好的问候。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)