User contains the information common amongst most OAuth and OAuth2 providers.
All of the "raw" datafrom the provider can be found in the
Params is used to pass data to sessions for authorization. An existing
implementation, and the one most likely to be used, is
Provider needs to be implemented for each 3rd party authentication provider e.g. Facebook, Twitter, etc...
Session needs to be implemented as part of the provider package. It will be marshaled and persisted between requests to "tie" the start and the end of the authorization process with a 3rd party provider.