簡體   English   中英

Node.js的Bluemix Single Sign拋出``crypto.createCredentials已棄用''錯誤

[英]Bluemix Single Sign for Node.js throws 'crypto.createCredentials is deprecated' error

我一直在嘗試在Node.js應用程序中配置Bluemix Single Sign On服務。
Cloud Directory和Google+ API身份提供程序都一直失敗,並顯示以下錯誤消息:

(node) crypto.createCredentials is deprecated. Use tls.createSecureContext instead.
  at /home/vcap/app/node_modules/passport-idaas-openidconnect/node_modules/oauth/lib/
  oauth2.js:160:18
  at ...
  at process._tickCallback (node.js:355:17)

我可以找到的最佳答案如下,但我認為建議的代碼行應位於passport-idaas-openidconnect包內。 這個想法正確嗎?

if (tls.createSecureContext) {
  credentials = tls.createSecureContext(config.options.cryptoCredentialsDetails);
} else {
  credentials = crypto.createCredentials(@config.options.cryptoCredentialsDetails);
}

該應用程序使用以下npm軟件包版本:

   ├── body-parser@1.15.0
   ├── cookie-parser@1.4.1
   ├── express@4.13.4
   ├── express-session@1.13.0
   ├── passport@0.3.2
   └── passport-idaas-openidconnect@1.0.0 extraneous

它還使用此Node.js版本:

-----> IBM SDK for Node.js Buildpack v3.0-20160125-1224
   Based on Cloud Foundry Node.js Buildpack v1.5.4

目前,passport-idaas-openidconnect正在使用舊版本的OAuth模塊(版本0.9.10)。 折舊的問題似乎已在0.9.13及更高版本中得到解決,目前最新版本為0.9.14。

參見: https : //github.com/ciaranj/node-oauth/commit/de3a067aba4a045c5c7320928e5e146077ea5310

在更新passport-idaas-openidconnect模塊以使用更高版本的OAuth模塊之前,您可以嘗試手動更改passport-idaas-openeidconnect的package.json文件,以在修復程序中使用OAuth模塊版本,然后包括您現在自定義的passport- idaas-openidconnect模塊,通過在將應用程序推送到Bluemix時將其從忽略文件和應用程序目錄中的package.json中刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM