I've been a fan of OpenID ever since it first turned up on the web, when they were offering bounties for implementing it in popular web apps. So I'm very happy about the scale of adoption it's achieved, and since I've started seeing places where you can use your OpenID to post comments on blogs etc. I thought it was about time I figured out what I needed to do to use my own URL as an OpenID, instead of the generic Launchpad one I've been using most recently.
It didn't take long to discover that all I need is a couple of link tags in the document head element of my homepage, pointing to an OpenID authentication server and the "real" URL it can authenticate.
But simple as that is to achieve, I really didn't want to just go and edit my Joomla! template to add the necessary links because I'm expecting to change the template very soon. It's probably a fair point to make that I've been neglecting this site recently and "intending" to do quite a lot of things with it for a very long time now, but either way; if I update it all tomorrow then I'd be making the same change again immediately, or if I finally update it next month, then I'm not likely to remember the OpenID links until I can't authenticate to something. And in any case, it's just not a very "nice" way of implementing this...at least not when all you need is a silly little system plugin to handle it for you properly.
I had a quick look in the Joomla! Extensions Directory, and saw that there was already a plugin to do this, but it is labelled for 1.0 and switching off "legacy mode" completely is one of the objectives I had in mind for when I revamp the site. I figured it would take all of 5 minutes to knock-up a new plugin myself, so true to form it ended up taking closer to 5 hours, for lots of stupid little reasons that had no business in complicating matters! Never mind, it's done now and I'm happy. So here it is for anybody else wanting the same.
Just to be clear, this is not much use for a Joomla! "community" type site, it's really only useful I think for somebody like me who uses Joomla! for their homepage; it doesn't deal with OpenID authentication either as a client or a server, it's basically just tagging your pages (all of them except for in the Administration area or any not of the JDocumentHTML class) with your real OpenID and directions to the appropriate handler. But despite the simplicity, this yields two notable advantages:
- You can use the URL of any normal (X)HTML page from your own Joomla! site to identify yourself to OpenID-enabled systems.
- You can change your OpenID service freely without actually changing your OpenID, you just have to update the server and delegate fields on your site.
Furthermore, in doing this, you are implicitly saying that the owner of the specified OpenID owns the pages (i.e. claiming them with a verifiable identity). Whether or not there exists, or ever will exist, any application that might use that identity in relation to your pages, I very much doubt, but still, it seems like a nice thing to do!





