Geneva actions HTTP连接器报invalid_token签名无效问题咨询
问题根因
返回Bearer error="invalid_token", error_description="The signature is invalid"的核心原因是令牌受众(audience)配置错误。
你当前配置中audience字段填的是https://graph.microsoft.com,这会让Geneva的HTTP连接器向AAD申请用于访问Microsoft Graph的令牌,这类令牌的签名是面向Graph服务的,你拿它调用debugbot.trafficmanager.net的自有接口时,目标服务校验令牌会发现受众声明不匹配、无法对应正确的签名公钥,直接返回签名无效错误。
需要修正/补充的配置
- 修正audience配置:把当前的
https://graph.microsoft.com替换为目标debugbot服务在AAD注册时配置的应用ID URI,也就是该服务端指定的合法令牌受众值,这个值必须和服务端的令牌校验规则完全一致,常见格式为api://<目标服务对应AAD应用的客户端ID>,如果debugbot团队有给指定的受众字符串直接用给定值即可。 - 校验租户配置正确性:你当前填的tenant值为
33e01921-4d64-4f8c-a055-5bdaffd5e33d,如果目标debugbot服务不属于这个租户,需要替换为正确的租户ID:目标服务为单租户部署就填服务所属的租户ID,为多租户部署可填common或服务指定的租户ID。 - 配置API权限:在你使用的客户端AAD应用(clientId为
5b4f7b22-68b8-4f82-a5ad-b15d83303e9a)的权限配置页,添加目标debugbot服务暴露的对应API权限,如果用的是应用权限,必须完成租户管理员同意操作。 - 校验客户端密钥有效性:确认传入的
HTTPAuthAppSecret参数值和该客户端AAD应用配置的客户端密钥完全一致,没有多余空格、转义错误,且密钥处于有效期内。
关于是否需要配置公开API的说明
不需要给你当前使用的调用方AAD应用配置公开API。
- 公开API配置是**被调用方(即debugbot服务对应的AAD应用)**需要完成的配置:目标服务需要在自己的AAD应用注册中配置公开API,设置正确的应用ID URI(就是你要填到audience字段的值)、定义对应的访问权限,这样客户端才能申请到访问该服务的有效令牌。
- 你当前用的是客户端凭据认证流,作为调用方的AAD应用只需要满足是机密客户端(你已经配置了客户端密钥,符合要求)、拥有目标服务的对应访问权限即可,不需要开启公开API配置。
内容的提问来源于stack exchange,提问作者Pradeep Sivakumar
相关产品推荐
相关产品推荐

