2016-10-24 4 views
0

Я тестирую приложение примера 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

ответ

0

AadTargetUrl должен быть URL-адресом вашего сервиса. Например, https://contoso-my.sharepoint.com/_api/v2.0/ будет URL-адресом вашего OneDrive для бизнеса у арендатора Contoso. Вы можете получить дополнительную информацию о получении целевого URL-адреса с помощью Discovery Service.

AadReturnUrl - это URL-адрес перенаправления, который вы настроили на портале управления Azure (как вы правильно поняли).Это обычно что-то вроде http://localhost:8080 для локальных приложений, но может быть что-то другое для веб-приложений. Вы можете получить дополнительную информацию об этом в article you already linked.

+0

Спасибо! Хотя я до сих пор неясно, могу ли я использовать указанный вами URL-адрес (за вычетом Contoso, конечно), поскольку он терпит неудачу с ошибкой «не найден» (в моем обновленном сообщении). В противном случае мой обзор документа Discovery Service, по-видимому, подразумевает, что мне действительно нужно разработать решение (или запустить образец), чтобы получить правильную конечную точку? –

+0

Также: нужно ли включить Graph для API OneDrive4B и/или службы обнаружения? –

+0

У меня это работает, глупая ошибка - моя константа для AadTargetUrl была https://contoso-my.sharepoint.com/_api/v2.0, и, конечно, код, который я вызывал, излишне добавлял /_api/v2.0 в URL-адрес –