Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 授权-Spring启动:RestTemplate+ApacheClient+JWT_Spring Boot_Jwt_Apache Httpclient 4.x_Resttemplate - Fatal编程技术网

Spring boot 授权-Spring启动:RestTemplate+ApacheClient+JWT

Spring boot 授权-Spring启动:RestTemplate+ApacheClient+JWT,spring-boot,jwt,apache-httpclient-4.x,resttemplate,Spring Boot,Jwt,Apache Httpclient 4.x,Resttemplate,我使用SpringBootRestTemplate并将http通信委托给ApacheHttpClient库。我在openshift中部署了服务A和B,它们需要与服务C交互。服务C位于Kong Gateway后面,身份验证基于SSO和身份服务器,提供JWT访问令牌以及刷新令牌 我的问题是关于从服务A或B到C的身份验证。一旦在A或B中进行了身份验证,在A和B中安全存储JWT令牌的最佳机制是什么?我考虑的是缓存、服务a和B或数据库,我知道对于每个服务,我们需要分别存储令牌。永久使用刷新令牌是一种好的做

我使用SpringBootRestTemplate并将http通信委托给ApacheHttpClient库。我在openshift中部署了服务A和B,它们需要与服务C交互。服务C位于Kong Gateway后面,身份验证基于SSO和身份服务器,提供JWT访问令牌以及刷新令牌


我的问题是关于从服务A或B到C的身份验证。一旦在A或B中进行了身份验证,在A和B中安全存储JWT令牌的最佳机制是什么?我考虑的是缓存、服务a和B或数据库,我知道对于每个服务,我们需要分别存储令牌。永久使用刷新令牌是一种好的做法,还是每隔一段时间重新验证并获取新令牌?

授权服务器负责向客户机发出JWT令牌,客户机在每次请求中发送JWT令牌。现在,它的客户负责存储代币。因此,理想情况下,您需要服务A和B分别存储它们的令牌,因为这两个服务的令牌是不同的

对于任何可能遇到此问题的人,我们在每个pod中使用内存缓存解决了此问题,这意味着每个pod将获得令牌并保留它,然后在令牌到期之前将其逐出。在这里,我们主动退出缓存令牌条目并检索新令牌,而不是在令牌过期后执行操作,然后查询新令牌


我们使用咖啡因作为内存缓存来存储令牌。

您好,我同意,我的问题更多的是关于java服务中JWT令牌的最佳和安全存储方法,以及关于刷新令牌使用情况,是在客户端服务中无限期地使用它,还是最佳方法。