В настоящее время я программирую API-интерфейс для подключения к OneDrive (он же Graph). Я создал приложение под Azure Active Directory, получил свой ClientId и установил URI перенаправления на https://login.microsoftonline.com/common/oauth2/nativeclient (потому что это не веб-приложение). Пока все хорошо.
Теперь я пытаюсь получить токен доступа для текущего пользователя (который использует приложение).
AuthenticationResult authResult = await app.AcquireTokenInteractive(scopes)
.WithPrompt(Microsoft.Identity.Client.Prompt.SelectAccount)
.ExecuteAsync();
После ввода имени пользователя и пароля программа выполняет следующий строк кода и получаю ожидаемый результат (я получаю имя пользователя данной учетной записи).
Console.WriteLine(authResult.Account.Username);
На следующем шаге я создаю GraphServiceClient с созданным токеном на предыдущем шаге .
GraphServiceClient client = new GraphServiceClient(
new DelegateAuthenticationProvider(
async request => {
request.Headers.Authorization = new AuthenticationHeaderValue("bearer", token);
})
);
return client;
Теперь, если я попытаюсь выполнить какие-либо действия (в зависимости от области действия), ничего не произойдет. Ни ошибок, ни результатов. Но если я использую токен, сгенерированный https://developer.microsoft.com/de-de/graph/graph-explorer, все работает нормально.
Итак, на мой вопрос. Что я сделал не так?