code: @SuppressWarnings("WeakerAccess")
      public AuthenticationRequest login(@NonNull String usernameOrEmail, @NonNull String password, @NonNull String realmOrConnection) {
  
          ParameterBuilder builder = ParameterBuilder.newBuilder()
                  .set(USERNAME_KEY, usernameOrEmail)
                  .set(PASSWORD_KEY, password);
  
          if (auth0.isOIDCConformant()) {
              final Map<String, Object> parameters = builder
                      .setGrantType(GRANT_TYPE_PASSWORD_REALM)
                      .setRealm(realmOrConnection)
                      .asDictionary();
              return loginWithToken(parameters);
          } else {
              final Map<String, Object> parameters = builder
                      .setGrantType(GRANT_TYPE_PASSWORD)
                      .setScope(SCOPE_OPENID)
                      .setConnection(realmOrConnection)
                      .asDictionary();
              return loginWithResourceOwner(parameters);
          }
      }
docs: Log in a user with email/username and password for a connection/realm.
  In OIDC conformant mode ({@link Auth0#isOIDCConformant()}) it will use the password-realm grant type for the {@code /oauth/token} endpoint
  otherwise it will use {@code /oauth/ro}, which requires your Application to have the <b>Resource Owner</b> Legacy Grant Type enabled. See <a href="https://auth0.com/docs/clients/client-grant-types">Client Grant Types</a> to learn how to enable it.
  Example:
  <pre>
  {@code
  client
  .login("{username or email}", "{password}", "{database connection name}")
  .start(new BaseCallback<Credentials>() {
  {@literal}Override
  public void onSuccess(Credentials payload) { }
  
  {@literal}Override
  public void onFailure(AuthenticationException error) { }
  });
  }
  </pre>
  
  @param usernameOrEmail   of the user depending of the type of DB connection
  @param password          of the user
  @param realmOrConnection realm to use in the authorize flow or the name of the database to authenticate with.
  @return a request to configure and start that will yield {@link Credentials}