SignalR 里面不要忘了加的东西,要不然js连不上
0 条评论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;
}
};
});