首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件网格+ CloudEvents + Webhooks如何支持更新access_token?

事件网格+ CloudEvents + Webhooks如何支持更新access_token?
EN

Stack Overflow用户
提问于 2020-05-01 21:37:17
回答 1查看 339关注 0票数 1

CloudEvents有一个用于事件传递的webhooks规范:用于事件传递的HTTP1.1 Web钩子-版本1.0。除其他外,CloudEvents Webhooks规范详细说明了webhook验证和授权的要求。正如规范中所描述的那样,CloudEvents Web挂钩授权方法“依赖于OAuth 2.0承载令牌RFC6750模型”。

Azure事件网格支持CloudEvents:在事件网格中使用CloudEvents v1.0模式

事件网格对web钩子授权的支持仅限于“在创建事件订阅时向web钩子URL添加查询参数”,如下所述:验证对Azure事件网格资源的访问权限

考虑到OAuth承载令牌可以具有 有限寿命,因此我需要一种刷新令牌的方法。但是,据我所知,事件网格除了在定义web钩子订阅时对查询参数中的令牌进行硬编码之外,没有提供其他机制。

我的理解是对的吗?有什么建议吗?

编辑:在这个场景中,web钩子端点不是托管在Azure上的外部端点。它是一个只支持CloudEvents webhooks规范的第三方端点。

EN

回答 1

Stack Overflow用户

发布于 2020-05-02 13:11:42

您的问题中提到的文档(如使用Azure AD验证事件传递到web钩子端点 )不够清楚。看起来,有两种方法(混合)来保护事件传递到web钩子。

  1. 我建议使用本文档第一部分中描述的一种方法,例如使用AAD对Azure事件网格进行身份验证并授权其将事件传递给Web钩子端点处理程序。

在这种情况下,填充以下属性所需的订阅:

代码语言:javascript
复制
azureActiveDirectoryTenantId
azureActiveDirectoryApplicationIdOrUr 

请注意,验证过程不依赖于上述属性,换句话说,您的订阅可以成功创建,但是事件不会被传递到web钩子端点以避免AAD授权错误。

如果基于订阅TenantId和ApplicationId值的AEG将从AAD获得访问令牌(Bearer),则事件将传递给带有授权头中的访问令牌的webhook端点处理程序。

现在,您的订阅服务器处理程序对于它的使用有了新的(有效的)访问令牌。

  1. 第二种方法,比如在web钩子url地址中使用查询参数,就像前面提到的那样。这个秘密值在创建订阅的过程中被硬编码,并且不被管理(刷新/更新/等等)。由AEG。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61551191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档