gpt4 book ai didi

node.js - NodeJS JWT Sign.sign 类型错误 : Not a buffer

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:10 27 4
gpt4 key购买 nike

我目前正在开发一个node.js应用程序,它应该在谷歌日历中创建事件。在我的机器(OS X 10.9.2)上它运行良好,但在另一台机器(Debian 7 Wheezy 64 位)上它不起作用。两者都安装了相同的node.js版本:v0.10.26。我总是收到以下错误:

crypto.js:398
var ret = this._binding.sign(toBuf(key));
^
TypeError: Not a buffer
at Sign.sign (crypto.js:398:27)
at createRS256Signature (/path/to/node_app/node_modules/googleapis/node_modules/gapitoken/node_modules/jws/index.js:75:58)
at jwsRS256Sign (/path/to/node_app/node_modules/googleapis/node_modules/gapitoken/node_modules/jws/index.js:68:21)
at Object.jwsSign [as sign] (/path/to/node_app/node_modules/googleapis/node_modules/gapitoken/node_modules/jws/index.js:32:12)
at GAPI.getAccessToken (/path/to/node_app/node_modules/googleapis/node_modules/gapitoken/gapitoken.js:56:25)
at GAPI.getToken (/path/to/node_app/node_modules/googleapis/node_modules/gapitoken/gapitoken.js:35:14)
at JWT.refreshToken_ (/path/to/node_app/node_modules/googleapis/lib/auth/jwtclient.js:83:13)
at /path/to/node_app/node_modules/googleapis/lib/auth/jwtclient.js:64:12
at /path/to/node_app/node_modules/googleapis/node_modules/gapitoken/gapitoken.js:20:17
at fs.js:266:14

导致此错误的代码:

this.jwt = new googleapis.auth.JWT(
SERVICE_ACCOUNT_EMAIL,
SERVICE_ACCOUNT_KEY_FILE,
null,
['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly']);

SERVICE_ACCOUNT_KEY_FILE 是我的 .pem key 文件的路径,应用程序也可以找到该文件。

一切都可以在本地运行,但不能在 Debian 机器上运行。我是否必须安装一些依赖项或类似的东西?

EDIT1:我还尝试通过第三个参数将 key 作为字符串传递,但这也不起作用。

谢谢!

最佳答案

我通过从文件中获取 key 然后将其作为 key 参数而不是 key 文件传递来修复它。由于异步文件访问问题,似乎无法读取 key 。

关于node.js - NodeJS JWT Sign.sign 类型错误 : Not a buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com