the trick is really just to design your web properties with an abstracted-out authentication system
do not assume password auth; do not bake it into your product
here's an idea:
make your system use oauth bearer tokens and then reverse-proxy pluggable translation mechanisms to various authentication interfaces, you're welcome