首页 > 解决方案 > 如何从 azure function app 向 azure ad 身份验证的用户发送信号 r 通知?

问题描述

嗨,我有 azure 数据工厂,它将由用户触发,他们通过 azure ad 隐式流进行身份验证。运行后的 ADF 会将事件发送到服务总线。现在我必须基于服务总线触发器编写 azure 函数应用程序。在应用程序功能中,我想通过信号 r 向用户发送通知。但我的问题是谁为他们触发了 adf,我只需要发送通知。UI 将触发 adf,adf 将向服务总线发送事件,在此流程中,UI 将向 adf 发送用户信息,adf 还将向服务总线事件发送用户信息。但在 azure 函数应用程序中,我只想向那些触发 ADF 的用户发送通知。

public void BroadcastMessage(string message)
    {
        Clients.Caller.SendAsync("broadcastMessage", message);
    }

目前上面的代码我在我的其他应用程序中使用,它将向网络应用程序发送通知。使用 azure function app 时,如何仅向触发 ADF 的特定用户发送通知。我已经看到了几个使用 azure app 服务身份验证的示例,但没有看到 azure ad 的示例。我的前端目前正在使用 azure 广告身份验证并部署在应用服务中,但我没有应用服务身份验证。有人可以帮助我是否有可能或正确的方法是什么?任何帮助将不胜感激。谢谢

标签: azureazure-active-directorysignalrazure-functionsservicebus

解决方案


协商端点接受一个可以传递的UserId参数,以便以后识别要通知的用户。

虽然该示例正在获取应用服务的用户身份,但如果您使用 C# ,则可以利用运行时绑定。对于非 C# 语言,您可以有一个“内部”协商函数,该函数由“外部”协商函数调用,该函数传入从 JWT 令牌中提取的用户身份。

有了这个,您可以在启动 ADF 管道并传递此值的函数中提取相同的用户身份,ADF 可以将其包含在它稍后发送的服务总线消息中。


推荐阅读