好吧所以我决定将onedrive功能集成到我的项目中,我已按照此处列出的说明进行操作:https://github.com/OneDrive/onedrive-sample-apibrowser-dotnet
我已经设置了需要设置的变量,更新了所有nuget库,注册了应用程序并设置了读写所需的权限等 .
private const string AadClientId = "6b18d325-####-####-####-##########b0";
private const string AadReturnUrl = "http://localhost:44313";
private const string MsaClientId = "6b18d325-####-####-####-##########b0";
一切似乎都在努力达到最终登录点 . 项目编译,我点击"sign into aad"我知道这部分是正确的,因为登录页面出现,我的注册应用程序 Headers 在登录框上方 . 正确输入详细信息并通知您它正在登录重定向您并继续使用 Headers "continue"的空白页面,一切似乎都设置正确并且正在进入轨道但是它会遇到障碍并返回一个消息框"Authentication failed",详细说明如下:AADSTS50001:在名为9188040d的租户中找不到名为http://localhost:44313的应用程序 - #### - #### - #### - ########## ad . 如果租户的管理员尚未安装应用程序或租户中的任何用户同意该应用程序,则会发生这种情况 . 您可能已将您的身份验证请求发送给错误的租户 .
我读过我可能需要在AzureAD中做一些事情,但我不确定,从来没有对一个驱动器做任何事情,所以任何帮助我帮助解决这个问题都会很棒!
谢谢伙计们欣赏它!问候詹姆斯
1 回答
在Microsoft注册门户上注册应用程序使其可以访问OneDrive的消费者版本(在演示中,您可以通过"Sign in to MSA"访问它) - 除非您还将MsaReturnUrl设置为
localhost
(其中) case,将其更改为原始样本中的那个) . 您将能够使用Live ID登录并访问OneDrive数据 .业务版本使用您自己在Azure上设置的Azure Active Directory . 一旦你有了,那么你将注册你的应用程序,添加用户,访问ClientId,你最终需要将其放入代码中 .
这可能超出了这个问题的范围 - 如果您只是想使用个人OneDrive帐户,那么请使用
MsaAuthenticationProvider
并且不要担心那些Aad...
属性和AdalAuthenticationProvider
.