我的移动应用程序中有一些代码,该代码调用服务器以验证通过电子邮件发送给用户的6位数字的电子邮件地址。如果验证成功,我将为用户使用刷新令牌来请求新的访问令牌。看来自定义声明并未在新的访问令牌中更新。我专门在寻找EmailVerified声明。
当我在进行验证调用之前检查令牌时,EmailVerified为假,符合预期。当我检查新检索到的访问令牌时,即使在我的服务器端数据库中,我仍然可以看到该值为true。
我认为起初我需要撤销访问令牌,因此我在服务器端代码中添加了一个使用RevokeAccessTokenAsync()撤销该调用的调用。我只能猜测它是有效的,没有错误,但声明仍然保持不变。
是否还有其他某种设置可以某种方式缓存此信息?我似乎无法追踪导致它无法更新的原因。显然,这是一个新令牌,其中只包含过时的信息。
任何帮助都会很棒。
谢谢。
答案 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