3

我们最近将服务器端的代码更新到了 asp.net core 3.1。现在,signalr (@microsoft/signalr 3.1.0) 的 java 脚本客户端存在问题。

我收到以下错误:

在此处输入图像描述

集线器初始化代码:

在此处输入图像描述

访问令牌工厂从 msal 返回令牌。(没有对身份验证进行任何更改,并且在那里正确接收了令牌)如果有人可以帮助我,那就太好了。

4

2 回答 2

1

我正在使用 @aspnet/signalr javascript 客户端 - 与服务器的 Nuget 版本相同。不知道为什么,但无法与@microsoft/signalr 一起使用。

检查您的启动,对我来说身份验证失败,因为我忘记在 Cors 上添加 AllowCredentials:

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();
}
于 2020-02-11T11:38:45.250 回答
1

我遇到了同样的错误,最终问题access_token在于它在查询参数中传递的长度,请参阅此问题查询字符串太长,URL 中附加了大不记名令牌

所以为了解决它检查这个答案

于 2021-05-08T07:42:47.377 回答