Delegating Your OpenID Authentication Doesn't Work With Drupal 6

When I read that Drupal 6 supported OpenID, I was happy about it. I use OpenID for logins whenever I can, but I have it set up in a sort of novel way. My novel way is to have my open id be www.ryantm.com and then have that website delegate the authentication to another company. In my case, I picked this good OpenID providor. I figured out how to do this by watching Simon Willison's google video talk. All you do is add these few lines to the head element of your OpenID url, but replace 'ryantm' with your username:

<!-- / Open Id -->
<link href='http://www.myopenid.com/server' rel='openid.server' />
<link href='http://ryantm.myopenid.com' rel='openid.delegate' />
<meta content='http://www.myopenid.com/xrds?username=ryantm.myopenid.com' http-equiv='X-XRDS-Location' />

The great part about this is that it works with any OpenID providor. So if at some point myopenid.com crosses my path, I can just delegate my OpenID authentication to another providor, and all of my OpenID logins will still work. In a sense, I've given myself complete flexibility with no chance of lock-in.

Unfortunately Drupal 6's OpenID support isn't up to snuff to handle my OpenID Delegation. It seems that while they seem claim they've implemented the entire OpenID spec by the wording on their marketing pages it doesn't work for me. I tried www.ryantm.com and http://www.ryantm.com and it keeps rudely telling me that's not a valid OpenID. I was under the impression that any url was a valid OpenID.

Anyway, I've created a bug report for this so you can follow what's going on. Please add comments to the bug if you are having this problem as well.

published 2008-05-29

Questions or Feedback? Email ryan@ryantm.com or tweet @ryantm.