1

我们有一个门户网站,一个 azure AD 用户将在其中登录,并且能够从 sharepoint 的列表中查看数据。

尝试使用PNPJSAngular MSAL来实现这一点

在开发阶段,使用sp-rest-proxy成功执行了所有列表操作, 但是当在 azure web 应用程序中构建并上传相同的 angular 项目时,它给出了一个错误"{"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}}

响应标头也有错误,因为X-MSDAVEXT_Error: 917656; Access+denied.+Before+opening+files+in+this+location%2c+you+must+first+browse+to+the+web+site+and+select+the+option+to+login+automatically. 现在使用 SP 设置变量

const SPHeaders: any = {
  "Accept": "application/json;odata=verbose",
  "content-type": "application/json;odata=verbose"
 };
 sp.setup({
  sp: {
  baseUrl: "SharePoint siteUrl",
  headers: SPHeaders
  }
 });

注意:用户成功登录,我可以在图形 api 的帮助下活动目录用户信息。

我什至尝试传递我在 SP 设置中进行身份验证后获得的令牌,如下所示,但这会给出错误,因为 原因 =“令牌包含无效签名。”;category =“invalid_client”

 sp.setup({
      sp: {
        baseUrl: environment.web,
        headers: {
          "Accept": "application/json;odata=verbose",
          "Authorization": `Bearer ${token}`
        }
      }
    });
4

0 回答 0