如何强制在 Keycloak 中创建新会话以使用 OIDC 协议对 CLI 应用程序进行身份验证
How to force creating a new session in Keycloak to authenticate CLI apps using OIDC Protocol
我有一个使用 Keycloak 成功进行用户管理和身份验证提供程序的网络应用程序。
相同的应用程序需要 CLI 工具来执行某些操作(类似于 gcloud
CLI + 网络控制台)。
我已经使用 OIDC 授权代码流实现了 CLI 部分,它打开浏览器供用户进行身份验证。它就像一个魅力。
但是,如果用户从浏览器注销,Keycloak 将使会话无效,cli
将不得不重新验证以获得新的 access_token 和 refresh_token。
我的问题是,如何强制 CLI 应用程序登录创建一个独立于浏览器会话的新会话。
或者,如果不可能,实现此目标的正确方法是什么?
最终,我发现我只需将范围 offline_access
添加到我请求的范围列表中。然后 Keycloak 将创建一个新的离线会话(该功能的名称不好,离线只是意味着用户不必在场,但所有刷新都以相同的方式发生)
我有一个使用 Keycloak 成功进行用户管理和身份验证提供程序的网络应用程序。
相同的应用程序需要 CLI 工具来执行某些操作(类似于 gcloud
CLI + 网络控制台)。
我已经使用 OIDC 授权代码流实现了 CLI 部分,它打开浏览器供用户进行身份验证。它就像一个魅力。
但是,如果用户从浏览器注销,Keycloak 将使会话无效,cli
将不得不重新验证以获得新的 access_token 和 refresh_token。
我的问题是,如何强制 CLI 应用程序登录创建一个独立于浏览器会话的新会话。
或者,如果不可能,实现此目标的正确方法是什么?
最终,我发现我只需将范围 offline_access
添加到我请求的范围列表中。然后 Keycloak 将创建一个新的离线会话(该功能的名称不好,离线只是意味着用户不必在场,但所有刷新都以相同的方式发生)