【问题标题】:AAD authentication for Event Grid Subscribers事件网格订阅者的 AAD 身份验证
【发布时间】:2019-04-23 23:30:37
【问题描述】:

我有一个用于发布事件的事件网格。我有一个基于 Web-Hook 的订阅者,它将收听该事件。 Webhook 托管在 Azure 应用服务上,并受 AAD 应用保护。 在这种情况下,事件网格是否能够将事件发布到受 AAD 保护的 Web 端点? 我的事件网格主题和网络应用在同一个订阅中。

【问题讨论】:

  • 可以在webhook url的查询参数中订阅访问令牌
  • @RomanKiss 但事件网格将如何生成访问令牌。加上不记名令牌作为授权标头发送
  • 除此之外,webhook 处理程序还必须处理消息验证,因此通过查询参数传递的不记名令牌可以在 webhook 中用于其授权,这就是事件处理程序的当前设计
  • @RomanKiss,但是事件网格将如何在将事件发送给订阅者之前生成承载令牌?有没有办法通过 Event Grid 完成一些自定义代码(如 AAD 令牌生成)?

标签: azure-active-directory azure-web-app-service azure-eventgrid


【解决方案1】:

根据您的描述,您希望通过托管在受 Azure AD 保护的 Azure App Service 上的 webhook 订阅 Event Grid 的主题。

根据我的经验,有两种实现方式。

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

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

希望对你有帮助。

【讨论】:

猜你喜欢
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 1970-01-01
  • 2018-10-19
  • 2022-10-12
  • 1970-01-01
  • 2019-01-13
相关资源
最近更新 更多