IdentityServer花费时间来验证客户端

时间:2019-03-13 15:34:10

标签: asp.net-identity asp.net-core-2.0 identityserver4 asp.net-core-webapi asp.net-core-2.1

我们要创建一个安全的API,因此我们正在使用IdentityServer验证客户端。

这是我们设置身份验证的代码的快照

services.AddAuthentication("Bearer")
    .AddIdentityServerAuthentication(options =>
    {
        options.Authority =
            Configuration.GetSection("Identity:Uri").Value;
        options.JwtBearerEvents.OnMessageReceived= context =>
        {
            Console.WriteLine("Start log time");
            return  Task.CompletedTask;
        };
        options.JwtBearerEvents.OnTokenValidated = context =>
        {
            Console.WriteLine("End log time");
            return Task.CompletedTask;
        };
        options.CacheDuration =   TimeSpan.FromSeconds(0);
    });

授权工作正常,没有问题。

我的问题:

我想捕获身份服务器花费了多少时间来验证承载令牌。 如您所见,我在JwtBearerEvents.OnMessageReceivedJwtBearerEvents.OnTokenValidated中添加了回调。 我当时想放秒表,启动计时器OnChallenge函数,然后在OnTokenValidated函数中停止它。

但是当我尝试运行此代码时,代码从未命中JwtBearerEvents.OnMessageReceived

  • 我在这里做错什么了吗?
  • 我还需要实现其他方法吗?
  • 还有其他/更好的方法来获取身份验证令牌所花费的时间吗?

0 个答案:

没有答案