Thr*_*itt 6 c# authentication azure
我在简单的 .NET Core 控制台应用程序中使用新的 Azure.Identity 包(https://learn.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme)来登录 Azure,例如:
var credential = new DefaultAzureCredential()
Run Code Online (Sandbox Code Playgroud)
工作正常,但现在我想获取当前登录用户的姓名、电子邮件等。有谁知道如何实现这一目标?
您可以先获取令牌GetTokenAsync,然后通过解码访问令牌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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |