搜索

6.4. 离线访问

download PDF

离线访问 登录过程中,客户端应用程序会请求离线令牌,而不是刷新令牌。客户端应用保存了这个离线令牌,并可在用户注销时使用它来登录。如果您的应用程序需要代表用户执行离线操作,则此操作很有用。例如,常规数据备份。

客户端应用负责保留存储中的离线令牌,然后使用它从 Red Hat Single Sign-On 服务器检索新的访问令牌。

刷新令牌和离线令牌之间的区别是离线令牌永远不会过期,且不受 SSO Session Idle 超时和 SSO Session Max lifespan 的影响。在用户注销或服务器重新启动后,离线令牌有效。您必须每 30 天或 Offline Session Idle 指定的天数使用离线令牌进行刷新令牌操作。

如果启用了 Offline Session Max Limited,离线令牌会在 60 天后过期,即使您使用离线令牌操作。您可以在管理门户中更改此值 Offline Session Max

使用离线访问时,客户端闲置和最大超时可在 客户端级别 覆盖。在 client Advanced Settings 选项卡中,选项 Client Offline Session IdleClient Offline Session Max 可让您为特定应用程序有较短的离线超时。请注意,客户端会话值也控制刷新令牌过期,但它们永远不会影响全局离线用户 SSO 会话。只有在 realm 级别中 Offline Session Max Limited 被设置为 Enabled 时,选项 Client Offline Session Max 才会被评估。

如果启用 Revoke Refresh Token 选项,则只能使用每个离线令牌。刷新后,您必须从刷新响应存储新的离线令牌,而不是上一个令牌。

用户可以查看和撤销红帽单点登录在 用户帐户控制台中授予的离线令牌。管理员可以在 Consents 选项卡中为单独的用户撤销离线令牌。管理员可以查看各个客户端"离线 访问"选项卡中发布的所有离线 令牌。管理员可以通过设置撤销 策略来撤销离线令牌

若要发出离线令牌,用户必须拥有域级 offline_access 角色的角色映射。客户端也必须在其范围内拥有该角色。客户端必须添加 offline_access 客户端范围作为 可选客户端范围 到角色,该范围是默认完成的。

在向红帽单点登录发送授权请求时,客户端可以通过添加参数 scope=offline_access 来请求离线令牌。当您用来访问应用程序的安全 URL (如 http://localhost:8080/customer-portal/secured?scope=offline_access)时,Red Hat Single Sign-On OIDC 客户端适配器会自动添加这个参数。如果您在身份验证请求正文中包含 scope=offline_access,则 Direct Access Grant 和 Service Account 支持离线令牌。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.