作爲標題,我使用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
請告訴我什麼我錯了,謝謝。
嘗試更新您的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