有几种方法可用于管理微服务中的身份验证,包括服务到服务身份验证。我想了解哪种方法更好。
>
当用户登录到系统身份验证服务调用时,身份验证服务返回不透明令牌(不是 JWT),则每个 API 调用都包含该不透明令牌网关通过身份验证服务验证令牌,为下游服务生成新的 JWT 令牌。因此,下游服务不必每次都调用身份验证服务来验证令牌。
从一开始,身份验证服务将生成一个 JWT 令牌。
2.1. 网关将通过下游服务进行验证和传递,所有服务将使用相同的令牌
2.2. 网关每次都会验证并生成一个新令牌,下游服务也会这样做。
每种方法都有其优点和缺点。
问题:
方法1.网关每次都需要进行身份验证服务调用才能验证?
方法2.JWT 代币的到期时间是多久?谁需要处理过期,谁需要再次生成它之间的什么令牌过期?JWT 令牌必须是短暂的,因此它是否不会影响客户端行为或刷新令牌应该在此处出现。
所以我对哪种方法是好的感到困惑,或者还有其他方法。请告诉我。
应避免向外界公开 JWT,因为这些 JWT 可能包含自定义声明中的敏感信息。特别是如果您在一家大公司工作,您无法跟踪最终导致不同索赔的内容。
因此,如果使用 opague 令牌(您应该这样做),网关应验证令牌并将其交换为可在网络内部使用的 JWT。
所有服务的设置都应
始终牢记零信任
。
如果可能,所有服务都应获取 JWK 以验证传入的 JWT。这些 JWK 应该定期轮换。
这是为了避免如果恶意行为者访问内部网络,他不应该仅仅因为他通过了网关而对任何服务发出任何请求。
当涉及到到期时间时,这些时间应该由发行人设定,并且应该保持简短,因为其中一个大问题是发行代币很容易,但撤销代币更难。
流程通常是这样的:
我们正在尝试找出IPC身份验证和授权的最佳实践。我会解释的。我们有一个基于微服务的体系结构SaaS和一个专门的认证服务。该服务负责执行身份验证和管理身份验证令牌(JWT)。 现在的问题是如何验证和授权由其他服务发起的请求(没有特定用户的上下文)? 我们是否应该为每个服务生成一个专用用户,并像对待系统中的任何其他用户一样对待它(具有适当的权限)? 我们是否应该在服务之间部署“硬编码”/动态令牌? 还
我正在尝试在一个microservice中配置一个microservice,但我正在尝试在另一个microservice中配置一个microservice如何进行身份验证。这就是我试图归档的体系结构: 我已经设法让用户授权工作并保护了微服务A,现在我正在尝试授权来自微服务B的请求,但我不确定如何做到这一点,我是否应该为微服务B在KeyCape中创建一个专用用户,或者在realm中创建客户端,或者其
简而言之,应该在哪里执行输入验证和身份验证验证?在 API 网关和每个微服务中?仅在 API 网关中?仅在每个微服务中? 也许部分在api网关中,部分在每个网关中? 谢谢你的回答!
我现在读了很多关于微服务的书,但仍然不了解其中的一些部分。我画了以下图: 每个微服务有2个访问: REST:对于超文本传输协议使用 gRPC:用于内部/后台通信/交换 如果我想登录,我可以向我的身份验证服务发送一个Http请求。但是,如果我想访问需要您连接的Stuff服务,该怎么办? 假设用户希望显示数据库中可用的内容,服务人员将首先通过与身份验证服务交换来检查连接用户的“令牌”是否正确,然后返回
它总是导致带有错误消息的catch块 登录失败:未知的用户名或错误的密码。失败:未知的用户名或错误的密码。 我确信给定的密码是正确的。 如何使用给定的密码验证用户名?
我在AWS上托管了几个微服务(Springdge)。例如,让我们假设Service1和Service2是两个微服务。Service1是前端和移动应用程序访问的微服务。Service1调用Service2。Service2完全是内部的。 我已经设置了位于Service1前面的Amazon API网关。我使用cognito配置了身份验证(Oauth)。 这一切都在起作用。当从前端/应用程序调用时,请求
我有一个移动(本机)和Web应用程序(SPA),它与后端微服务(在核心2.0中开发)对话,以进行身份验证/授权和其他与域相关的功能,该功能已使用Opendi的配置。这两个应用程序都获得了访问令牌。我遇到的问题是,所有微服务都应该接受无记名访问令牌和登录用户的身份验证/授权(中央身份验证服务),在身份验证微服务中生成的访问令牌(开放身份验证2.*)。那么,我在微服务中缺少哪些更改,其中REST AP
管理员-能够创建内容,上传文件等(管理员帐户只能由另一个管理员创建) 未经授权的用户-可以查看内容 授权用户-可以评论内容 以下是我到目前为止对身份验证流的思考: 身份验证服务-使用用户凭据和权限访问数据库 API Gateway--检索来自用户的请求,检查用户是否登录(即用auth服务验证OAuth2访问令牌),并根据用户请求将流传输到其他服务(附加一些基本用户信息的JWT令牌) 另一个服务--