首页 文章

使用OneDrive for Business进行身份验证时出现问题

提问于
浏览
0

我正在测试OneDrive SDK .NET示例应用程序here . 但是我不清楚我需要分别与AdalAuthenticationProvider和OneDriveClient类一起使用的AadReturnUrl和AadTargetUrl常量需要什么值 . 该项目的GitHub自述文件引用了此page,但该页面也不清楚 .

另外:对于本机客户端应用程序,在Azure AD中配置应用程序时,您对重定向URI使用了什么值?此值是否与上述所需的URL相关?

Edit :我尝试了第一条评论中的建议并收到以下错误,来自FormBrowser.SignIn中的此代码(其中AadReturnURL = http://myactualdomain.onmicrosoft.com;这是一个原生应用,如果我没有,我认为这可能是'dummy'网址显示网页的方法):

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中Microsoft.IdentityModel.Clients.ActiveDirectory错误:4:10/24/2016 22:05:41:e9c2c5cd-1750-4d0f-b3a2-f373f7de309a - d__0:Microsoft . 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 at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler.VerifyAuthorizationResult() Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler.PreTokenRequest()at 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.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 at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler.VerifyAuthorizationResult() Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenInteractiveHandler.PreTokenRequest()at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__0.MoveNext()ErrorCode:invalid_resource StatusCode:0

1 回答

  • 0

    AadTargetUrl 应该是您服务的URL . 例如, https://contoso-my.sharepoint.com/_api/v2.0/ 将是Contoso租户上OneDrive for Business的URL . 您可以使用Discovery Service获取有关获取目标URL的更多信息 .

    AadReturnUrl 是您在Azure管理门户中配置的重定向URL(正如您所推测的那样) . 对于本地应用程序来说,它通常类似于 http://localhost:8080 ,但对于Web应用程序可能会有所不同 . 您可以在article you already linked中获得有关该信息的更多信息 .

相关问题