我在我的web应用程序中使用授权代码流。我想为web应用程序本身获取一个刷新令牌,但也希望获得一个离线令牌,我将其保存在数据库中,以便以后可以将其用于离线任务。
然而,我正在为此而苦苦挣扎。我不能使用授权类型的密码,因为我不想要求用户再次输入他/她的凭据,而且授权码只使用一次,所以我不能将其与当前流程集成。
有没有其他方法可以从不同的令牌生成离线令牌?我曾尝试在作用域offline_access中使用授权类型刷新令牌,但不起作用。
发布于 2018-09-30 18:53:42
在继续使用Keycloak几个月后,答案很简单:这是不可能的。
离线令牌实际上是一个没有过期时间的刷新令牌,因此您可以将其中一个作为同一请求/响应的一部分获得,但不能同时获得两个。
从用户的角度来看,我们创建了一个新页面来使用密码授权类型和离线作用域请求此令牌。用户需要重新输入他的密码,但从安全的角度来看,这似乎是可以的。考虑到获取这个令牌的要求,这种方法对我们是有效的,因为这是一项不同寻常的任务。
发布于 2017-08-08 08:01:50
您还可以使用服务帐户生成离线令牌,请查看service account上的密钥罩文档。
跟随discussion将帮助您了解生成和使用离线令牌的不同场景
https://stackoverflow.com/questions/45548562
复制相似问题