node.js - 为什么 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
什么都没有发生,过程结束时没有任何消息,也没有打开浏览器窗口。
我该怎么做才能找到并解决问题?
解决方案
按需身份验证需要安装 Electron npm i -g electron@6
。
Electron 在 node-sp-auth 中是可选的,因为它是一个巨大的架构决策,使其成为可选的,并且仅在需要按需按需的极少数情况下手动安装。
推荐阅读
- css - 仅使用 CSS 以绝对定位垂直堆叠元素
- javascript - PHP 和 JS 日历
- mysql - 为什么我在这个 kubernetes 示例中得到 CrashLoopBackOff?
- html - 为什么这个引导轮播不起作用?
- c++ - 使用 N-API 将数据流式传输到 Node.js C++ 插件
- aws-lambda - Localstack 是否支持 AWS Lambda 层
- python - 忽略 matplotlib 中交互模式 ion() 中的轴编辑 - 范围问题?
- go - 如何在 Go 语言中解组 Json 字符串以仅获取一个键的值
- security - npm 审计修复:1 个高严重性漏洞:任意文件覆盖
- java - 为什么 length_batch 在 ESPER CEP 查询中多次调用我的单行函数?