タイトルとして、iOSデバイスにプッシュ通知を送信するためにnode-apnパッケージを使用します。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);
私は、このエラー(私はそれをGoogleに試みたが、解決策を見つけることができません)得た:
/ルート/ buzzship/新しいVErrorをスローする(err、 "トークンの生成に失敗しました"); node.js/node_modules/apn/lib/credentials/token/prepare.js: ^ VError:トークンの生成に失敗しました:エラー:0906D064:PEMルーチン:PEM_read_bio:不良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) (新規クライアント時)/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オブジェクト。 (/root/buzzship/node.js/index-api.js:128:19) at Module._compile(module.js:570:32) at Object.Module._extensions..js(module.js:579) :Module.runMainの )で のModule.load(module.js:487:32) をtryModuleLoad(module.js:446:12) 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およびノードのバージョンを更新してみてください –
CentOSのバージョンは何ですか?あなたの質問を 'cat/etc/redhat-release'と' node -p process.versions'の出力で更新してください。 – Ajay
私のCentOSのバージョンは7.3.1611です - node -p process.versionsの出力は6.10.1です – toombeos