我需要创建一个简单的 Azure Function App,为我提供访问它的用户名。
我已启用 Azure Active Directory“身份验证/授权”,当我访问功能 URL 时,它会提示用户,我可以很好地登录
在 Function App 日志中,我想查看已登录的用户。我该怎么做?
我需要创建一个简单的 Azure Function App,为我提供访问它的用户名。
我已启用 Azure Active Directory“身份验证/授权”,当我访问功能 URL 时,它会提示用户,我可以很好地登录
在 Function App 日志中,我想查看已登录的用户。我该怎么做?
应用服务使用特殊标头将用户声明传递给您的应用程序。不允许外部请求设置这些标头,因此它们仅在由应用服务设置时才存在。
您可以X-MS-CLIENT-PRINCIPAL-NAME用作 http resquest 标头来获取用户名。
var name1=httpRequest.Headers["X-MS-CLIENT-PRINCIPAL-NAME"].ToString();
ClaimsPrincipal此外,您可以从Run 方法中注入的实例中检索经过身份验证的用户信息
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
HttpRequest httpRequest,
ILogger logger,
ClaimsPrincipal claimsPrincipal)
{
var name1=httpRequest.Headers["X-MS-CLIENT-PRINCIPAL-NAME"].ToString();
var name2 = claimsPrincipal.Identity.Name;
}
注意:
在 Azure 广告中添加应用注册时,将重定向 url添加为并在设置时https://yourfunctionname.azurewebsites.net/.auth/login/aad/callback单击。ID tokenAdvanced settings