我正在使用3个spring-boot微服务创建一个微服务结构化的应用程序:


Web-处理客户端的传入Web请求
用户帐户-管理客户帐户和登录
产品-管理客户产品


Web微服务允许客户端注册/登录并将REST请求发送到用户帐户微服务,以管理其帐户详细信息和登录。它还允许登录的客户端通过REST请求将与他们的帐户关联的产品添加并添加到产品微服务。

无论如何,那是计划。我一直在研究安全性,并为客户端登录的Web微服务添加了春季安全性。我还在客户端登录时向标头添加了jwt令牌,并将其用作访问产品的身份验证。微服务(否则将通过Spring安全性锁定)。

假设一切听起来都很合理,我不确定的是我应该如何锁定用户帐户微服务。我需要能够从Web微服务向其发出REST请求,以尝试登录用户,注册用户等。Web微服务是否应向用户帐户微服务发送带有固定系统用户详细信息的身份验证令牌,然后将其全部锁定使用Spring安全性的其他REST访问用户帐户微服务。

道歉,可能是一个基本的体系结构问题,但我想解决这个问题(如果可能的话,使用OAuth不会太复杂)

最佳答案

如果您的JWT令牌是由Web微服务签名的,则它可能与其他微服务(如用户帐户微服务)共享公钥。这将允许其他微服务使用现有的JWT令牌进行身份验证,但不会生成新的令牌。
要正确使用JWT,您需要确保JWT令牌的有效时间有限,并且JWT令牌主体不包含任何敏感信息。

10-08 19:56