Integrators are tricky. There time continuous transfer function is
$$H(\omega) = \frac{1}{j\omega} \tag{1}$$
which unfortunately means that $H(0) \rightarrow \infty$ and that an integrator is not BIBO stable.
The impulse response of an integrator is the unit step $u(t)$.
Translating this to discrete time is difficult. It follows directly from the definition of the Discrete Fourier Transform (DFT) that both time and frequency domain signals are periodic. You need to make both frequency and time windows large enough to cover "almost all" of the impulse response and transfer function. That's easy enough in the frequency domain but impossible for a unit step, so you can't sample it without a large amount of time domain aliasing.
The most common way to implement an integrator is simply
$$y[n] = x[n]+y[n-1] \tag{2}$$
That system is marginally stable, i.e. it has a pole at $z = 1$ and infinite gain at DC, so typically it's used in conjunction with a DC blocker. That's an approximation but it's "good enough" for many applications.
Another option is to design a 1rst order lowpass filter with a cutoff frequency that's lower than your lowest frequency of interest. Above the cutoff, this behaves similar to an integrator, i.e. a slope of $-6dB$ per octave and a phase of -90 degrees.
double integrate signals in the time domain using Fast Fourier Transformation (FFT).
IMO that's a really bad idea. Frequency domain filtering is complicated and the filter can't easily be sampled without major error. You can try to sample it in the frequency domain, but it's going to look ugly in the time domain and you may also have to look into Overlap add/save methods for longer signals. These require zero padding, which is also ill defined for this type of impulse response.