Доступ к значению учетных данных пользователя из Azure.Идентичность

#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;
    }));
 

Блог для вашей справки.