Before I jump to the meat, we need to discuss a bit what is required for 3rd party authentication to twitter, github, and linkedin. These social based sites all have developer APIs, which I think is an awesome open idea. For the most part, I will be using their API for OAuth authentication, eliminating the need for me to focus on user registration.
Github's interface for creating apps was a bit hard to find, look at their documents or search google for github api.
Linkedin has a developer network and so does twitter. Both are easy to use.
For each API, I had to create an "application" on their platform. I receive a consumer ID and secret key. These are used to tell them who I am when requesting a bridge for authentication.
gists to come