node.js apn无法生成令牌
作为标题,我使用node-apn软件包向iOS设备发送推送通知。node.js apn无法生成令牌
在我的本地计算机(MacOS)中,我可以成功向设备发送通知,但是当我将代码部署到CentOS服务器时,我无法访问apnProvider对象。
我的代码是:
var apn = require('apn')
var path = require('path')
let options = {
token: {
key: path.resolve('/path/to/f8/keyfile'),
keyId: 'myKeyId',
teamId: "myTeamID"
},
production: false
};
var apnProvider = new apn.Provider(options);
我得到这个错误,(我想谷歌一下,但不能找到一个解决方案):
/根/ buzzship/node.js/node_modules/apn/lib/credentials/token/prepare.js:45 throw new VError(err,“Failed to generate token”); ^ VError:无法生成令牌:错误:0906D064:PEM例程:PEM_read_bio:bad base64解码 at prepareToken(/root/buzzship/node.js/node_modules/apn/lib/credentials/token/prepare.js:45 :13) at config(/root/buzzship/node.js/node_modules/apn/lib/config.js:42:31) at new Client(/root/buzzship/node.js/node_modules/apn/lib/ client.js:11:19) at EventEmitter.Provider(/root/buzzship/node.js/node_modules/apn/lib/provider.js:12:19) at Object。 (/root/buzzship/node.js/index-api.js:128:19) at Module._compile(module.js:570:32) at Object.Module._extensions..js(module.js:579 :10) at Module.load(module.js:487:32) at try.ModuleLoad(module.js:446:12) at Module.runMain Function.Module._load(module.js:438:3) (module.js:604:10) 在运行(bootstrap_node.js:393:7) 在启动时(bootstrap_node.js:150:9) 在bootstrap_node.js:508:3
请告诉我什么我错了,谢谢。
谢谢你的建议,我通过升级节点到版本最新的7.10.0解决了这个问题。
尝试更新您的OpenSSL和Node版本 –
您的CentOS版本是什么?用下面的输出更新你的问题'cat/etc/redhat-release'和'node -p process.versions' – Ajay
My CentOS version is 7.3.1611 - node -p process.versions output is 6.10.1 – toombeos