如何使用 ADAL JS 验证 SharePoint Online

By simon at 2019-05-22 • 0人收藏 • 55人看过

我正在跟踪位于Https://nickvandenheuvel.eu/tag/adal-js/ 但是我的代码在 SharePoint 连接时失败了,出现了 ADAL Error AADSTS500011。

错误消息指出"名为Https://my.sharepoint.com/sites/mysite没有在名为 mytenant.onmicrosoft.com 的租户身上找到。 如果应用程序未经承租者的管理员安装,或未经承租者中的任何用户同意,则可能发生这种情况。 您可能将身份验证请求发送给了错误的承租者。"

我的代码与本文完全相同。 我的想法是,也许我需要在我的 SharePoint 网站的 Azure 注册中做些什么,或者,由于 Office 365和 SharePoint 现在的工作方式,代码已经过时了。

句子太长,请短一点! 用户){ authContext.login () ; } / / Get OneDrive 当前用户文档的 AuthenticationContext of Graph API authcontext.acquretoken (config.endpoints.graphApiUri,function (error,token){ if (error | ! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. Ajax ({ type:"GET",url: fileuri,header: {"Authorization":"Bearer"+ token }). Done (function (response){ console.log ("Successfully dragged files from OneDrive.") ; var items response.value; for (var i 0; i items.length; i + +){ console.log (items [ i ]). $("# onedrive"). 追加("li"+ items [ i ]。 Name +"/ li") ; }). Fail (function (){ console.log ("从 OneDrive 获取文件失败") 使用 SharePoint authContext.acquireToken (config.endpoints.sharepointturi,function (error,token){ if (error | | ! { console.log ("ADAL error happened:"+ error) ; return; } else { var listUri config.endpoints.sharePointUri +"/ api / web / lists ('"+ variables.listId +"') / items? 选择"标题";。 Ajax ({ type:"GET",url: listUri,header: {"Authorization":"Bearer"+ token,"accept":"application / json; odata verbose"}). Done (function (response){ console.log ("Successfully dragged list from SharePoint.") ; var items response.d.results; for (var i 0; i items.length; i + +){ console.log (items [ i ]). 标题) ; $(# sharepoint)。 追加("li"+ items [ i ]。 Title +"/ li") ; })). Fail (function (){ console.log ("从 SharePoint 获取列表失败") ;
        });
      }
    });

我可以说这段代码确实适用于其余的 API 和 OneDrive。 它还可以从 Azure AD 中获取用户信息。 只有当我尝试与 SharePoint 网站交互时,才会出现错误消息。 我不确定代码是否跟不上 ADAL 与 SharePoint 的交互方式,或者 Azure AD 中是否有需要配置的东西。 既然与 OneDrive 的交互似乎有效,我认为 Azure AD 不是问题(因为我不记得需要在 Azure AD 中为 OneDrive 设置任何东西)。

登录后方可回帖

Loading...