OAuth (Open Authorization) is an open standard for authorization. It allows users to share information stored on one site with another site without having to hand out their usernames nor passwords.
This allow users from OAuth supported web sites (Facebook, Google, Yahoo, Twitter, etc) to login other web sites without having to register again.
See for example bbpctv.com, its sign up page diplays a “Login quicker” option with Facebook, Google, and Yahoo.
If you have a facebook, google, or yahoo account, then you don’t need to register to bbpctv.com. For example, if you have a Facebook account, just click in the button login with Facebook, and a login facebook page will popup:
After you login another page will ask you, if you accept to share your email information with www.bbpctv.com.
After you agree to share your email, you will be login to www.bbpctv.com using your email registered in facebook. That’s it. Next time you want to login to ww.bbpctv.com, there will not be popup windows.
The OAuth suppose to be a generic standard with the same implementation across different web sites. Even though, there are some differences in the implementation of OAuth.
The following is the links of the official documentation for the implementation of OAuth in your web site.
Facebook Developer Information: http://developers.facebook.com/docs/authentication/
Google Developer Information: http://code.google.com/apis/accounts/docs/OAuth2.html
Yahoo Developer Information: http://developer.yahoo.com/oauth/guide/
Twitter also supports OAuth. Event though, twitter does not allow to share the email as Facebook, Google or Yahoo do. The email is the unique identifier that can be used to record the user. Because of that, this web site only allow Facebook, Google, and Yahoo users to login and Twitter is not included here. When Twitter decides to allow users to share their Twitter registration email, then Twitter will be included in OAuth capable web sites to login bbpctv.com.