从ADAL到MSAL for SharePoint Online

问题描述

我正在获取现有服务,该服务使用MSAL / v2.0 auth来使用ADAL获取SharePoint Online REST API的访问令牌。我们使用的不是Graph API中的API,因此这就是我们使用SPO API(即https://yourtenant.sharepoint.com/_api/foo)的原因。在ADAL中,对于租户中任何网站集的任何API,您都使用Resource来获取令牌,令牌始终为https://yourtenant.sharepoint.com。在切换到MSAL / v2.0 auth时,我尚未找到有效的ScopE-这意味着我获得了访问令牌,但从未获得正确的权限。在我在Azure中进行的应用注册中,它显示了我们用作https://microsoft.sharepoint-df.com/Sites.Read.All的权限范围。因此,这是我们尝试过的一些示例:

范围:https://microsoft.sharepoint-df.com/.default(使用vdefault API所建议的.default范围) 结果:“无效的受众Uri'https://microsoft.sharepoint-df.com/'。”; category =“ invalid_client”

范围:https://office365mon.sharepoint.com/.default(使用与v1.0的资源URI相同的样式) 结果:X-MSDAVEXT_Error:917656;访问+拒绝。在此位置之前,打开文件+%2c +您+必须+首先+浏览+到+ Web +站点+并选择+选项+自动登录。 / p>

范围:https://microsoft.sharepoint.com/.default(在共享点上不使用-df的情况下进行尝试) 结果:“无效的受众Uri'https://microsoft.sharepoint.com/'。”; category =“ invalid_client”

范围:https://office365mon.sharepoint.com/Sites.Read.All(将其像v2.0范围那样处理;也可以通过microsoft.sharepoint-df.com/Sites.Read.All进行尝试) 结果:应用程序'foo'要求资源'00000003-0000-0ff1-ce00-000000000000'上不存在的范围'Sites.Read.All'。联系应用程序供应商。

对此我觉得很奇怪的另一件事是,当我使用ScopE时,我认为应该是它-https://microsoft.sharepoint-df.com/.default-当我从授权代码中获得访问令牌时,它将返回两个ScopES,一个其中根本没有任何意义。它返回“ https://microsoft.sharepoint-df.com/Mail.ReadWrite https://microsoft.sharepoint-df.com/.default"。SharePoint没有“ Mail.ReadWrite”范围,我们不要求该范围,所以我不能有帮助,但想知道这是否是与使用它时引发的“无效受众”错误有关的问题的一部分。

因此,请查看当前是否存在任何已知问题或已知的工作版本。

谢谢

史蒂夫

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)