docs: def authenticate():
      """
      Authenticate the user and store the 'token' for further use
      Return the authentication 'token'
      """
  
      print LOGIN_INIT_MESSAGE
  
      username = raw_input('{0}: '.format(LOGIN_USER_MESSAGE))
      password = None
  
      while password is None:
          password = getpass('Password for {0}: '.format(username))
  
      gh = login(username, password=password)
      try:
          gh.user()
          instance = authorize(username, password, APP_SCOPE, APP_DESC, APP_URL)
      except Exception, e:
          raise e
  
      with open(credentials_file, 'w') as f:
          f.write(instance.token)
  
      return instance.token