从 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供大家参考。
我已通过设置和手动输入 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供大家参考。