我正试图授权Xamarin Forms应用程序与配置了Azure AD B2C的ASP.NET Core Blazor Server应用程序中的SignalR集线器进行通信。Xamarin Forms以及ASP.NET Core Blazor Server应用程序中的登录功能在Azure AD B2C中工作正常,但我无法在SignalR中心上使用[授权]。我试图将从Azure AD B2C收到的访问令牌传递给HubConnectionBuilder,如下所示。
connection = new HubConnectionBuilder().
WithAutomaticReconnect().
WithUrl(Location + Name, options => { options.AccessTokenProvider = () => Task.FromResult(AccessToken); }).
Build();
在ASP.NET Core Blazor应用中的Startup.cs中添加以下内容,解决了这个问题。我也使用这个认证方案来授权SignalR中心。
.AddAzureADB2CBearer(options => Configuration.Bind("AzureAdB2C", options));