Graph API: получить доступ без пользователя через .net SDK - PullRequest
0 голосов
/ 29 января 2019

У меня нет проблем с доступом к API Graph с аутентификацией пользователя

var user = new PublicClientApplication("---");
    var userClient = new GraphServiceClient(
                        "https://graph.microsoft.com/v1.0",
                        new DelegateAuthenticationProvider(
                            async (requestMessage) =>
                            {
                                requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", await GetTokenAsync(user));
                            }));
 static async Task<string> GetTokenAsync(IPublicClientApplication user)
        {
            string[] scopes = { "User.Read", "Directory.Read.All" };
            var authResult = await user.AcquireTokenAsync(scopes);
            return authResult.AccessToken; 
        }

Однако аналогичный код для приложения также требует аутентификации пользователя.
Эта ссылка (https://docs.microsoft.com/en-us/graph/auth-v2-service), описывает выполнение предметас HTTP-клиентом. Как мне сделать это только с помощью .net SDK?

 var app = new ConfidentialClientApplication("---", @"https://login.microsoftonline.com/common",
               "http://localhost", new ClientCredential("---"), new TokenCache(), new TokenCache());

  public static async Task<string> GetTokenForAppAsync(IConfidentialClientApplication identityAppOnlyApp)
        {
            var authResult = await identityAppOnlyApp.AcquireTokenForClientAsync(new[] { "https://graph.microsoft.com/.default" });
            return  authResult.AccessToken;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...