获取离线令牌和刷新令牌
Getting offline token alongside refresh token
我在我的 Web 应用程序中使用授权代码流。我想为 Web 应用程序本身获取一个刷新令牌,但也想获取一个离线令牌,我将把它保存在数据库中,以便稍后可以将其用于离线任务。
但是我正在努力解决这个问题。我不能使用授予类型的密码,因为我不想再次要求用户输入 his/her 凭据,而且授权码只能一次性使用,所以我无法将其与当前流程集成。
有没有其他方法可以从不同的令牌生成离线令牌?我曾尝试使用范围为 offline_access 的授权类型刷新令牌,但这没有用。
您还可以使用服务帐户生成离线令牌,查看 service account 上的 keycloak 文档。
以下discussion将帮助您了解生成和使用离线令牌的不同场景
在继续使用 Keycloak 几个月后,答案很简单:这是不可能的。
离线令牌实际上是一个没有过期时间的刷新令牌,因此您可以获得一个或另一个,但绝不能同时获得两者作为同一 request/response 的一部分。
从用户的角度来看,我们创建了一个新页面来使用密码授予类型和离线范围请求此令牌。用户需要重新输入密码,但从安全角度来看似乎没问题。考虑到获取此令牌的要求,这种方法对我们有效,因为这是一项不寻常的任务。
我在我的 Web 应用程序中使用授权代码流。我想为 Web 应用程序本身获取一个刷新令牌,但也想获取一个离线令牌,我将把它保存在数据库中,以便稍后可以将其用于离线任务。
但是我正在努力解决这个问题。我不能使用授予类型的密码,因为我不想再次要求用户输入 his/her 凭据,而且授权码只能一次性使用,所以我无法将其与当前流程集成。
有没有其他方法可以从不同的令牌生成离线令牌?我曾尝试使用范围为 offline_access 的授权类型刷新令牌,但这没有用。
您还可以使用服务帐户生成离线令牌,查看 service account 上的 keycloak 文档。
以下discussion将帮助您了解生成和使用离线令牌的不同场景
在继续使用 Keycloak 几个月后,答案很简单:这是不可能的。
离线令牌实际上是一个没有过期时间的刷新令牌,因此您可以获得一个或另一个,但绝不能同时获得两者作为同一 request/response 的一部分。
从用户的角度来看,我们创建了一个新页面来使用密码授予类型和离线范围请求此令牌。用户需要重新输入密码,但从安全角度来看似乎没问题。考虑到获取此令牌的要求,这种方法对我们有效,因为这是一项不寻常的任务。