Доступ к значению учетных данных пользователя из Azure.Identity
Я подключил свою Visual Studio к
Azure Active Directory
установив и вручную введя пароль / адрес электронной почты.
Эти учетные данные отображаются, когда я иду в
Azure Serice Authenticator
в Visual Studio под инструментами.
Я хочу получить доступ к связанному идентификатору. Я наткнулся на этот документ и хочу
AZURE_USERNAME
, который должен быть связан с зарегистрированным идентификатором.
Я не могу найти способ получить доступ к этому значению.
Означает ли это, что я могу получить к нему доступ только в том случае, если я явно укажу такое значение?
- В качестве альтернативы, есть ли способ, которым я могу получить доступ к идентификатору электронной почты пользователя, вошедшего в Visual Studio / или вошедшего в Windows, а не только к имени пользователя
1 ответ
Да, конечно, мы должны предварительно установить переменные среды.
Тогда мы можем использовать их для
EnvironmentCredential
аутентификация. Обратное не сработает.
Вы можете вызвать Microsoft Graph API, чтобы получить информацию о пользователе.
Образец ссылки здесь .
Вы можете реализовать 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;
}));
Блог для справки.