Клиент SignalR не работает после обновления до ядра 3.1
Недавно мы обновили наш код на стороне сервера до asp.net core 3.1. Теперь возникла проблема с клиентом java-скрипта для signalr (@microsoft/signalr 3.1.0).
Я получаю следующие ошибки:
Код для инициализации хаба:
Фабрика токенов доступа возвращает токен из msal. (В аутентификацию не было внесено никаких изменений, и токен там получен правильно) Было бы здорово, если бы кто-нибудь мог мне помочь с этим.
2 ответа
Я использую клиент javascript @ aspnet / signalr - ту же версию, что и Nuget сервера. Не знаю почему, но не смог заставить его работать с @ microsoft / signalr.
Проверьте свой запуск, для меня аутентификация не удалась, потому что я забыл добавить AllowCredentials на Cors:
public void ConfigureServices(IServiceCollection services)
{
services
.AddControllers();
services.AddCors(options => options.AddPolicy("CorsPolicy", builder =>
{
builder
.AllowAnyMethod() //edit on your requirements
.AllowAnyHeader() //edit on your requirements
.AllowAnyOrigin() //edit on your requirements
.AllowCredentials();
}));
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
}