我有一个Azure功能2.x(Asp.net核心),我正在使用Azure AD进行身份验证。我正在尝试在身份验证后访问登录用户的声明。以前使用Azure Functions 1.x我们将使用ClaimsPrincipal.Current获取声明,如下面的代码所示:
using System.Net;
using System.Collections.Generic;
using System.Security.Claims;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
public static HttpResponseMessage Run(HttpRequestMessage req, out object document, TraceWriter log)
{
string name = ClaimsPrincipal.Current.FindFirst("name").Value;
log.Info($"name is {name}");
return req.CreateResponse(HttpStatusCode.OK, "Done");
}
有关如何使用.Net Core访问Azure Functions 2.x中的声明的任何指导?
此功能是Azure Functions 2.0中C#中的now supported。您现在可以将ClaimsPrincipal
作为参数添加到HttpTrigger
函数的签名中,或者您可以通过HttpRequest
在req.HttpContext.User
对象上访问它。
应该很快支持JavaScript,最终所有语言都应支持此功能。