Open ID is definitely an interesting concept. The basic premise is that you maintain a single Identity that you can use to verify who you are to different sites that support Open ID.
You identify yourself with a unique URI. To log in to a Open ID site you enter your Uri. The website should then re-direct you to your Open ID provider, where you provide your log in credentials to verify that it’s actually you trying to claim to use this Open ID.
Here’s a good screen cast on the topic Open ID screen cast.
There are several libraries written in different languages available to developers for use on their Open ID affiliate sites. Found here…
The one I tinkered with was Nerdbanks Open ID web control , which references JanRains Open ID library. The control was very simple to use and start using… the full source is available and released under a LGPL license.
I ran the Nerdbanks assembly against FxCop and found several things that could be improved on. Personally, I would want to fix a lot of these issues before using this myself, but it’s nice to have a starting point to begin working with. The Nerdbanks assembly also contains a lot of extra code all bundled into a single assembly, again my personal preference would be to probably break out the “tools” from the “web controls” into separate assembly’s.
Open ID seems like a pretty cool concept and it’s nice to have libraries available to start with… anyways this just skims the surface of what Open ID is… but hopefully it’s a good primer!