services.AddAuthentication(x =>
).AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(securitykey)),
ValidIssuer = securitytoken,
ValidAudience = "WebApi",
ValidateIssuer = false,

    ValidateLifetime = true,
    ValidateAudience = false,
   
    //ClockSkew = TimeSpan.FromSeconds(1)
};
x.Events = new JwtBearerEvents
 {
     OnMessageReceived = context =>
     {
         var accessToken = context.Request.Query["access_token"];

         // 如果是 SignalR 请求,并且带有 access_token
         var path = context.HttpContext.Request.Path;
         if (!string.IsNullOrEmpty(accessToken) && path.StartsWithSegments("/ChatHub"))
         {
             context.Token = accessToken;
         }
         return Task.CompletedTask;
     }
 };

});