Я тестирую приложение примера OneDrive SDK .NET here. Однако мне непонятно, какие значения мне нужны для констант AadReturnUrl и AadTargetUrl, которые используются с классами AdalAuthenticationProvider и OneDriveClient соответственно. GitHub readme для проекта относится к этому page, но эта страница также не ясна.Проблемы с аутентификацией с помощью OneDrive для бизнеса
Также: для собственного клиентского приложения какое значение вы используете для URI перенаправления при настройке приложения в Azure AD? Связано ли это значение с указанными выше URL-адресами?
Edit: Я попытался предложение от первого комментария и получил следующее сообщение об ошибке, из этого кода в FormBrowser.SignIn (где AadReturnURL = http://myactualdomain.onmicrosoft.com, это родное приложение, и я предполагаю, что это может быть «манекен "URL, если у меня нет средств для отображения веб-страницы):
var adalAuthProvider = new AdalAuthenticationProvider(FormBrowser.AadClientId, FormBrowser.AadReturnUrl);
this.oneDriveClient = new OneDriveClient(FormBrowser.AadTargetUrl + "/_api/v2.0", adalAuthProvider);
authTask = adalAuthProvider.AuthenticateUserAsync(FormBrowser.AadTargetUrl);
Exception брошенного: 'Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException' в Microsoft.IdentityModel.Clients.ActiveDirectory.dll Microsoft .IdentityModel.Clients.ActiveDirectory Ошибка: 4: 10/24/2016 22:05:41: e9c2c5cd-1750-4d0f-b3a2-f373f7de309a - d__0: Microsof t.IdentityModel.Clients.ActiveDirectory.AdalServiceException: AADSTS50001: приложение с именем https://myactualdomain-my.sharepoint.com/_api/v2.0 не было найдено у арендатора с именем myactualdomain.onmicrosoft.com. Это может произойти, если приложение не было установлено администратором арендатора или получено согласие любого пользователя в арендаторе. Возможно, вы отправили запрос на проверку подлинности не тому арендатору. трассировки ID: 16192303-40e9-4944-b376-d25d4ff52b73 Корреляция ID: e9c2c5cd-1750-4d0f-b3a2-f373f7de309a Отметка: 2016-10-24 22: 05: 40Z в Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler .VerifyAuthorizationResult() на Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler.PreTokenRequest() на Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__0.MoveNext() ErrorCode: invalid_resource StatusCode: 0
OneDriveApiBrowser. vshost.exe Ошибка: 0: 10/24/2016 22:05:41: e9c2c5cd-1750-4d0f-b3a2-f373f7de309a - d__0: Microsoft.IdentityModel.Clients.Active Directory.AdalServiceException: AADSTS50001: приложение с именем https://myactualdomain-my.sharepoint.com/_api/v2.0 не было найдено у арендатора с именем myactualdomain.onmicrosoft.com. Это может произойти, если приложение не было установлено администратором арендатора или получено согласие любого пользователя в арендаторе. Возможно, вы отправили запрос на проверку подлинности не тому арендатору. трассировки ID: 16192303-40e9-4944-b376-d25d4ff52b73 Корреляция ID: e9c2c5cd-1750-4d0f-b3a2-f373f7de309a Отметка: 2016-10-24 22: 05: 40Z в Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler .VerifyAuthorizationResult() на Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler.PreTokenRequest() в Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__0.MoveNext() ErrorCode: invalid_resource StatusCode: 0
Спасибо! Хотя я до сих пор неясно, могу ли я использовать указанный вами URL-адрес (за вычетом Contoso, конечно), поскольку он терпит неудачу с ошибкой «не найден» (в моем обновленном сообщении). В противном случае мой обзор документа Discovery Service, по-видимому, подразумевает, что мне действительно нужно разработать решение (или запустить образец), чтобы получить правильную конечную точку? –
Также: нужно ли включить Graph для API OneDrive4B и/или службы обнаружения? –
У меня это работает, глупая ошибка - моя константа для AadTargetUrl была https://contoso-my.sharepoint.com/_api/v2.0, и, конечно, код, который я вызывал, излишне добавлял /_api/v2.0 в URL-адрес –