DX10223:终身验证失败

时间:2017-09-19 09:29:30

标签: c# asp.net-mvc identityserver4

我使用IdentityServer4 netstandard2.0工作原型Visual Studio Solution,其中包含:

  • IdentityServer(asp.net core mvc)
    • AllowedGrantTypes = GrantTypes.HybridAndClientCredentials
    • RefreshTokenUsage = TokenUsage.ReUse
    • RefreshTokenExpiration = TokenExpiration.Sliding
  • Web项目(asp.net core mvc)
  • API项目(asp.net core mvc)

有时,在加入API项目时,我遇到以下错误:

  

DX10223:终身验证失败。令牌已过期。

我如何以及在哪里刷新令牌?

是否可以在API项目上刷新令牌?

2 个答案:

答案 0 :(得分:1)

令牌的生命周期有限。他们将在某个时候到期。

刷新令牌是某些应用程序类型在没有直接用户交互的情况下请求新访问令牌的机制。

此处描述了与刷新令牌相关的设置: https://identityserver4.readthedocs.io/en/release/topics/refresh_tokens.html

通过将刷新令牌发送到令牌端点来刷新令牌。这将返回一个新的访问令牌。

https://tools.ietf.org/html/rfc6749#section-6

IdentityModel库有一个TokenClient类,用于在C#中包装令牌端点交互

https://github.com/IdentityModel/IdentityModel2

答案 1 :(得分:0)

正如@Tetsuya Yamamoto所说 - 首先检查时区和时间设置。无论如何,你设置身份服务器客户端令牌的生命周期,例如在配置中:" AccessTokenLifetime":86400