pygooglevoice
pygooglevoice copied to clipboard
Possible to make pygooglevoice use oAuth authentication?
I only ask this because I see where some FreePBX users have got oAuth working with Google Voice (http://www.dslreports.com/forum/r30983990-Asterisk-OAuth-2-0-Support-for-Asterisk-13-or-Asterisk-14) and it seems to me that using oAuth with pygooglevoice might have some advantages, including
- no more times where it suddenly stops working because Google changes the authentication method
- no more Google security alerts in your email every single time pygooglevoice logs in
- no more need to leave access to less secure apps turned on in your Google account
I'm not a programmer and I don't know Python at all, so I have no idea if this would be something relatively easy to implement, or a very difficult or impossible thing to do. But if it's easy, it might be worth the effort, particularly if you find all the damn yelping from Google with their security alert emails as annoying as I do.
- FreePBX uses
OAUTH2
protocol to log into "google talk" with the asterisk motif channel driver which uses the XMPP google jingle protocol to communicate with "google talk" servers to make/receive two way audio phone calls. - This
pygogglevoice
logs into the gvoice web app as if it were a regular user by usinghttps
protocol, and since it's acting as if it were a regular user, the gvoice web app expects the real username and password for your g account in order to login successfully. - You can experiment with the
oauth2 playground
if you really want to explore every possibility to hope to find a way to login withoauth2
. You might find the rightapp
in there somewhere, it's a huge list of g apps. If you do find avoice
orchat
orjingle
ortalk
app in there which works to login overoauth2
protocol, then it might possibly work for login inpygooglevoice
, but it's an unlikely long shot. The pygv app would need to try to login using google jabber protocol to the google talk server withouath2
, then take the oauth2 login session ID it got from the gtalk jabber service on port 5422, and attempt login using that session ID, on the gvoice serverhttps
web port 443, this is super unlikely to work.
Update: It looks like login with App Password just might be possible. https://github.com/EspaceNetworks/pygooglevoice/issues/8
App Password isn't at all helpful if you have to enable 2FA to get one.