]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/OpenID_delegation_fails_on_my_server.mdwn
checkconfig: don't warn if $config{url} is undef
[git.ikiwiki.info.git] / doc / bugs / OpenID_delegation_fails_on_my_server.mdwn
index 41b4bb128b37a0a5bf2a3d0b4ae019351b8a6ca8..25cc47b1870aeb5cabbd6de2e849438336ae5c53 100644 (file)
@@ -13,3 +13,41 @@ switch to other providers in the future.
 
 > Hmm, I entered http://thewordnerd.info as the openid, and ended up at
 > http://thewordnerd.myopenid.com/ , which seems right? --[[Joey]]
+
+Sorry, didn't notice this edit. But, no, that is incorrect. Entering http://thewordnerd.info or thewordnerd.info should do the exact same thing that entering http://thewordnerd.myopenid.com does--in your case, prompt you to log in, in mine, ask if I want to verify the request. It's redirecting to the page itself, not using it as an OpenID provider.
+
+Unfortunately I don't speak or understand enough Perl to fix this, nor do I understand how to use its debugger, but it looks as if the consumer should support delegation. Not sure why it's behaving incorrectly here.
+
+> Your openid delegation is wrong.
+> 
+> Here is a working openid delegation (from http://joey.kitenet.net:)
+>      <link href="http://www.myopenid.com/server" rel="openid.server" />
+>      <link href="http://www.myopenid.com/server" rel="openid2.provider" />
+>      <link href="https://joeyh.myopenid.com/" rel="openid.delegate" />
+>      <link href="https://joeyh.myopenid.com/" rel="openid2.local_id" />
+> 
+> The above is generated by ikiwiki, using the meta openid directive:
+> 
+>      \[[meta openid="https://joeyh.myopenid.com/" server="http://www.myopenid.com/server"]]
+> 
+> Here is your delegation:
+> 
+>      <meta http-equiv="X-XRDS-Location" content="http://thewordnerd.myopenid.com/xrds" />
+>      <link rel="openid.server" href="http://thewordnerd.myopenid.com" />
+>      <link rel="openid.delegate" href="http://thewordnerd.myopenid.com" />
+> 
+> So, your openid.server is set wrong; when loging in ikiwiki redirects to
+> the specified url, which is not behaving as an openid server at all. If it's changed
+> to use http://www.myopenid.com/server, it would work the same as mine.  
+> 
+> I suspect that it was working for you on other sites that support openid
+> 2.0 and XRDS, since the xrds file on your site seems to have the correct
+> http://www.myopenid.com/server url in it. Ikiwiki, however, uses perl
+> modules that do not support openid 2.0 or XRDS, and so the incorrect
+> openid 1.0 delegation is used. --[[Joey]]
+
+[[done]]
+
+Seems so, thanks.
+
+For future reference, and in case anyone has a similar problem and searches here first as I did, I set my OpenID settings using the examples shown for the WordPress OpenID delegation plugin, which seem to work fine on a whole bunch of other sites but a) not here and b) are inaccurate according to the MyOpenID FAQ. I'll file a bug against that plugin to either update its example or remove it entirely. So not an ikiwiki bug, but someone's bug nonetheless.