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

您如何处理授权和身份验证i微服务?

汤承德
2023-03-14

我要找的是一些别人如何解决这个问题的建议/经验。如果需要,我很乐意提供更多的信息。

为了让您更容易地给出建议,这里有两个选择的简短描述:1)使用JWT处理身份验证和授权?为什么?2)保持JWT的轻量级,并在每个微服务中向授权服务器发出请求?为什么?

共有1个答案

裴姚石
2023-03-14

我想说,两个选择:

  1. 保持JWT轻
  2. 将OAuth2“授权码”授权类型与刷新令牌和访问令牌一起使用
  3. 使用类似于lfu的驱逐策略在集中式分布式缓存系统中缓存用户权限
  4. 在访问令牌续订期间(根据访问令牌的有效期定期续订),获取用户的最新访问权限并刷新缓存
  5. 如果缓存中没有访问权限,请查询Keycloak并在缓存中添加条目

因此,

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

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

  • 我现在读了很多关于微服务的书,但仍然不了解其中的一些部分。我画了以下图: 每个微服务有2个访问: REST:对于超文本传输协议使用 gRPC:用于内部/后台通信/交换 如果我想登录,我可以向我的身份验证服务发送一个Http请求。但是,如果我想访问需要您连接的Stuff服务,该怎么办? 假设用户希望显示数据库中可用的内容,服务人员将首先通过与身份验证服务交换来检查连接用户的“令牌”是否正确,然后返回

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

  • 我正在回顾几种重新开发节点的方法。js restful单片应用程序,使用微服务与api网关相结合。在使用aws api网关的过程中,似乎有一些项目我没有找到很多相关文档。首先,我正在设计的应用程序必须能够支持SSO,我希望用户能够通过创建本地登录或使用他们当前的facebook、twitter等社交帐户进行注册。 aws api gateway将如何处理这个过程,尤其是因为我需要使用自定义数据库进

  • OAuth术语已经困扰我很久了。OAuth授权是像一些人建议的那样,还是认证? 如果我错了,请纠正我,但我一直认为授权是允许某人访问某个资源的行为,而OAuth似乎没有任何实际允许用户访问给定资源的实现。OAuth实现所讨论的都是为用户提供一个令牌(签名的,有时是加密的)。然后,每次调用都会将该令牌传递到后端服务endpoint,在后端服务endpoint上检查该令牌的有效性,这也不是OAuth的