@SuppressWarnings({"rawtypes", "unchecked"})
  public <C extends Credentials, U extends CommonProfile> Auth client(final String pattern,
      final Class<? extends Client<C, U>> client) {
    bindings.put(pattern, (binder, config) -> {

      Multibinder.newSetBinder(binder, Client.class)
          .addBinding().to(client);

      Class profileType = ClientType.typeOf(client);

      bindProfile(binder, profileType);

      return new AuthFilter(client, profileType);

    });
    return this;
  }
@SuppressWarnings({"rawtypes", "unchecked"})
  public <C extends Credentials, U extends CommonProfile> Auth client(final String pattern,
      final Class<? extends Client<C, U>> client) {
    bindings.put(pattern, (binder, config) -> {

      Multibinder.newSetBinder(binder, Client.class)
          .addBinding().to(client);

      Class profileType = ClientType.typeOf(client);

      bindProfile(binder, profileType);

      return new AuthFilter(client, profileType);

    });
    return this;
  }
@ SuppressWarnings ( { "rawtypes" , "unchecked" } ) public < C extends Credentials , U extends CommonProfile > Auth client ( final String pattern , final Class < ? extends Client < C , U > > client ) { bindings . put ( pattern , ( binder , config ) -> { Multibinder . newSetBinder ( binder , Client . class ) . addBinding ( ) . to ( client ) ; Class profileType = ClientType . typeOf ( client ) ; bindProfile ( binder , profileType ) ; return new AuthFilter ( client , profileType ) ; } ) ; return this ; }
Add an auth client, like facebook, twitter, github, etc...Please note the require dependency
must be in the classpath.

@param pattern URL pattern to protect.
@param client Client to add.
@param <C> Credentials.
@param <U> CommonProfile.
@return This module.
Add an auth client like facebook twitter github etc ... Please note the require dependency must be in the classpath .