我在我的资源服务器上使用 mod_auth_openidc,在 OAuth 提供程序和自定义登录和同意提供程序上使用 ORY HYDRA。OpenID Connect 通过登录和同意正确流动,并直接返回资源服务器,并且会话持续一段时间(似乎大约 30 分钟 - 不活动可能会更短)。在那之后,即使 id 令牌尚未过期,客户端发出的下一个请求也会被定向回登录和同意提供程序。我的 OAuth 提供者肯定会记住该会话,因为它会立即将客户端传递回资源服务器,但使用的是新令牌。
例如,我在 1587483280 开始了一个会话,并获得了一个过期时间为 1587486880 的令牌。会话持续存在,我能够在资源服务器中导航,而无需重定向到登录和同意提供程序。大约 10 分钟不活动后,下一页加载将我定向到登录和同意提供程序,它立即将我发送回资源服务器,并带有一个新令牌,发行时间为 1587485777,到期时间为 1587489377。我还可以看到我有一个新的 auth_openidc 会话 ID。
我对 OAuth 很陌生,所以我不确定从哪里开始解决这个问题。有人可以推荐一个起点吗?