gpt4 book ai didi

Azure Function App - 为我提供登录的用户

转载 作者:行者123 更新时间:2023-12-03 01:35:47 25 4
gpt4 key购买 nike

我需要创建一个简单的 Azure Function App,为我提供访问它的用户名。

我已启用 Azure Active Directory“身份验证/授权”,当我访问函数 URL 时,它会提示用户输入,我可以正常登录

在功能应用程序日志中我想查看已登录的用户。我该怎么做?

最佳答案

应用服务使用特殊 header 将用户声明传递到您的应用程序。外部请求不允许设置这些 header ,因此仅当由应用服务设置时它们才会存在。

您可以使用X-MS-CLIENT-PRINCIPAL-NAME作为http请求 header 来获取用户名。

var name1=httpRequest.Headers["X-MS-CLIENT-PRINCIPAL-NAME"].ToString();

此外,您还可以从 ClaimsPrincipal 检索经过身份验证的用户信息。在 Run 方法中注入(inject)实例

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 广告中添加应用注册时,添加 redirect url作为 https://yourfunctionname.azurewebsites.net/.auth/login/aad/callback 并在设置高级设置时单击ID token

关于Azure Function App - 为我提供登录的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58125338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com