2-factor authentication and time
I use Google Authenticator for 2-factor authentication for some of the services I access. I had trouble accessing some of my sites due to getting an invalid token, and I was wondering what was going on.
Turns out, the time on my phone was off. You need to let the network set the time, and you will suddenly be generating sensible codes again. This is documented for Android (you can do this within the app), but on iOS it is a system-wide setting.