我想了解OAuth 2.0的滑动令牌过期中访问令牌生命周期和刷新令牌生命周期之间的相关性。在我所研究的答案是混乱的,有时是矛盾的。有人说,例如,如果访问令牌生命周期为15分钟,刷新令牌生命周期为2小时,则用户能够使用应用程序两个小时而无需重新输入凭据。另一些人说,只有当应用程序的不活动时间不超过15分钟时才有可能。第三,用户可以无休止地使用应用程序,因为长时间的不活动少于15分钟。如果有人能提供一个最终的答案,或者告诉我答案的来源,我将不胜感激。
camsedfj1#
最新的OAuth 2.1刷新令牌规范描述了基于标准的行为。存在由所配置的刷新令牌生存期表示的固定生存期。在此时间期间,可以发出附加的循环刷新令牌,但这不影响总体到期。用户只需在此时间到期时重新进行身份验证。所有良好的授权行为都实现了基于标准的行为。为了方便起见,一些系统还可以实现用于滑动到期的附加自定义行为。然后,客户端设置将包括最大生存期,以防止无限期会话。详细信息将在供应商文档中解释。由于缺乏活动而导致的会话过期可以在应用程序级别相当容易地完成。例如,跟踪最后一次API调用的时间,并运行一个计时器来检查空闲会话时间是否已过期。如果是,则丢弃所有令牌,并提示用户开始新的登录。这可以使用OpenID Connect prompt=login参数覆盖任何SSO会话并强制重新身份验证。
prompt=login
1条答案
按热度按时间camsedfj1#
最新的OAuth 2.1刷新令牌规范描述了基于标准的行为。存在由所配置的刷新令牌生存期表示的固定生存期。在此时间期间,可以发出附加的循环刷新令牌,但这不影响总体到期。用户只需在此时间到期时重新进行身份验证。
所有良好的授权行为都实现了基于标准的行为。为了方便起见,一些系统还可以实现用于滑动到期的附加自定义行为。然后,客户端设置将包括最大生存期,以防止无限期会话。详细信息将在供应商文档中解释。
由于缺乏活动而导致的会话过期可以在应用程序级别相当容易地完成。例如,跟踪最后一次API调用的时间,并运行一个计时器来检查空闲会话时间是否已过期。如果是,则丢弃所有令牌,并提示用户开始新的登录。这可以使用OpenID Connect
prompt=login
参数覆盖任何SSO会话并强制重新身份验证。