I use Google Authenticator and have never had any problems. The codes are generated every 30 seconds and you dont need to use internet or cellular connectivity to receive the code. This is key as i've found that often using text messages for authentication is hit or miss. I would often not receive the codes.