我已经问过Refresh token revoke了,它在1到5分钟后就开始工作了。
但它只适用于内置策略(用户流),而不适用于自定义策略。
我从内置策略获得了refresh_token A,从自定义策略获得了refresh_token B。
在同一个租户中,接收两个令牌给同一个用户。
在执行revoke(Graph )之后,当我尝试使用refresh_token A获得新的访问和刷新令牌时,它会失败。但是当我尝试使用refresh_token B(通过自定义策略接收)时,它仍然有效。能买到新的代币。
取消电话后,我给了15分钟的时间间隔。
请帮我把这个修好。
发布于 2019-03-14 20:40:32
article描述了必须实现的自定义元素,以管理刷新令牌,并测试已经发出的令牌是否无效。
你必须:
默认情况下,时钟倾斜设置为0,但可以使用TreatAsEqualIfWithinMillseconds索赔转换的AssertRefreshTokenIssuedLaterThanValidFromDate参数更改此值:
<ClaimsTransformation Id="AssertRefreshTokenIssuedLaterThanValidFromDate" TransformationMethod="AssertDateTimeIsGreaterThan">
<InputClaims>
<InputClaim ClaimTypeReferenceId="refreshTokenIssuedOnDateTime" TransformationClaimType="leftOperand" />
<InputClaim ClaimTypeReferenceId="refreshTokensValidFromDateTime" TransformationClaimType="rightOperand" />
</InputClaims>
<InputParameters>
<InputParameter Id="AssertIfEqualTo" DataType="boolean" Value="false" />
<InputParameter Id="AssertIfRightOperandIsNotPresent" DataType="boolean" Value="true" />
<!-- Set the clock skew to 5 minutes (300000 milliseconds). -->
<InputParameter Id="TreatAsEqualIfWithinMillseconds" DataType="int" Value="300000" />
</InputParameters>
</ClaimsTransformation>https://stackoverflow.com/questions/55166134
复制相似问题