OpenID提供程序端点与发现的OpenID提供程序端点不匹配

时间:2013-12-10 05:52:43

标签: javascript node.js openid

老实说,这是我第一次开发openID应用程序,所以我不清楚条款和不清楚但是在这里它...我试图使用openID与nodeJS openID plugin但我在下面错误。

OpenID provider endpoint in assertion response does not match discovered OpenID provider endpoint

在深入挖掘源代码后,我相信这是因为我有

https://www.google.com/accounts/o8/ud?source=gmail.com&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns....

作为身份验证网址,但响应返回source=gmail.com,如下所示

https://www.google.com/accounts/o8/ud?&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns....

我只是在插件的网站上使用发布的示例代码,所以我相信我的实现是正确的,但是我对下面代码中的openID标识符“gmail.com”不太自信。我想传入Goggle的另一个字符串,它没有设置源URL属性?如果是这种情况,我可以找到其他openID提供商的标识符列表?

    relyingParty.authenticate(identifier, false, function(error, authUrl) {
        if (error) {
          res.writeHead(200);
          res.end('Authentication failed: ' + error.message);
        } else if (!authUrl) {
          res.writeHead(200);
          res.end('Authentication failed');
        } else {
          res.writeHead(302, { Location: authUrl });
          res.end();
        }
    });

感谢您的帮助,

1 个答案:

答案 0 :(得分:1)

这是node-openid中已修复的错误。版本0.5.6(或更高版本)在npm上可用,并且没有此错误。