docs: @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);
          }
      }