The basic idea was simple: use the launcher to authenticate a player/device and temporarily allow their current IP to connect to the game servers. If the IP changes, the launcher re-authenticates and updates the allowlist.
UPD: Yeah, I admit it — this turned into a classic Ctrl+C Ctrl+V from ai ...