2013-12-10 118 views
0

很坦白地說,這是我第一次開發openID應用程序,所以我不清楚術語和什麼不是,但在這裏它去...我試圖使用openID與nodeJS openID plugin但我有以下錯誤。OpenID提供者端點不匹配發現的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....

身份驗證網址,但響應與回來了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....

我只是使用p osted示例代碼在插件的網站,所以我相信我的實現是正確的,但我不是很有信心在下面的代碼中的openID標識符「gmail.com」。我想在另一個字符串中傳入沒有設置源URL屬性的Goggle?如果是這種情況,我可以找到其他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

這是已被固定在node-openid的錯誤。版本0.5.6(或更高版本)可在npm上找到,並且沒有此錯誤。