gpt4 book ai didi

c# - 从 Azure 身份获取用户名

转载 作者:行者123 更新时间:2023-12-02 05:52:54 24 4
gpt4 key购买 nike

我在简单的 .NET Core 控制台应用程序中使用新的 Azure.Identity 包 ( https://learn.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme ) 来登录 Azure,例如:

var credential = new DefaultAzureCredential()

工作正常,但现在我想获取当前登录用户的姓名、电子邮件等。有谁知道如何实现这一目标吗?

最佳答案

您可以通过 GetTokenAsync 获得 token 首先,通过解码 access token 获取用户的用户名(upn) .

var credential = new DefaultAzureCredential();
string[] scopes = new string[] { "https://graph.microsoft.com/.default" };
var token = await credential.GetTokenAsync(new Azure.Core.TokenRequestContext(scopes));

var handler = new JwtSecurityTokenHandler();
var jsonToken = handler.ReadToken(token.Token) as JwtSecurityToken;
var upn = jsonToken.Claims.First(c => c.Type == "upn").Value;

关于c# - 从 Azure 身份获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66543977/

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