当前位置: 首页 > 知识库问答 >
问题:

在微服务之间传递用户身份和授权

龚凯泽
2023-03-14

假设我已经有入口点(api网关)来处理身份验证和发布JWT令牌。然后用户用这个令牌调用某个APIendpoint。到目前为止,一切都很清楚。现在--这个endpoint需要与另一个微服务通信。该微服务必须获得授权信息(角色等)。另外-这个通道是异步的(JMS/Kafka),这意味着处理可能会被dalayed...

我也在考虑其他情况:我们有两个服务A和B,它们都公开可能被外部用户访问的API(JWT令牌auth),但它们也需要异步协作(通过JMS)。它们都需要用户标识上下文。再说一遍--怎么通过?

我可以:

    null

共有1个答案

辛成周
2023-03-14

你有

  1. 网关->ms1->Kafka->Kafka消费者->ms2
  2. 网关->MS2

在第二种情况下,MS2代表用户,因此用户的JWT在这里是有意义的。

 类似资料:
  • 我们正在尝试找出IPC身份验证和授权的最佳实践。我会解释的。我们有一个基于微服务的体系结构SaaS和一个专门的认证服务。该服务负责执行身份验证和管理身份验证令牌(JWT)。 现在的问题是如何验证和授权由其他服务发起的请求(没有特定用户的上下文)? 我们是否应该为每个服务生成一个专用用户,并像对待系统中的任何其他用户一样对待它(具有适当的权限)? 我们是否应该在服务之间部署“硬编码”/动态令牌? 还

  • 我有一个移动(本机)和Web应用程序(SPA),它与后端微服务(在核心2.0中开发)对话,以进行身份验证/授权和其他与域相关的功能,该功能已使用Opendi的配置。这两个应用程序都获得了访问令牌。我遇到的问题是,所有微服务都应该接受无记名访问令牌和登录用户的身份验证/授权(中央身份验证服务),在身份验证微服务中生成的访问令牌(开放身份验证2.*)。那么,我在微服务中缺少哪些更改,其中REST AP

  • 我正试图从现有的应用程序中设计一个具有相当标准的用户管理的微服务:具有认证和授权,并存储用户数据。 我正在开发一个授权服务器来管理用户身份验证和授权,使用作为授权。在另一方面,我必须存储用户的信息/配置文件。 问题:授权服务器应该管理: 授权和用户API?因此,其他微服务可以联系上的授权服务器以获取当前用户,也可以联系以获取完整的用户列表。 还是只有授权,我必须创建用户微服务?因此授权服务器只公开

  • 以下是不同的情况: 我的微服务A接收通过API网关并携带有效访问令牌的最终用户发起的请求(JWT,其作用域/声明对应于最终用户:用户名、id、电子邮件、权限等)。这个案子没问题。微服务拥有处理请求的所有信息。 第一个问题:如果微服务A需要调用微服务B会发生什么? null null 例如,微服务B中被调用的方法需要用户id才能工作。用户id值可以设置为查询字符串。如果使用用户访问令牌调用该方法,则

  • 我要找的是一些别人如何解决这个问题的建议/经验。如果需要,我很乐意提供更多的信息。 为了让您更容易地给出建议,这里有两个选择的简短描述:1)使用JWT处理身份验证和授权?为什么?2)保持JWT的轻量级,并在每个微服务中向授权服务器发出请求?为什么?

  • 我将非常感谢任何答复以及文章,在您的意见可能有助于这里。提前谢谢你。