modules/jooby-pac4j/src/main/java/org/jooby/pac4j/Auth.java
@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.