Client Authentication
Description
Allows shindig developers to inject a new OAuth 2.0 Client Authentication handler into the flow to add authentication headers/etc. to all requests to the authorization and token enpoints for a provider. The framework will look for all registered ClientAuthenticationHandlers where the ClientAuthenticationHandler.geClientAuthenticationType() equals the OAuth2Accessor.getClientAuthenticationType() for the BasicOAuth2Request.
Specification References
   http://tools.ietf.org/html/draft-ietf-oauth-v2-21#section-2.3
   http://tools.ietf.org/html/draft-ietf-oauth-v2-21#section-2.3.1
Key Classes/Intefraces
     org.apache.shindig.gadgets.oauth2.handler.ClientAuthenticationHandler
Provided Sample Implementations
   org.apache.shindig.gadgets.oauth2.handler.sample.BasicAuthenticationHandler Â
   org.apache.shindig.gadgets.oauth2.handler.sample.StandardAuthenticationHandler Â
Module
   org.apache.shindig.gadgets.oauth2.handler.sample.OAuth2HandlerModule
@Provides  @Singleton  List<ClientAuthenticationHandler> provideClientAuthenticationHandlers(      final BasicAuthenticationHandler basicAuthenticationHandler,      final StandardAuthenticationHandler standardAuthenticationHandler) {    return ImmutableList.of((ClientAuthenticationHandler) basicAuthenticationHandler,        (StandardAuthenticationHandler) standardAuthenticationHandler);  }
Injected Into
   org.apache.shindig.gadgets.oauth2.BasicOAuth2Request
TODO : Should this be a list? Like
"client_authentication" : "Basic, MyAuthExtension"