我正在尝试使用JWT令牌实现身份验证/授权。现在我有webapp和两个服务。当用户在webapp(用户名/密码)中进行身份验证时,我还将从OAuth2服务器获取JWT访问权限和刷新令牌。访问令牌有效期为15分钟,刷新令牌永久有效。
现在,如果用户执行了某些操作,那么webapp将使用JWT令牌调用service1。 Service1然后验证/授权用户并安排任务在1小时后执行并存储JWT令牌。 一小时后service1将尝试呼叫service2会发生什么?令牌已过期且service1没有刷新令牌,因此无效。
更确切地说,在实际调用service2之前,service1中的客户端将发现该令牌已过期并将请求重定向到OAuth2服务器以对用户进行身份验证。
如何避免这种情况?自定义授权类型,所以我可以要求没有用户密码的新访问令牌?或者将带有访问令牌的刷新令牌发送到service1?
我肯定错过了一些东西......