As I said last night, I'm slapping together something new, but this time it is a ASP.Net website (yeah, go me!). I also stated that I utilized two new technologies (for me at least) in the building of this website; after yesterday's love fest over Linq, I figured it was time to talk about OpenId.
I use OpenId, and I try to use it everywhere I can. Stack Overflow is probably the most obvious, and often, of my usages of it. So, while building this new thing of mine, I figured I would make use of it.
After all, most folks HAVE an OpenId even if they're not aware of that particular fact. Google, Blogger, AOL and LiveJournal are all OpenId providers.
The main reason I wanted to use OpenId is because I just didn't want the hassles of keeping track of usernames, passwords and the like. It's messy, and just not something I want to be doing. OpenId allows me the best of both worlds. I can hide things from unauthorized and unauthenticated users while at the same time, not have to worry about tracking people's passwords.
And let's be honest, so many folks use the same password across multiple sites, that that's a degree of security for myself that I'm more than happy to take.
Now, comes the ubiquitous issues in regards to how I'm consuming an OpenId provider. The answer to that is i'm using DotNetOpenID. This implementation has a Relying Partner, and a Provider examples; which means that you can turn any .NET website into an OpenID Provider.
Me, I opted out of that particular hassle, again, because I don't want any of that nonsense relating to keeping up with who is who.
What is better is that alongside of Linq, I can easily generate new User objects for my datastore (which allows for custom Display Names, signatures, etc.,) in a nearly transparent fashion for the users. I love that all they have to do is log in, and then they are good to go.