I turn on the 2-step verification for my Gmails because I’m a good netizen. I make an application specific password just like I’m supposed to, and it is accepted.
All good with internets.
However, every time I sit down at my computer, it asks for a password, and I have to revoke and recreate an application specific password for it to accept.
Well, evidently the problem occurs if you have your gmail (or Google Apps email address) logging in to more than just Jabber/Chat. For instance, if you’re also syncing Calendar or Contacts, Google is sensing that each of these are different applications, and getting angry that they’re all using the same password.
However, the solution is easy.
For this example, we’ll say that we’re using a Gmail account for Contacts syncing and for Gtalk within Messages.app.
I create TWO different accounts in System Preferences > Internet Accounts. Then create a application specific password for each, and it works. However, there’s a catch.
Mac OS Internet Accounts only allows an email account to be used once, so it gets angry when you try and add it for two purposes. This would normally be a problem, but with any Google account, the placement of dots (periods) in the email address are ignored. So, to Google: firstname.lastname@example.org is the same as email@example.com or firstname.lastname@example.org. But Mac OS considers them unique. Problem solved.
So for Gtalk, create an Internet Account, choose Google, add in your email@example.com username and an application specific password.
Then, do the same thing but in this account, only sync Contacts, use firstname.lastname@example.org (no periods) and a new application specific password, and BANG! it all works.