OpenID: 1, brianp: 0

I wanted to add OpenID support to my blog so that people could authenticate using their credentials from other sites (Yahoo and Google, for example) to post comments.

There is a plugin for WordPress that adds OpenID support. I downloaded it, installed it, and was soon up and running with a non-working OpenID implementation.

When I entered the service provider endpoint URI for one of my OpenID-providing accounts into the right field in the WordPress login form, the WordPress OpenID plugin replied with a cryptic error message: “Could not discover an OpenID identity server endpoint at the url.”

After a couple of hours of troubleshooting, including adding debugging code to the OpenID plugin, I found the root cause of the problem. OpenID uses a standard called XRDS. XRDS is based on XML. The OpenID plugin for WordPress supports two specific XML-supporting extensions for PHP (the programming language in which WordPress and its plugins are written), one named “domxml” for PHP4 and another named “dom” for PHP5. My web host provides PHP, but not either of those XML extensions.

On the bright side, my web host’s PHP installation does appear to have a different XML-supporting extension for PHP, one called simply “xml.” If I succeed in modifying the WordPress OpenID plugin to work with that as a third option, I’ll submit a patch to the maintainers.

2 comments to OpenID: 1, brianp: 0

You must be logged in to post a comment. Don't worry; you needn't register for a new account here. You can log in securely via your Google/Gmail, Yahoo, Facebook, or OpenID account.