Azure 函数 2.x - 获取当前用户的声明
Azure Function 2.x - Get Current User's Claims
我有一个 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
函数的签名中,或者您可以通过 req.HttpContext.User
在 HttpRequest
对象上访问它。
应该很快就会支持 JavaScript,最终所有语言都应该支持此功能。
让我在这里 post 一个代码示例,看看 ClaimsPrincipal
参数在哪里:
[FunctionName("MyFunctionName")]
public static HttpResponseMessage Run(
[HttpTrigger(
AuthorizationLevel.Anonymous,
"get", "post",
Route = "MyFunctionName")]HttpRequestMessage req,
ILogger log,
ClaimsPrincipal claimsPrincipal)
{
// My function code here...
}
我有一个 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
函数的签名中,或者您可以通过 req.HttpContext.User
在 HttpRequest
对象上访问它。
应该很快就会支持 JavaScript,最终所有语言都应该支持此功能。
让我在这里 post 一个代码示例,看看 ClaimsPrincipal
参数在哪里:
[FunctionName("MyFunctionName")]
public static HttpResponseMessage Run(
[HttpTrigger(
AuthorizationLevel.Anonymous,
"get", "post",
Route = "MyFunctionName")]HttpRequestMessage req,
ILogger log,
ClaimsPrincipal claimsPrincipal)
{
// My function code here...
}