Доступ к значению учетных данных пользователя из 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;
    }));

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

Другие вопросы по тегам