oauth2.0 Azure要求在客户端凭据授予范围

hpxqektj  于 2023-06-28  发布在  其他
关注(0)|答案(1)|浏览(147)

我在Azure AD中注册了2个应用程序-其中一个是webapi,它使用访问令牌从SendGrid接收webhook。另一个是注册SendGrid应用程序,以便它可以使用客户端凭据授权请求令牌。已为SendGrid应用程序注册公开的API授予管理员许可。
在SendGrid服务器上的webhook配置中(服务处于测试阶段),我们被要求提供client_id、client_secret和token endpoint。我们还配置了web API资源url,它最终将发送令牌及其webhook数据。
在Azure身份平台中,范围是必需的,但在RFC中它是可选的。SendGrid既不配置也不发送作用域。因此,这些实现似乎不能一起工作。
2个问题:

  • 如果你没有发送一个作用域到其他符合RFC的令牌端点,假设这意味着请求者可以被授权,但是jwt没有任何受众?
  • 如果根据RFC范围不需要,资源服务器可以检查“这是为我准备的”吗?

我知道我们可以验证发行者和任何额外的声明,但奇怪的是,Azure AD,Auth 0文档等中最强调的验证之一是“观众”,但RFC允许令牌请求中缺少范围。其中一个答案here再次强调了这一要求。
我想知道如果在请求中缺少作用域,是否可以在客户端应用程序注册清单中配置该作用域,但无法找到类似的任何内容。
提前感谢您的见解。

zz2j4svz

zz2j4svz1#

我不确定这是否能解决你的问题,但是你有没有试过在应用程序注册时配置暴露一个API,在它下面有一个授权的客户端应用程序部分,试着在那里添加其他应用程序注册id。我曾经听说过,即使没有请求作用域,它也会在令牌中返回该作用域。

相关问题