我们最近将服务器端的代码更新到了 asp.net core 3.1。现在,signalr (@microsoft/signalr 3.1.0) 的 java 脚本客户端存在问题。
我收到以下错误:
集线器初始化代码:
访问令牌工厂从 msal 返回令牌。(没有对身份验证进行任何更改,并且在那里正确接收了令牌)如果有人可以帮助我,那就太好了。
我们最近将服务器端的代码更新到了 asp.net core 3.1。现在,signalr (@microsoft/signalr 3.1.0) 的 java 脚本客户端存在问题。
我收到以下错误:
集线器初始化代码:
访问令牌工厂从 msal 返回令牌。(没有对身份验证进行任何更改,并且在那里正确接收了令牌)如果有人可以帮助我,那就太好了。
我正在使用 @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();
}
我遇到了同样的错误,最终问题access_token
在于它在查询参数中传递的长度,请参阅此问题查询字符串太长,URL 中附加了大不记名令牌。
所以为了解决它检查这个答案