C# 什么';IdentityServer 4中JWTBeareEvents的默认质询实现是什么?

C# 什么';IdentityServer 4中JWTBeareEvents的默认质询实现是什么?,c#,authentication,asp.net-core,authorization,identityserver4,C#,Authentication,Asp.net Core,Authorization,Identityserver4,如果有人能给我点启示,我会非常高兴的 出于某种原因,在令牌经过身份验证之后,在对其进行验证之后,会调用此方法,并且出于某种原因,如果我不使用JwtBearerChallengeContext.HandleResponse(),我总是会得到一个未经授权的消息 因此,问题就来了——这个问题的默认实现是什么,这样我在实现自己的Challenge(通过使用OnChallenge属性)时就不会错过或弄糟一些东西,它将使用JwtBearerChallengeContext.HandleResponse()

如果有人能给我点启示,我会非常高兴的

出于某种原因,在令牌经过身份验证之后,在对其进行验证之后,会调用此方法,并且出于某种原因,如果我不使用
JwtBearerChallengeContext.HandleResponse()
,我总是会得到一个未经授权的消息

因此,问题就来了——这个问题的默认实现是什么,这样我在实现自己的
Challenge
(通过使用
OnChallenge
属性)时就不会错过或弄糟一些东西,它将使用
JwtBearerChallengeContext.HandleResponse()

这是我当前的实现,没有考虑最初应该做什么:

.AddIdentityServerAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme, (IdentityServerAuthenticationOptions options) =>
{
   options.JwtBearerEvents.OnChallenge = ? // What does this by default do? I can't find its source anywhere...
};
我忍不住担心我可能错过了什么,或者做了错事


EDIT:我在那里找到了,但它并没有确切显示
eventContext
本身的功能。我只知道它是通过包的默认实现传递的
IdentityServer4.AccessTokenValidation
,它不能是空方法(否则,正如我们在上面的代码中看到的,身份验证将失败)。

您解决了这个问题吗?我也有类似的问题。@TjDillashaw我会在周末检查这个问题,如果我发现了什么,我会把它作为答案发布。我现在不记得了,你解决了吗?我也有类似的问题。@TjDillashaw我会在周末检查这个问题,如果我发现了什么,我会把它作为答案发布。我现在不记得了。
.AddIdentityServerAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme, (IdentityServerAuthenticationOptions options) =>
{
   options.JwtBearerEvents.OnChallenge = context =>
      {
         if (context.AuthenticateFailure == null && context.Error == null
          && context.ErrorDescription == null && context.ErrorUri == null)
          {
              context.HandleResponse();
          }
              return Task.CompletedTask;
      };
};