Azure active directory 事件网格订阅服务器的AAD身份验证

Azure active directory 事件网格订阅服务器的AAD身份验证,azure-active-directory,azure-web-app-service,azure-eventgrid,Azure Active Directory,Azure Web App Service,Azure Eventgrid,我有一个用于发布事件的事件网格。我有一个基于网络钩子的订阅者,将收听该事件。webhook托管在Azure应用程序服务上,受AAD应用程序保护。 在此场景中,事件网格是否能够将事件发布到受AAD保护的Web端点? 我的事件网格主题和web应用在同一订阅中。根据您的描述,您希望通过Azure应用服务上托管的webhook订阅事件网格主题,该主题受Azure AD保护 根据我的经验,有两种方法可以实现它 由于访问受AAD保护的url端点,需要通过AAD身份验证访问令牌,但无法在事件网格上进行编程操作

我有一个用于发布事件的事件网格。我有一个基于网络钩子的订阅者,将收听该事件。webhook托管在Azure应用程序服务上,受AAD应用程序保护。 在此场景中,事件网格是否能够将事件发布到受AAD保护的Web端点?
我的事件网格主题和web应用在同一订阅中。

根据您的描述,您希望通过Azure应用服务上托管的webhook订阅事件网格主题,该主题受Azure AD保护

根据我的经验,有两种方法可以实现它

  • 由于访问受AAD保护的url端点,需要通过AAD身份验证访问令牌,但无法在事件网格上进行编程操作。正如@Roman Kiss所说,一种解决方法是创建一个类似代理的服务来获取访问您的webhook的授权令牌,比如使用Azure Function应用程序

  • 但是,另一种方法是更改应用程序服务代码以允许匿名访问。例如,如果使用ASP.NET在控制器方法上添加
    [AllowAnonymous]
    ,请参阅


  • 希望有帮助。

    看看您可以在webhook的查询参数中订阅访问令牌url@RomanKiss但事件网格将如何生成访问令牌。此外,承载令牌作为授权标头发送。除此之外,webhook处理程序还必须处理消息验证,因此通过查询参数传递的承载令牌可以在webhook中用于其授权,这就是事件的当前设计handlers@RomanKiss,但是,在将事件发送给订阅者之前,事件网格将如何生成承载令牌?有没有一种方法可以通过事件网格来完成一些自定义代码(比如AAD令牌生成)?谢谢Peter。您是否知道此功能是否在Azure事件网格团队的路线图中?@PratikBhattacharya以下是AEG团队反馈的链接:@PratikBhattacharya不确定,请关注活动。