从 Azure.Identity 访问用户凭证值

Accessing User Credential Value from Azure.Identity

我已通过设置和手动输入 pass/email 将我的 Visual studio 连接到 Azure Active Directory

当我在工具下 Visual Studio 中转到 Azure Serice Authenticator 时显示此凭据。

我要访问关联的ID。 我遇到了这个 doc ,我想要 AZURE_USERNAME ,它必须与登录的 id 相关联。

我无法获得访问此值的方法。


这是否意味着我只有明确设置这样的值才能访问它?

-- 或者,有什么方法可以让我访问登录到 Visual studio/或登录到 Windows 的用户的电子邮件 ID 而不仅仅是用户名

当然可以,我们应该预先设置环境变量。

然后我们可以使用它们进行 EnvironmentCredential 身份验证。反过来不行。

您可以调用 Microsoft Graph API 获取用户信息。

示例参考 here.

您可以像这样实现 graphServiceClient:

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

var accessToken = token.Token;
var graphServiceClient = new GraphServiceClient(
    new DelegateAuthenticationProvider((requestMessage) =>
    {
        requestMessage
        .Headers
        .Authorization = new AuthenticationHeaderValue("bearer", accessToken);

        return Task.CompletedTask;
    }));

一个blog供大家参考。