当我尝试使用找到的openid运行示例nodejs服务器时 http://ox.no/software/node-openid
我得到以下追踪:
/home/ubuntu/node_modules/openid/openid.js:868
return callback({ message: 'No providers found for the given identifier'
^
TypeError: undefined is not a function
at /home/ubuntu/node_modules/openid/openid.js:868:14
at /home/ubuntu/node_modules/openid/openid.js:656:13
at /home/ubuntu/node_modules/openid/openid.js:612:11
at /home/ubuntu/node_modules/openid/openid.js:254:9
at IncomingMessage.<anonymous> (/home/ubuntu/node_modules/openid/openid.js:258:32)
at IncomingMessage.emit (events.js:88:20)
at HTTPParser.onMessageComplete (http.js:137:23)
at CleartextStream.ondata (http.js:1150:24)
at CleartextStream._push (tls.js:375:27)
at SecurePair.cycle (tls.js:734:20)
也许问题是我在第一页上提供的openid_identifier。我试过了
yahoo.com
www.google.com/accounts/o8/id
www.google.com/accounts/o9/ud
当我尝试使用www.google.com/accounts/o8/id时,我的跟踪略有不同:
/home/ubuntu/node_modules/openid/openid.js:895
return callback(null, authUrl);
^
TypeError: undefined is not a function
at successOrNext (/home/ubuntu/node_modules/openid/openid.js:895:18)
at /home/ubuntu/node_modules/openid/openid.js:1008:3
at successOrNext (/home/ubuntu/node_modules/openid/openid.js:909:9)
at /home/ubuntu/node_modules/openid/openid.js:931:5
at /home/ubuntu/node_modules/openid/openid.js:678:7
at /home/ubuntu/node_modules/openid/openid.js:544:16
at /home/ubuntu/node_modules/openid/openid.js:254:9
at IncomingMessage.<anonymous> (/home/ubuntu/node_modules/openid/openid.js:258:32)
at IncomingMessage.emit (events.js:88:20)
at HTTPParser.onMessageComplete (http.js:137:23)
任何人都知道我做错了什么,我该如何解决?
答案 0 :(得分:1)
至少对我来说,以下工作就像一个魅力:
git clone git@github.com:havard/node-openid.git
cd node-openid/
sudo node sample.js
然后我将浏览器启动到localhost并使用Google的地址登录:https://www.google.com/accounts/o8/id
工作得很好。所以看起来他们网站上的样本有点过时而他们的git repo中的样本有效。