使用Azure AD OAuth身份验证从Azure Scheduler调用API应用程序时"未授权"

Kai*_*ter 3 oauth azure-active-directory azure-scheduler azure-api-apps

我有一个API应用程序,我已使用Azure Active Directory身份验证进行保护.我希望使用Azure Scheduler调用此API App的操作.我在调度程序操作中输入了租户ID,客户端ID和秘密.

当我安排或完成工作时,我得到:

Http Action - Response from host 'xxxx.azurewebsites.net': 'Unauthorized'
Run Code Online (Sandbox Code Playgroud)

诊断应用程序日志给了我:

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'.
Run Code Online (Sandbox Code Playgroud)

Kai*_*ter 5

经过一番挖掘后,我发现了这种相关的入口.

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

"allowedAudiences": [
  "https://xxxx.azurewebsites.net",
  "https://management.core.windows.net/"
],
Run Code Online (Sandbox Code Playgroud)

问题解决了.