我正在尝试在Raspberry Pi上运行Vorto仪表板以可视化我的博世物联网"事物"数据。
为了运行 Vorto Dashboard,我安装了 npm 和 nodejs 并创建了 config.json 文件。
每当我尝试使用以下命令运行仪表板时,我都会收到以下错误:sudo vorto-dashboard config.json
,知道我已经添加了 OAuth2 客户端凭据。
没有凭据给出,无法得到东西
无法使用给定凭据获取令牌。
- StatusCodeError: 400 -
{"错误":"unauthorized_client","error_description":"INVALID_CREDENTIALS: 无效的客户端凭据"}
我目前在博世实习,为Vorto项目做出贡献。由于 Vorto-Dashboard 中的更改,我们将先前仪表板的功能与另一个共存的更新 UI 合并并合并,从而提供了可视化现有设备的高级方法。
由于上传的状态正在进行中,我们暂时禁用了config.json
方法,并从文档中删除了现有引用。显然,您找到的教程中的参考被省略了,对此感到抱歉!
今天,我部署了新版本的 vorto 仪表板 0.5.0,它应该像往常一样工作。您现在可以处理process.env.[...]
变量或config.json
文件。谢谢梅娜的快速回复!
如果您需要任何进一步的帮助或有其他反馈,请随时告诉我。
TL;博士
要解决您的问题,请将您的 OAUth 凭据存储为环境变量。
例如在 debian 等人中,export BOSCH_CLIENT_ID=...
等,然后在同一终端中启动仪表板。
上下文
我正要问同样的问题,因为无论我如何引用config.json
文件(相对路径、绝对路径、无引用等(,我都会收到相同的错误消息。
为澄清起见,此处提供了指向用于存储 OAuth 凭据的config.json
资源的教程。
引用:
在安装依赖项时,创建
config.json
文件并插入client_id
、机密和范围 已创建 OAuth2 客户端。文件的内容必须如下所示:
{ "client_id": "<YOUR_CLIENT_ID>", "client_secret": "<YOUR_CLIENT_SECRET", "scope": "<YOUR_SCOPE>", "intervalMS": 10000 }
对config.json
文件的引用已从vorto-examples
的vorto-dashboard
模块中的README.md
资源中删除。
最新的 README.md 建议通过环境变量提供 OAuth 凭据:
您可以通过环境变量提供 OAuth2 凭据。 您必须提供的三个环境变量是:
BOSCH_CLIENT_ID
BOSCH_CLIENT_SECRET
BOSCH_SCOPE
[...]
查看源代码,我只能在 package_for_deployment.json 的start
脚本条目中找到对config.json
的显式引用(源代码周围的任何内容似乎都没有消耗,比如说,argv[2]
(。
负责处理 OAuth 凭据的 AuthToken .js 资源似乎仅通过process.env.[...]
引用引用环境变量。
阐述
这只是撰写本文时的猜测,但我怀疑放弃config.json
方法的原因可能与加强安全性有关,即不将OAuth凭据永久存储在文件中。
如果这是真的,那么教程页面可能应该使用 README.md 的最新说明进行修改。