我有两个应用程序……一个是 JavaScript signalR 客户端,另一个是 asp.net Web 应用程序,用作 signalR 服务器以向客户端广播更新。我尝试使用 azure Active Directory B2C 服务通过客户端应用程序为用户提供身份验证和授权,以访问服务器中的资源。因此,只有经过身份验证的 JavaScript 客户端用户才能在令牌验证后启动与托管 signalR 服务器的 ASP.NET Web 应用程序的 signalR 连接。由于 signalR 使用 Web 套接字,我们无法在 HTTP 连接请求标头中提供令牌。看来我应该使用查询字符串在 signalR 连接请求中提供身份验证令牌。在 asp.net 服务器应用程序中收到该令牌后,我需要验证该令牌并允许 JavaScript 客户端应用程序具有 signalR 连接。我想在这篇博客文章https://kwilson.io/blog/authorize-your-azure-ad-users-with-signalr/中实现完全相同的事情,但使用 azure Active Directory b2c。