使用 Azure AD OAuth 身份验证从 Azure 计划程序调用 API 应用程序时“未经授权”

2024-05-02

我有一个 API 应用程序,已通过 Azure Active Directory 身份验证对其进行保护。我想使用 Azure Scheduler 调用此 API 应用程序的操作。我在 Scheduler 操作中输入了租户 ID、客户端 ID 和密码。

当我安排或运行作业时,我得到:

Http Action - Response from host 'xxxx.azurewebsites.net': 'Unauthorized'

诊断应用程序日志给我:

JWT validation failed: IDX10214: Audience validation failed. Audiences:
'https://management.core.windows.net/'. Did not match:
validationParameters.ValidAudience: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' or    
validationParameters.ValidAudiences: 'https://xxxx.azurewebsites.net'.

经过一番挖掘我发现这个某种程度上相关的条目 https://stackoverflow.com/questions/34318059/401-error-when-authenticating-to-an-azure-api-app-using-aad.

所以我真的进入了资源浏览器,进入了我的 API 应用程序的 authsettings 节点,并添加了缺少的受众条目:

"allowedAudiences": [
  "https://xxxx.azurewebsites.net",
  "https://management.core.windows.net/"
],

问题解决了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Azure AD OAuth 身份验证从 Azure 计划程序调用 API 应用程序时“未经授权” 的相关文章

随机推荐