我正在尝试使用托管身份通过azure门户访问Azure Function。如果使用系统分配的身份,下面的代码行会很好地工作。
[FunctionName("FunctionDemo")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req,
ILogger log)
{
log.LogInformation("Starting to get accessToken through client id");
string accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://management.azure.com/")
return req.CreateResponse(HttpStatusCode.OK);
}
答案 0 :(得分:5)
如果要使用用户分配的身份,则需要在函数中指定AzureServicesAuthConnectionString
环境变量,如下所示,然后AzureServiceTokenProvider
将使用用户分配的身份来获取令牌。
RunAs=App;AppId={ClientId of user-assigned identity}