使用刷新令牌获取新的访问令牌时,为什么自定义声明没有更新?

时间:2018-12-15 21:52:40

标签: identityserver4

我的移动应用程序中有一些代码,该代码调用服务器以验证通过电子邮件发送给用户的6位数字的电子邮件地址。如果验证成功,我将为用户使用刷新令牌来请求新的访问令牌。看来自定义声明并未在新的访问令牌中更新。我专门在寻找EmailVerified声明。

当我在进行验证调用之前检查令牌时,EmailVerified为假,符合预期。当我检查新检索到的访问令牌时,即使在我的服务器端数据库中,我仍然可以看到该值为true。

我认为起初我需要撤销访问令牌,因此我在服务器端代码中添加了一个使用RevokeAccessTokenAsync()撤销该调用的调用。我只能猜测它是有效的,没有错误,但声明仍然保持不变。

是否还有其他某种设置可以某种方式缓存此信息?我似乎无法追踪导致它无法更新的原因。显然,这是一个新令牌,其中只包含过时的信息。

任何帮助都会很棒。

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要配置客户端:

  

UpdateAccessTokenClaimsOnRefresh

Gets or sets a value indicating whether the access token
(and its claims) should be updated on a refresh token request.

http://docs.identityserver.io/en/latest/topics/refresh_tokens.html