@Override
    protected void sendMessage(Connection connection) throws Exception {
      if (securityProperties == null) {
        securityProperties = getConnectedSystem().getSecurityProperties();
      }
      byte[] credentialBytes = getCredentialBytes(connection, securityProperties);
      getMessage().addBytesPart(credentialBytes);

      try (HeapDataOutputStream hdos = new HeapDataOutputStream(16, KnownVersion.CURRENT)) {
        hdos.writeLong(connection.getConnectionID());
        long userId = getUserId(connection);
        secureLogger.debug("AuthenticateUserOp with uniqueId {}", userId);
        hdos.writeLong(userId);
        getMessage().setSecurePart(((ConnectionImpl) connection).encryptBytes(hdos.toByteArray()));
      }
      getMessage().send(false);
    }
Sends the auth credentials to the server for a particular user. Used in multiple user mode of
authentication.

@param location The ServerLocation instance whose connection instance will be used to perform
       the operation.
@param pool The connection pool to use for this operation.
@return Object unique user-id.
geode-core/src/main/java/org/apache/geode/cache/client/internal/AuthenticateUserOp.java