OpenID提供程序终结点与发现的OpenID提供器终结点不匹配
OpenID provider endpoint does not match discovered OpenID provider endpoint
老实说,这是我第一次开发openID应用程序,所以我不清楚条款和条件,但现在开始了。。。我正在尝试将openID与nodeJS openID插件一起使用,但我遇到了以下错误。
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....
作为身份验证URL,但响应返回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(); } });
感谢您的帮助,
这是node-openid
中的一个错误,已修复。0.5.6版(或更高版本)在npm
上可用,没有此错误。
- OAuth 2.0 OpenID连接环回和密钥斗篷
- OpenID提供程序终结点与发现的OpenID提供器终结点不匹配
- 使用IE、Jsonp和OpenID,我如何让数据发送服务器将客户端视为已验证
- 在标头中传递openid connect oauth2承载令牌
- 本地主机上运行的webapp中的openid和facebook身份验证
- php cURL的替代品- OpenId和谷歌,Facebook api服务器端身份验证
- 谷歌OpenID -如何在javascript中使用checkid_immediate
- Twisted websocket chatserver openid身份验证
- 应该得到子结点但不知怎么得到了父结点ID
- 麻烦与OpenID登录在Safari内iframe
- 登录雅虎使用OpenID多语言网站
- 使用OpenID与服务器端JavaScript (node.js),但我得到一个错误
- 我可以在没有服务器的情况下使用OpenID吗?
- OpenID认证代码全部在JS中
- DOJO的JS openID选择器
- 如何为 OpenID Connect 进行会话管理
- 通过JavaScript实现OpenID登录