我正在尝试从 Azure Function 访问 APIM,并希望 APIM 通过托管身份令牌进行身份验证。我已将系统分配的标识分配给函数应用程序。我正在关注此(示例)[https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet#asal ] 生成令牌。在下面的行中,如果我将“https://vault.azure.net”提供给 GetAccessTokenAsync 方法,我将获得令牌。但我希望观众是 APIM,所以我提供了https://azure-api.net,就像最后一行中提到的那样。但我得到了例外。如何提供 APIM Url 来获取访问令牌?
using Microsoft.Azure.Services.AppAuthentication;
var azureServiceTokenProvider = new AzureServiceTokenProvider();
string accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://vault.azure.net");
string accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://azure-api.net");
更新。我认为列出资源有问题。因为当我给出正确的资源名称时,它说资源在租户中不存在,尽管当我通过 az cli 运行时我可以看到订阅在同一个租户下。