[英]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.