首页 > 解决方案 > 为什么 node-sp-auth on demand 不显示浏览器窗口?

问题描述

我正在尝试为 SPA SharePoint Online 应用程序设置一个全新的 Angular 9 应用程序本地开发环境。

作为该过程的一部分,我需要设置本地代理服务器sp-rest-proxy。我将其配置为使用按需凭据。这是config/private.json内容:

{
  "siteUrl": "https://tenant.sharepoint.com/sites/mysite",
  "strategy": "OnDemandCredentials",
  "ondemand": true
}

我的package.json文件包括:

{
   "scripts": {
       "serve": "node src/server.js"
    }
}

server.js内容是:

const RestProxy = require('sp-rest-proxy');

const settings = {
  configPath: './config/private.json', // Location for SharePoint instance mapping and credentials
  port: 8080, // Local server port
  staticRoot: './node_modules/sp-rest-proxy/static' // Root folder for static content
};

const restProxy = new RestProxy(settings);
restProxy.serve();

我跑:

npm run serve

打开浏览器并将其指向http://localhost:8080当我尝试执行一个简单的请求时,例如/_api/web?$select=Title我收到以下错误:

{
  "readyState": 4,
  "responseText": "Command failed: C:\\WINDOWS\\system32\\cmd.exe /d /s /c \"electron C:\\projects\\MyProject\\node_modules\\node-sp-auth\\lib\\src\\auth\\resolvers\\ondemand\\electron\\main.js https://tenant.sharepoint.com/sites/diner false\"",
  "status": 400,
  "statusText": "Bad Request"
}

不显示浏览器窗口。

我在全球范围内安装了电子。

当我在命令行上执行以下命令时:

electron C:\projects\MyProject\node_modules\node-sp-auth\lib\src\auth\resolvers\ondemand\electron\main.js https://tenant.sharepoint.com false

什么都没有发生,过程结束时没有任何消息,也没有打开浏览器窗口。

我该怎么做才能找到并解决问题?

标签: node.jssharepointelectron

解决方案


按需身份验证需要安装 Electron npm i -g electron@6

Electron 在 node-sp-auth 中是可选的,因为它是一个巨大的架构决策,使其成为可选的,并且仅在需要按需按需的极少数情况下手动安装。


推荐阅读