I’m in the primordial stage of building a site which requires authentication, and I decided it was high time I dug into OpenID. At first I was thinking that this would be a way to avoid creating a native user authentication system — yay, less work, right?
Not necessarily. Not everyone will want to use OpenID; you don’t want to be turning away potential users who are confused or put off by an OpenID login. Conventional wisdom, therefore, is that you still have your own authentication system which people can sign up for, and not force people to understand/use OpenID.
As a developer then, you are suddenly faced with the prospect of implementing both your own user/password table and authentication, and allowing interested users to use their OpenID, if they elect to do so. Wait — we just went from less work to more work — why in the world would anyone want to do that?
The answer is simple, and, if you step out of your developer shoes, is obvious: the convenience of OpenID isn’t for you (the website developer) — it’s for your users.
No, using OpenID doesn’t make your web application simpler to design and code. But, for those users who are or will be using OpenID, it makes authentication a lot easier for them. That’s the idea.
And it’s a good idea (though Tim Bray had some interesting objections to OpenID… I’m not sure if these have been resolved since he wrote this).
For those who are using OpenID, allowing it on your site is basically a way of saying that you care about making their user experience more convenient. I find it hard to argue against that logic.
