Azure B2C撤销会话后刷新令牌因5分钟时间偏移异常问题咨询
Azure AD B2C自定义策略会话撤销时间偏移问题
我正遵循Azure AD B2C自定义策略启动包的最新更新,发现流程中存在一处漏洞,现将正常与异常流程说明如下,想请教:5分钟时间偏移是否真的必要?还是我的处理方式存在疏漏?
正常流程
- 请求刷新令牌:
refreshTokenIssuedOnDateTime= 13:10 - 撤销会话:
refreshTokensValidFromDateTime= 13:20 - 13:30请求新的刷新令牌:
AssertRefreshTokenIssuedLaterThanValidFromDate正确抛出错误,因为refreshTokensValidFromDateTime(13:20) > refreshTokenIssuedOnDateTime(13:10)(含5分钟时间偏移)
异常流程
- 请求刷新令牌:
refreshTokenIssuedOnDateTime= 13:10 - 撤销会话:
refreshTokensValidFromDateTime= 13:12 - 13:30请求新的刷新令牌:
AssertRefreshTokenIssuedLaterThanValidFromDate未抛出错误,refreshTokensValidFromDateTime(13:12) == refreshTokenIssuedOnDateTime(13:10)(含5分钟时间偏移),refreshTokenIssuedOnDateTime仍为13:10 - 15:00请求新的刷新令牌:
AssertRefreshTokenIssuedLaterThanValidFromDate未抛出错误,refreshTokensValidFromDateTime(13:12) < refreshTokenIssuedOnDateTime(13:30)(含5分钟时间偏移),refreshTokenIssuedOnDateTime更新为15:00 - 后续每次请求新刷新令牌,都会因为新令牌的签发时间始终晚于
refreshTokensValidFromDateTime而通过校验
综上,若在刷新令牌签发后5分钟内撤销会话,就会进入该异常流程,导致会话撤销失效。
内容的提问来源于stack exchange,提问作者NigelW61
相关产品推荐
相关产品推荐

