---
title: How to Be Your Own OpenID Provider and Use Your blog's URL for Identification
date: 2008-04-23T18:37:35+00:00
modified: 2018-10-03T19:55:28+00:00
image:: https://kaspars.net/wp-content/uploads/2008/04/openid-logo.png
permalink: https://kaspars.net/blog/how-to-be-your-own-openid-provider-and-use-your-blogs-url-for-identification
post_type: post
author:
  name: Kaspars
  avatar: https://reverse.kaspars.net/gravatar/avatar/92bfcd3a8c3a21a033a6484d32c25a40b113ec6891f674336081513d5c98ef76?s=96&d=mm&r=g
post_tag:
  - Web
category:
  - WordPress
---

# How to Be Your Own OpenID Provider and Use Your blog’s URL for Identification

![OpenID logo](https://kaspars.net/wp-content/uploads/2008/04/openid-logo.png?strip=all&quality=90&resize=239,80 "OpenID logo") If you have a self-hosted blog, meaning that you have the access to the files on the server, then implementing [OpenID](http://openid.net/ "Read more about this decentralized authentication mechanism") might be the greatest way to help your readers and yourself.

If you haven’t heard about the OpenID before, then in a nutshell it is your *universal login name*, which you can use to authenticate yourself on other blogs and websites without ever filling out those registration forms again. The illustration below shows how it works:

[![How OpenID works](/wp-content/uploads/2008/04/openid-how-it-works-illustration-480x470.png "Illustration: How OpenID works")](https://kaspars.net/wp-content/uploads/2008/04/openid-how-it-works-illustration.png)How OpenID works



There are only three components involved: **you** and **your OpenID indentifier** which you have set up on **your own *OpenID Provider* server**.

However, keep in mind that in case you don’t have the access to a web server, you can still create an OpenID identifier at any of the [Identity Providers](http://openid.net/get/ "Large list of public OpenID providers") such as Flickr, Blogger or Yahoo. You might even have one if you blog at [WordPress.com](http://faq.wordpress.com/2007/03/06/what-is-openid/ "Read more on how you can use your WordPress URL as an OpenID identifier"). I strongly suggest that you read this [excellent explanatory article](http://www.intertwingly.net/blog/2007/01/03/OpenID-for-non-SuperUsers "OpenID for non superusers by Sam Ruby") by [Sam Ruby](http://en.wikipedia.org/wiki/Sam_Ruby "Wikipedia entry for Sam Ruby") to get a sense of how OpenID can work for you.

In this article I will show you how to:

1. install a single user OpenID Identity Provider called **phpMyID** on your web server,
2. configure your blog so that it’s URL is your OpenID identifier, and
3. enable OpenID authentication on your blog, so that readers can use their OpenIDs to leave comments.

**If you already have an OpenID account** at one of the Identity Providers and you simply want be able to use your blog’s URL for authentication, skip the phpMyID installation part and go directly to step 3.

You will need:

1. a blog powered by [WordPress](http://wordpress.org "Your own installation of WordPress on your server").
2. a single user *Identity Provider* software called [phpMyID](https://www.siege.org/phpmyid.html "Very simple single User OpenID provider script written in PHP") developed by *CJ Siege Niemira*,
3. [WP-Yadis](http://wordpress.org/extend/plugins/yadis/ "Yadis plugin to delagate the particular OpenID to this blog") plugin created by [Will Norris](http://willnorris.com/), to make the blog’s URL as your OpenID, and
4. [WP-OpenID](http://wordpress.org/extend/plugins/openid/ "enables your readers to use OpenID for authentication") plugin developed by [Will Norris](http://willnorris.com/ "one of the author of WP-OpenID"), [Alan J Castonguay](http://verselogic.net/ "one of the author of WP-OpenID") and [Chris Messina](http://factoryjoe.com/blog/ "one of the author of WP-OpenID") to enable OpenID authentication for the blog.

### Installation Guidelines

These instructions contain only the main points you should follow. If you want to have something configured differently than I have suggested, then feel free to do it.

1. **Download [phpMyID](https://www.siege.org/phpmyid.html "Link to the download")** and extract it somewhere on your computer. Notice that there are only two `.php` files and one `.htaccess` file to get things working.
2. Read through the `README` file that is in the same package which you just extracted.
3. Decide the URL you would like to use for the *phpMyID* identity provider. I am using `konstruktors.com/id`. Notice that this URL is used for placing the *Identity Server* only, and you will be still able to have the blog’s URL for authentication (after installing the *WP-Yadis* plugin).
4. Edit and complete the `MyID.config.php` file as described in `README` and then rename `MyID.config.php` to `index.php` just before uploading it to the server. This way you’ll be able to use `yourblogsurl.com/id` instead of `yourblogsurl.com/id/MyID.config.php` in future.
5. Go to the URL you chose previously and see if it works. If it doesn’t, try reading through the `README` file again a few times or download a fresh copy of *phpMyID* and start over. It *should* work. Move on to the next steps once you have got it working.
6. You could use this URL for authenticating on any of the OpenID enable websites, but we want the blog’s URL, so let’s continue.
7. **Download [WP-Yadis](http://wordpress.org/extend/plugins/yadis/ "Yadis plugin to delagate the particular OpenID to this blog")** plugin, unzip it, upload it to the plugin folder of your WordPress installation, activate it, go to WordPress *Settings* and click on ‘Yadis’ in the menu.
8. Let’s add the details for the Indentity Server we created in the previous step. Select **Other** in the drop-down menu. **Username** is the one you chose (`'auth_username' => '...'`) when editing `MyID.config.php` file. Mine is *kaspars*. For **OpenID Server** enter the URL of your Identity Server `http://yourblogsurl.com/id/` and for **OpenID Delegate** enter `http://yourblogsurl.com/id/index.php`
9. Now you should be able to use your blog’s URL (`http://``yourblogsurl``.com/blog`) as your OpenID. Test it at [openidenabled.com/resources/openid-test/diagnose-server](http://openidenabled.com/resources/openid-test/diagnose-server/). You should see ‘OK’ if everything is working correctly.
10. **Download [WP-OpenID](http://wordpress.org/extend/plugins/openid/ "enables your readers to use OpenID for authentication")\*** plugin, extract it, upload it to the WordPress plugin folder, activate it and you should now see an OpenID icon in the background of the ‘Website’ input field in the comment form (when you are logged out). If you would also like to use OpenID for logging into the administration panel of your blog, go to ‘Users’ &gt; ‘Your Identity URLs’ and add the URL of the Identification Server `http://yourblogsurl.com/id/index.php`.

Thats All. You now have a complete control over your identity on the Web, and your blog’s URL together with your name and e-mail address will be used automatically when leaving comments on other websites.

### Notes &amp; Known Problems

\* Currently I am not using the WP-OpenID plugin because the JavaScript it uses for adding the input field’s background image seems to produce errors, but it might work well for you. I have got it working by simply removing the `jquery.xpath.js` file from the `files` directory inside the `openid` folder. It seems that the XPath compatibility provided by this file is now built into the jQuery core.

Therefore you can now test your OpenID by leaving a comment on this article.

If you experience any errors or problems, be sure to search through the [WordPress Support forum](http://wordpress.org/support/) and also consult the Google.