Node.js的OpenID无法运行示例服务器

时间:2013-10-24 18:46:30

标签: node.js openid

当我尝试使用找到的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)

任何人都知道我做错了什么,我该如何解决?

1 个答案:

答案 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中的样本有效。