Home | History | Annotate | Download | only in tools
      1 #!/usr/bin/env python
      2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 """Get auth token from Gaia.
      7 
      8 It asks username and password and then prints token on the screen.
      9 """
     10 
     11 import getpass
     12 import os
     13 import urllib
     14 
     15 import gaia_auth
     16 
     17 
     18 def main():
     19   basepath = os.path.expanduser('~')
     20   chromoting_auth_filepath = os.path.join(basepath, '.chromotingAuthToken')
     21   chromoting_dir_auth_filepath = os.path.join(
     22       basepath, '.chromotingDirectoryAuthToken')
     23 
     24   print "Email:",
     25   email = raw_input()
     26 
     27   passwd = getpass.getpass("Password: ")
     28 
     29   chromoting_authenticator = gaia_auth.GaiaAuthenticator('chromiumsync');
     30   chromoting_auth_token = chromoting_authenticator.authenticate(email, passwd)
     31 
     32   chromoting_dir_authenticator = gaia_auth.GaiaAuthenticator('chromoting');
     33   chromoting_dir_auth_token = chromoting_dir_authenticator.authenticate(
     34       email, passwd)
     35 
     36   # Set permission mask for created files.
     37   os.umask(0066)
     38 
     39   chromoting_auth_file = open(chromoting_auth_filepath, 'w')
     40   chromoting_auth_file.write(email)
     41   chromoting_auth_file.write('\n')
     42   chromoting_auth_file.write(chromoting_auth_token)
     43   chromoting_auth_file.close()
     44 
     45   print
     46   print 'Chromoting (sync) Auth Token:'
     47   print
     48   print chromoting_auth_token
     49   print '...saved in', chromoting_auth_filepath
     50 
     51   chromoting_dir_auth_file = open(chromoting_dir_auth_filepath, 'w')
     52   chromoting_dir_auth_file.write(email)
     53   chromoting_dir_auth_file.write('\n')
     54   chromoting_dir_auth_file.write(chromoting_dir_auth_token)
     55   chromoting_dir_auth_file.close()
     56 
     57   print
     58   print 'Chromoting Directory Auth Token:'
     59   print
     60   print chromoting_dir_auth_token
     61   print '...saved in', chromoting_dir_auth_filepath
     62   return 0
     63 
     64 
     65 if __name__ == '__main__':
     66   sys.exit(main())
     67