@Override
  public Properties getCredentials(final Properties securityProperties,
      final DistributedMember server, final boolean isPeer) throws AuthenticationFailedException {
    final Properties securityPropertiesCopy =
        super.getCredentials(securityProperties, server, isPeer);
    final String extraProps = securityProperties.getProperty(EXTRA_PROPS);

    if (extraProps != null) {
      for (final Object o : securityProperties.keySet()) {
        final String key = (String) o;
        if (key.startsWith(SECURITY_PREFIX) && key.equalsIgnoreCase(USER_NAME) == false
            && key.equalsIgnoreCase(PASSWORD) == false
            && key.equalsIgnoreCase(EXTRA_PROPS) == false) {
          securityPropertiesCopy.setProperty(key, securityProperties.getProperty(key));
        }
      }
      securityLogWriter
          .fine("got everything and now have: " + securityPropertiesCopy.keySet());
    }

    return securityPropertiesCopy;
  }
An {@link AuthInitialize} implementation that obtains the user name and password as the
credentials from the given set of properties. If keep-extra-props property exits, it will copy
rest of the properties provided in getCredential props argument will also be copied as new
credentials.

@since GemFire 5.5
geode-dunit/src/main/java/org/apache/geode/security/generator/UserPasswordWithExtraPropsAuthInit.java