Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UWP-Microsoft.OneDrive.Sdk-无法使用正确的凭据登录_C#_Uwp_Windows Authentication_Onedrive - Fatal编程技术网

C# UWP-Microsoft.OneDrive.Sdk-无法使用正确的凭据登录

C# UWP-Microsoft.OneDrive.Sdk-无法使用正确的凭据登录,c#,uwp,windows-authentication,onedrive,C#,Uwp,Windows Authentication,Onedrive,我们在UWP应用程序中使用OneDrive SDK 要登录用户,我们使用以下代码: OnlineIdAuthenticationProvider msaAuthenticationProvider = new OnlineIdAuthenticationProvider( new[] { "onedrive.readwrite" }); try { await msaAuthent

我们在UWP应用程序中使用OneDrive SDK

要登录用户,我们使用以下代码:

        OnlineIdAuthenticationProvider msaAuthenticationProvider = new OnlineIdAuthenticationProvider(
            new[] { "onedrive.readwrite" });
        try
        {
            await msaAuthenticationProvider.AuthenticateUserAsync();
            m_oneDriveClient = new OneDriveClient("https://api.onedrive.com/v1.0", msaAuthenticationProvider);
        }
        catch (Exception e)
        {
            s_log.ErrorFormat("OneDrive authentication failed: {0}", e.Message);
        }
在大多数情况下,登录是成功的

显然,当用户是特定公司域下的管理员时,此方法不起作用,我们面临以下例外情况:

Exception of type 'Microsoft.Graph.ServiceException' was thrown
显然,用户使用的凭据是正确的,并且经过验证

凭据与私人帐户相关,该帐户不是用于登录Windows计算机的帐户,但仍然是可识别的Microsoft帐户,用于将OneDrive链接到同一台计算机(事实上,用户可以在Windows文件资源管理器/OneDrive下查看其文件!)

因此,我有以下问题:

  • 为什么只有特定用户才会出现登录弹出窗口,而其他用户(如私人帐户)会自动登录
  • 如何强制SDK显示登录弹出窗口
  • 为什么此类凭据配置存在异常(以及相关的身份验证失败)
  • 谢谢大家!