summaryrefslogtreecommitdiffstats
path: root/remoting/tools/gettoken.py
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/tools/gettoken.py')
-rwxr-xr-xremoting/tools/gettoken.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/remoting/tools/gettoken.py b/remoting/tools/gettoken.py
index 853d09b..31db75b 100755
--- a/remoting/tools/gettoken.py
+++ b/remoting/tools/gettoken.py
@@ -7,9 +7,12 @@
# gettoken.py can be used to get auth token from Gaia. It asks username and
# password and then prints token on the screen.
-import urllib
import getpass
+import os
+import urllib
+
url = "https://www.google.com:443/accounts/ClientLogin"
+auth_filename = '.chromotingAuthToken'
print "Email:",
email = raw_input()
@@ -20,4 +23,28 @@ params = urllib.urlencode({'Email': email, 'Passwd': passwd,
'source': 'chromoting', 'service': 'chromiumsync',
'PersistentCookie': 'true', 'accountType': 'GOOGLE'})
f = urllib.urlopen(url, params);
-print f.read()
+
+auth_found = False
+for line in f:
+ if line.startswith('Auth='):
+ auth_string = line[5:]
+
+ # Set permission mask for created file.
+ os.umask(0066)
+ auth_file = open(auth_filename, 'w')
+ auth_file.write(email)
+ auth_file.write('\n')
+ auth_file.write(auth_string)
+ auth_file.close()
+
+ print
+ print 'Auth token:'
+ print
+ print auth_string
+ print '...saved in', auth_filename
+ auth_found = True
+
+if not auth_found:
+ print 'ERROR - Unable to find Auth token in output:'
+ for line in f:
+ print line,