#visual-studio #azure-active-directory #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;
}));
Блог для вашей справки.