Time-based One-Time Password — the most common method. The app and server share a secret and the current time. Every 30 seconds both generate the same 6-digit number using HMAC-SHA1.
Most convenient but least secure: vulnerable to SIM-swapping and SS7 attacks. For critical systems, TOTP or hardware keys are preferred.