My personal site defines my OpenID delegate in the HEAD like so:
<meta content="http://claimid.com/nicksergeant/xrds" http-equiv="x-xrds-location" />
<link rel="openid.server" href="http://openid.claimid.com/server" />
<link rel="openid.delegate" href="http://openid.claimid.com/nicksergeant" />
The XRDS location definition is required by Basecamp's OpenID login. I'm not entirely sure why, but it doesn't work without XRDS. Here's where I found that out.
Unfortunately, if you have an XRDS location definition in your HTML, StackOverflow's OpenID login will not work. It will return:
Unable to log in with your OpenID provider:
Couldn't find the OpenID URL in that HTML; is your account enabled?
I've tried to hide the XRDS definition based on the referrer, but unfortunately when Stack requests the page, it sends along no HTTP referrer:
67.199.15.132 - - [06/Jan/2009:12:21:08 -0500] "GET / HTTP/1.1" 200 16071 "-" "-"
My question is why this is happening, and what is the best workaround? I'm not necessarily blaming this on SO.com, but I'd like to understand what's going on, and how to get around it.
Thanks!