2016-10-24 61 views
0

我正在測試OneDrive SDK .NET示例應用程序here。但是,我不清楚AadReturnUrl和AadTargetUrl常量分別與AdalAuthenticationProvider和OneDriveClient類一起使用需要哪些值。該項目的GitHub自述文件涉及此page,但該頁面也不清楚。使用OneDrive for Business進行身份驗證的問題

另外:對於本地客戶端應用程序,當您在Azure AD中配置應用程序時,您對重定向URI使用什麼值?此值是否與上面所需的網址相關?

編輯:我試圖從第一評論的建議和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); 

拋出異常:‘Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException’在Microsoft.IdentityModel.Clients.ActiveDirectory.dll 微軟.IdentityModel.Clients.ActiveDirectory錯誤:4:10/24/2016 22:05:41:e9c2c5cd-1750-4d0f-b3a2-f373f7de309a - d__0:Microsof t.IdentityModel.Clients.ActiveDirectory.AdalServiceException:AADSTS50001:在名爲myactualdomain.onmicrosoft.com的租戶中未找到名爲https://myactualdomain-my.sharepoint.com/_api/v2.0的應用程序。如果應用程序尚未由租戶的管理員安裝或由租戶中的任何用戶同意,則可能會發生這種情況。您可能已將驗證請求發送給錯誤的承租人。 跟蹤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() 錯誤碼: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:在名爲myactualdomain.onmicrosoft.com的租戶中未找到名爲https://myactualdomain-my.sharepoint.com/_api/v2.0的應用程序。如果應用程序尚未由租戶的管理員安裝或由租戶中的任何用戶同意,則可能會發生這種情況。您可能已將驗證請求發送給錯誤的承租人。 跟蹤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() 錯誤碼:invalid_resource 的StatusCode:0

回答

0

AadTargetUrl應成爲您的服務的網址。例如,https://contoso-my.sharepoint.com/_api/v2.0/將成爲Contoso租戶上OneDrive for Business的URL。您可以使用Discovery Service獲取有關獲取目標網址的更多信息。

AadReturnUrl是您在Azure管理門戶中配置的重定向URL(正如您正確推測的那樣)。對於本地應用程序,通常類似http://localhost:8080,但對於網絡應用程序可能會有所不同。您可以在article you already linked中獲得更多關於此的信息。

+0

謝謝!儘管我仍然不清楚我是否可以使用您提供的URL(當然不包括Contoso),因爲它會失敗並顯示「未找到」錯誤(在我更新的帖子中)。否則,我對發現服務doc的評論似乎意味着我實際上必須開發一個解決方案(或運行示例)以獲取正確的端點? –

+0

另請參見:是否需要爲OneDrive4B API和/或發現服務打開圖形? –

+0

我得到了它的工作,愚蠢的錯誤 - 我對AadTargetUrl的常量是https://contoso-my.sharepoint.com/_api/v2.0,當然我調用的代碼是冗餘地添加/_api/v2.0到網址 –

相關問題