如何实现基于 Azure Signalr 无服务器令牌的身份验证和授权

P D*_*nde 5 oauth azure jwt signalr serverless

我创建了一个带有无服务器选项的 azure 信号器服务。协商功能能够生成带有“x-ms-client-principal-name”的 JWT 令牌,并且可以毫无问题地建立连接。我已经提到了https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-concept-serverless-development-config并且该功能能够将事件发送到特定的用户 ID/组。我被要求保护客户端 - 服务器通信。我是安全域的新手。我提到了https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-tutorial-authenticate-azure-functions这个链接,但我无法配置给定的示例应用程序,也无法理解概念。

我的场景是:我有一个 Client .net Web 应用程序,用户可以在其中使用组织帐户和 google 登录。此应用程序使用 userID 和它感兴趣的 deviceId 调用 azure signlar 协商函数,以通过 signalR 函数接收事件。Signalr 函数从 azure eventhub 触发器获取事件并将其发送到组。

请帮助我提高此应用程序的安全性。就安全性而言,从协商功能收到的令牌是否足够?任何未经授权的用户都可以使用从协商中获取的 jwt 令牌连接到我的 azure subscribeToGroup/sendEvent 函数吗?我正在尝试使用这个https://github.com/Azure/azure-functions-signalrservice-extension,其中 idToken 和 claimTypeList 是附加参数以及 x-ms-client-principal-name(userid)。但是我无法在安全方面理解这一点。此示例中的客户端是带有 auth.js 的 index.html。但是如何说它是安全的就不得而知了。请帮助并指导我正确的设置和代码。