如何将 Azure AD B2C 与 Xamarin Forms 和 SignalR Core 结合使用

How to use Azure AD B2C with Xamarin Forms and SignalR Core

我正在尝试授权 Xamarin Forms 应用与配置了 Azure AD B2C 的 ASP.NET Core Blazor Server 应用中的 SignalR 集线器通信。 Xamarin Forms 以及 ASP.NET Core Blazor Server 应用程序中的登录功能在 Azure AD B2C 上运行良好,但我无法在 SignalR hub 上使用 [Authorize]。我已尝试将从 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 hub。

.AddAzureADB2CBearer(options => Configuration.Bind("AzureAdB2C", options));