I find no problem with OpenID. There are many free OpenId providers out there, and if you really don't want to use one, you can create your own fairly easily.
The issue is that it should be an extension for your app, not a rule. I think, that the best way is to always do you own auth system and maybe improve it using OpenId providers.