2017-05-08 8 views
0

タイトルとして、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

私に何を教えてください私は間違っている、ありがとう。

+0

OpenSSLおよびノー​​ドのバージョンを更新してみてください –

+0

CentOSのバージョンは何ですか?あなたの質問を 'cat/etc/redhat-release'と' node -p process.versions'の出力で更新してください。 – Ajay

+0

私のCentOSのバージョンは7.3.1611です - node -p process.versionsの出力は6.10.1です – toombeos

答えて

1

ありがとうございます。私はこの問題をバージョン7.10.0の最新バージョンにアップグレードすることで解決しました。

関連する問題