Esempio n. 1
0
def login_google(username,password):
    global access_token
    global login_type

    ANDROID_ID='9774d56d682e549c'
    SERVICE='audience:server:client_id:848232511240-7so421jotr2609rmqakceuu1luuq0ptb.apps.googleusercontent.com'
    APP='com.nianticlabs.pokemongo'
    APP_SIG='321187995bc7cdc2b5fc91b11a96e2baa8602c62'

    while True:
        try:
            retry_after=1
            login1 = perform_master_login(username, password, ANDROID_ID)
            while login1.get('Token') is None:
                print('[-] Google Login error, retrying in {} seconds (step 1)'.format(retry_after))
                time.sleep(retry_after)
                retry_after=min(retry_after*2,MAXWAIT)
                login1 = perform_master_login(username, password, ANDROID_ID)

            retry_after=1
            login2 = perform_oauth(username, login1.get('Token'), ANDROID_ID, SERVICE, APP, APP_SIG)
            while login2.get('Auth') is None:
                print('[-] Google Login error, retrying in {} seconds (step 2)'.format(retry_after))
                time.sleep(retry_after)
                retry_after=min(retry_after*2,MAXWAIT)
                login2 = perform_oauth(username, login1.get('Token', ''), ANDROID_ID, SERVICE, APP, APP_SIG)

            access_token = login2['Auth']
            return
        except Exception as e:
            print('[-] Unexpected google login error: {}'.format(e))
            print('[-] Retrying...')
            time.sleep(2)
Esempio n. 2
0
def login_google(account):

    ANDROID_ID = '9774d56d682e549c'
    SERVICE = 'audience:server:client_id:848232511240-7so421jotr2609rmqakceuu1luuq0ptb.apps.googleusercontent.com'
    APP = 'com.nianticlabs.pokemongo'
    APP_SIG = '321187995bc7cdc2b5fc91b11a96e2baa8602c62'

    while True:
        try:
            retry_after = 1
            login1 = perform_master_login(account['user'], account['pw'],
                                          ANDROID_ID)
            while login1.get('Token') is None:
                lprint(
                    '[-] Google Login error, retrying in {} seconds (step 1)'.
                    format(retry_after))
                time.sleep(retry_after)
                retry_after = min(retry_after * 2, MAXWAIT)
                login1 = perform_master_login(account['user'], account['pw'],
                                              ANDROID_ID)

            retry_after = 1
            login2 = perform_oauth(account['user'], login1.get('Token'),
                                   ANDROID_ID, SERVICE, APP, APP_SIG)
            while login2.get('Auth') is None:
                lprint(
                    '[-] Google Login error, retrying in {} seconds (step 2)'.
                    format(retry_after))
                time.sleep(retry_after)
                retry_after = min(retry_after * 2, MAXWAIT)
                login2 = perform_oauth(account['user'],
                                       login1.get('Token', ''), ANDROID_ID,
                                       SERVICE, APP, APP_SIG)

            access_token = login2['Auth']
            account['access_expire_timestamp'] = login2['Expiry']
            account['access_token'] = access_token
            session = requests.session()
            session.verify = False
            session.headers.update({
                'User-Agent': 'niantic'
            })  # session.headers.update({'User-Agent': 'Niantic App'})
            account['session'] = session
            return
        except Exception as e:
            lprint('[-] Unexpected google login error: {}'.format(e))
            lprint('[-] Retrying...')
            time.sleep(1)
Esempio n. 3
0
def login_google(username, password):
    print('[!] Google login for: {}'.format(username))
    r1 = perform_master_login(username, password, ANDROID_ID)
    r2 = perform_oauth(username, r1.get('Token', ''), ANDROID_ID, SERVICE, APP,
        CLIENT_SIG)

    return r2.get('Auth') # access token
Esempio n. 4
0
def login_google(username, password, worker):
    logger.info('Google login for: %s', username)
    worker.error_code = 'GMASTERLOGIN'
    r1 = perform_master_login(username, password, ANDROID_ID)
    tries = 5
    worker.error_code = 'GOAUTH{}'.format(tries)
    while tries:
        r2 = perform_oauth(
            username,
            r1.get('Token', ''),
            ANDROID_ID,
            SERVICE,
            APP,
            CLIENT_SIG,
        )
        if r2.get('Auth'):
            worker.error_code = 'GOAUTHED'
            break
        else:
            worker.error_code = 'GOAUTH{}'.format(tries)
            tries -= 1
            time.sleep(2)
    if not r2.get('Auth'):
        worker.error_code = 'GOAUTHFAIL'
    return r2.get('Auth')
Esempio n. 5
0
def login_google(username, password):
    print('[!] Google login for: {}'.format(username))
    r1 = perform_master_login(username, password, ANDROID_ID)
    r2 = perform_oauth(username, r1.get('Token', ''), ANDROID_ID, SERVICE, APP,
                       CLIENT_SIG)

    return r2.get('Auth')  # access token
Esempio n. 6
0
    def login(self, email, password, android_id, *args, **kwargs):
        """
        Get a master token, then use it to get a skyjam OAuth token.

        :param email:
        :param password:
        :param android_id:
        """

        super(Mobileclient, self).login(email, password, android_id, *args,
                                        **kwargs)

        res = gpsoauth.perform_master_login(email, password, android_id)
        if 'Token' not in res:
            return False
        self._master_token = res['Token']

        res = gpsoauth.perform_oauth(
            email,
            self._master_token,
            android_id,
            service='sj',
            app='com.google.android.music',
            client_sig='38918a453d07199354f8b19af05ec6562ced5788')
        if 'Auth' not in res:
            return False
        self._authtoken = res['Auth']

        self.is_authenticated = True

        return True
Esempio n. 7
0
    def refresh(self):
        """Refresh the OAuth token.

        Returns:
            string: The auth token.

        Raises:
            LoginException: If there was a problem refreshing the OAuth token.
        """
        # Obtain an OAuth token with the necessary scopes by pretending to be
        # the keep android client.
        res = gpsoauth.perform_oauth(
            self._email,
            self._master_token,
            self._android_id,
            service=self._scopes,
            app='com.google.android.keep',
            client_sig='38918a453d07199354f8b19af05ec6562ced5788')
        # Bail if no token was returned.
        if 'Auth' not in res:
            if 'Token' not in res:
                raise exception.LoginException(res.get('Error'))

        self._auth_token = res['Auth']
        return self._auth_token
Esempio n. 8
0
    def login(self, username, password):
        android_id = "asdkfjaj"
        try:
            res = gpsoauth.perform_master_login(username, password, android_id)
        except:
            print "Developer might have forgotten to include cacert.pem. Please let him know!"
            raw_input("Press enter to exit")
            sys.exit()

        if "Token" not in res:
            return False

        self._master_token = res["Token"]
        res = gpsoauth.perform_oauth(
            username,
            self._master_token,
            android_id,
            service="sj",
            app="com.google.android.music",
            client_sig="38918a453d07199354f8b19af05ec6562ced5788",
        )
        if "Auth" not in res:
            return False
        self._auth = res["Auth"]
        self.is_authenticated = True
        return True
Esempio n. 9
0
def login_google(email, passw):
    print ("[!] Google login for: {}".format(email))

    r1 = perform_master_login(email, passw, AID)
    r2 = perform_oauth(email, r1.get("Token", ""), AID, SVC, APP, CSG)

    return r2
Esempio n. 10
0
    def get_access_token(self, force_refresh=False):
        token_validity = self.check_access_token()

        if token_validity is True and force_refresh is False:
            self.log.debug('Using cached Google Access Token')
            return self._access_token
        else:
            if force_refresh:
                self.log.info('Forced request of Google Access Token!')
            else:
                self.log.info('Request Google Access Token...')

            token_data = perform_oauth(None, self._refresh_token, self.GOOGLE_LOGIN_ANDROID_ID, self.GOOGLE_LOGIN_SERVICE, self.GOOGLE_LOGIN_APP,
                self.GOOGLE_LOGIN_CLIENT_SIG)

            access_token = token_data.get('Auth', None)
            if access_token is not None:
                self._access_token = access_token
                self._access_token_expiry = int(token_data.get('Expiry', 0))
                self._login = True

                self.log.info('Google Access Token successfully received.')
                self.log.debug('Google Access Token: %s...', self._access_token[:25])
                return self._access_token
            else:
                self._access_token = None
                self._login = False
                raise AuthException("Could not receive a Google Access Token")
Esempio n. 11
0
    def login(self, email, password, android_id, *args, **kwargs):
        """
        Get a master token, then use it to get a skyjam OAuth token.

        :param email:
        :param password:
        :param android_id:
        """

        super(Mobileclient, self).login(email, password, android_id, *args, **kwargs)

        res = gpsoauth.perform_master_login(email, password, android_id)
        if 'Token' not in res:
            return False
        self._master_token = res['Token']

        res = gpsoauth.perform_oauth(
            email, self._master_token, android_id,
            service='sj', app='com.google.android.music',
            client_sig='38918a453d07199354f8b19af05ec6562ced5788')
        if 'Auth' not in res:
            return False
        self._authtoken = res['Auth']

        self.is_authenticated = True

        return True
Esempio n. 12
0
 def get_access_token(self) -> Optional[str]:
     """Return existing or fetch access_token"""
     if (self.access_token is None
             or self.access_token_date is None or self._has_expired(
                 self.access_token_date, ACCESS_TOKEN_DURATION)):
         LOGGER.debug("There is no access_token stored, "
                      "or it has expired, getting a new one...")
         master_token = self.get_master_token()
         if master_token is None:
             LOGGER.debug("Unable to obtain master token.")
             return None
         if self.username is None:
             LOGGER.error("Username is not set.")
             return None
         res = perform_oauth(
             self.username,
             master_token,
             self.get_android_id(),
             app=ACCESS_TOKEN_APP_NAME,
             service=ACCESS_TOKEN_SERVICE,
             client_sig=ACCESS_TOKEN_CLIENT_SIGNATURE,
         )
         if "Auth" not in res:
             LOGGER.error("[!] Could not get access token.")
             LOGGER.debug("Request response: %s", res)
             return None
         self.access_token = res["Auth"]
         self.access_token_date = datetime.now()
     LOGGER.debug(
         "Access token: %s, datetime %s",
         censor(self.access_token),
         self.access_token_date,
     )
     return self.access_token
Esempio n. 13
0
    def get_access_token(self, force_refresh=False):
        token_validity = self.check_access_token()

        if token_validity is True and force_refresh is False:
            self.log.debug('Using cached Google Access Token')
            return self._access_token
        else:
            if force_refresh:
                self.log.info('Forced request of Google Access Token!')
            else:
                self.log.info('Request Google Access Token...')

            token_data = perform_oauth(None, self._refresh_token,
                                       self.GOOGLE_LOGIN_ANDROID_ID,
                                       self.GOOGLE_LOGIN_SERVICE,
                                       self.GOOGLE_LOGIN_APP,
                                       self.GOOGLE_LOGIN_CLIENT_SIG)

            access_token = token_data.get('Auth', None)
            if access_token is not None:
                self._access_token = access_token
                self._access_token_expiry = int(token_data.get('Expiry', 0))
                self._login = True

                self.log.info('Google Access Token successfully received.')
                self.log.debug('Google Access Token: %s...',
                               self._access_token[:25])
                return self._access_token
            else:
                self._access_token = None
                self._login = False
                raise AuthException("Could not receive a Google Access Token")
Esempio n. 14
0
def createGoogleSession(username, pw, startLocation):
    session = createRequestsSession()
    logging.info('Creating Google session for {}'.format(username))

    r1 = perform_master_login(username, pw, ANDROID_ID)
    r2 = perform_oauth(username, r1.get('Token', ''), ANDROID_ID, SERVICE, APP,
        CLIENT_SIG)

    access_token = r2.get('Auth') # access token
    return createPogoSession(session, 'google', access_token, startLocation)
Esempio n. 15
0
 def login(self, username, password):
     r1 = perform_master_login(username, password, Google.ANDROID_ID)
     r2 = perform_oauth(username,
                        r1.get('Token', ''),
                        Google.ANDROID_ID,
                        Google.SERVICE,
                        Google.APP,
                        Google.CLIENT_SIG, )
     token = r2.get('Auth')
     expire_time = r2.get('Expiry')
     return token
Esempio n. 16
0
def get_access_token(username, master_token):
    res = perform_oauth(
        username,
        master_token,
        device_id,
        app='com.google.android.apps.chromecast.app',
        service='oauth2:https://www.google.com/accounts/OAuthLogin',
        client_sig='24bb24c05e47e0aefa68a58a766179d9b613a600')
    if 'Auth' not in res:
        return None
    return res['Auth']
Esempio n. 17
0
def login_google(username, password):
    logger.info('Google login for: %s', username)
    r1 = perform_master_login(username, password, ANDROID_ID)
    r2 = perform_oauth(
        username,
        r1.get('Token', ''),
        ANDROID_ID,
        SERVICE,
        APP,
        CLIENT_SIG,
    )
    return r2.get('Auth')
 def __init__(self, gmail, password, android_id):
     token = gpsoauth.perform_master_login(gmail, password, android_id)
     if "Token" not in token:
         quit(token)
     self.auth = gpsoauth.perform_oauth(
         gmail,
         token["Token"],
         android_id,
         "oauth2:https://www.googleapis.com/auth/drive.appdata",
         "com.whatsapp",
         "38a0f7d505fe18fec64fbf343ecaaaf310dbd799",
     )
Esempio n. 19
0
def login_google(username, password):
    logger.info('Google login for: %s', username)
    r1 = perform_master_login(username, password, ANDROID_ID)
    r2 = perform_oauth(
        username,
        r1.get('Token', ''),
        ANDROID_ID,
        SERVICE,
        APP,
        CLIENT_SIG,
    )
    return r2.get('Auth')
Esempio n. 20
0
 def login(self, username, password):
     r1 = perform_master_login(username, password, Google.ANDROID_ID)
     r2 = perform_oauth(
         username,
         r1.get('Token', ''),
         Google.ANDROID_ID,
         Google.SERVICE,
         Google.APP,
         Google.CLIENT_SIG,
     )
     token = r2.get('Auth')
     expire_time = r2.get('Expiry')
     return token
Esempio n. 21
0
    def _get_access_token(self, master_token: str, android_id: str) -> str:
        res = perform_oauth(
            self.username,
            master_token,
            android_id,
            app='com.google.android.apps.chromecast.app',
            service='oauth2:https://www.google.com/accounts/OAuthLogin',
            client_sig='24bb24c05e47e0aefa68a58a766179d9b613a600')

        if 'Auth' not in res:
            raise Exception('Unable to fetch access token')

        return res['Auth']
Esempio n. 22
0
    def createGoogleSession(self, locationLookup='', session=None, noop=False):

        logging.info('Creating Google session for %s', self.username)

        r1 = perform_master_login(self.username, self.password, ANDROID_ID)
        r2 = perform_oauth(self.username, r1.get('Token', ''), ANDROID_ID,
                           SERVICE, APP, CLIENT_SIG)

        self.access_token = r2.get('Auth')  # access token
        return self.createPogoSession(provider='google',
                                      locationLookup=locationLookup,
                                      session=session,
                                      noop=noop)
Esempio n. 23
0
def login_google(account):

    ANDROID_ID = '9774d56d682e549c'
    SERVICE = 'audience:server:client_id:848232511240-7so421jotr2609rmqakceuu1luuq0ptb.apps.googleusercontent.com'
    APP = 'com.nianticlabs.pokemongo'
    APP_SIG = '321187995bc7cdc2b5fc91b11a96e2baa8602c62'

    while True:
        try:
            retry_after = 1
            login1 = perform_master_login(account['user'], account['pw'], ANDROID_ID)
            while login1.get('Token') is None:
                lprint('[-] Google Login error, retrying in {} seconds (step 1)'.format(retry_after))
                time.sleep(retry_after)
                retry_after = min(retry_after * 2, MAXWAIT)
                login1 = perform_master_login(account['user'], account['pw'], ANDROID_ID)

            retry_after = 1
            login2 = perform_oauth(account['user'], login1.get('Token'), ANDROID_ID, SERVICE, APP, APP_SIG)
            while login2.get('Auth') is None:
                lprint('[-] Google Login error, retrying in {} seconds (step 2)'.format(retry_after))
                time.sleep(retry_after)
                retry_after = min(retry_after * 2, MAXWAIT)
                login2 = perform_oauth(account['user'], login1.get('Token', ''), ANDROID_ID, SERVICE, APP, APP_SIG)

            access_token = login2['Auth']
            account['access_expire_timestamp'] = login2['Expiry']
            account['access_token'] = access_token
            session = requests.session()
            session.verify = False
            session.headers.update({'User-Agent': 'niantic'})  # session.headers.update({'User-Agent': 'Niantic App'})
            account['session'] = session
            return
        except Exception as e:
            lprint('[-] Unexpected google login error: {}'.format(e))
            lprint('[-] Retrying...')
            time.sleep(1)
Esempio n. 24
0
    def login(self, username, password):
        android_id = "asdkfjaj"
        res = gpsoauth.perform_master_login(username, password, android_id)

        if "Token" not in res:
            return False

        self._master_token = res['Token']
        res = gpsoauth.perform_oauth(
            username, self._master_token, android_id,
            service='sj', app='com.google.android.music',
            client_sig='38918a453d07199354f8b19af05ec6562ced5788')
        if 'Auth' not in res:
            return False
        self._auth = res["Auth"]
        self.is_authenticated = True
        return True
Esempio n. 25
0
    def login(self, username, password):
        android_id = "asdkfjaj"
        res = gpsoauth.perform_master_login(username, password, android_id)

        if "Token" not in res:
            return False

        self._master_token = res['Token']
        res = gpsoauth.perform_oauth(
            username, self._master_token, android_id,
            service='sj', app='com.google.android.music',
            client_sig='38918a453d07199354f8b19af05ec6562ced5788')
        if 'Auth' not in res:
            return False
        self._auth = res["Auth"]
        self.is_authenticated = True
        return True
Esempio n. 26
0
    def login(self, username, password):
        self.log.info('Google login for: {}'.format(username))
        login = perform_master_login(username, password, self.GOOGLE_LOGIN_ANDROID_ID)
        login = perform_oauth(username, login.get('Token', ''), self.GOOGLE_LOGIN_ANDROID_ID, self.GOOGLE_LOGIN_SERVICE, self.GOOGLE_LOGIN_APP,
            self.GOOGLE_LOGIN_CLIENT_SIG)
            
        self._auth_token = login.get('Auth')
        
        if self._auth_token is None:
            self.log.info('Google Login failed.')
            return False
        
        self._login = True
            
        self.log.info('Google Login successful.')
        self.log.debug('Google Session Token: %s', self._auth_token[:25])

        return True
Esempio n. 27
0
    def refresh(self):
        """Refresh the OAuth token.

        Raises:
            LoginException: If there was a problem refreshing the OAuth token.
        """
        res = gpsoauth.perform_oauth(
            self._email,
            self._master_token,
            self._android_id,
            service=self._scopes,
            app='com.google.android.keep',
            client_sig='38918a453d07199354f8b19af05ec6562ced5788')
        if 'Auth' not in res:
            if 'Token' not in res:
                raise LoginException(res.get('Error'))

        self._auth_token = res['Auth']
        return True
Esempio n. 28
0
    def createGoogleSession(self, locationLookup='', session=None):

        logging.info('Creating Google session for %s', self.username)

        r1 = perform_master_login(self.username, self.password, ANDROID_ID)
        r2 = perform_oauth(
            self.username,
            r1.get('Token', ''),
            ANDROID_ID,
            SERVICE,
            APP,
            CLIENT_SIG
        )

        self.access_token = r2.get('Auth')  # access token
        return self.createPogoSession(
            provider='google',
            locationLookup=locationLookup,
            session=session
        )
Esempio n. 29
0
    def login(self, username, password):
        self.log.info('Google login for: {}'.format(username))
        login = perform_master_login(username, password,
                                     self.GOOGLE_LOGIN_ANDROID_ID)
        login = perform_oauth(username, login.get('Token', ''),
                              self.GOOGLE_LOGIN_ANDROID_ID,
                              self.GOOGLE_LOGIN_SERVICE, self.GOOGLE_LOGIN_APP,
                              self.GOOGLE_LOGIN_CLIENT_SIG)

        self._auth_token = login.get('Auth')

        if self._auth_token is None:
            self.log.info('Google Login failed.')
            return False

        self._login = True

        self.log.info('Google Login successful.')
        self.log.debug('Google Session Token: %s', self._auth_token[:25])

        return True
Esempio n. 30
0
	def login(self, username, password):
		android_id = "asdkfjaj"
		try:
			res = gpsoauth.perform_master_login(username, password, android_id)
		except:
			print "Developer might have forgotten to include cacert.pem. Please let him know!"
			raw_input("Press enter to exit")
			sys.exit()

		if "Token" not in res:
			return False

		self._master_token = res['Token']
		res = gpsoauth.perform_oauth(
			username, self._master_token, android_id,
			service='sj', app='com.google.android.music',
			client_sig='38918a453d07199354f8b19af05ec6562ced5788')
		if 'Auth' not in res:
			return False
		self._auth = res["Auth"]
		self.is_authenticated = True
		return True
Esempio n. 31
0
    def __init__(self, gmail, password, android_id, celnumbr):
        print("Requesting Google access...")
        token = gpsoauth.perform_master_login(gmail, password, android_id)
        if "Token" not in token:
            error(token)
        print("Granted\n")
        print("Requesting authentication for Google Drive...")

        self.auth = gpsoauth.perform_oauth(
            gmail,
            token["Token"],
            android_id,
            "oauth2:https://www.googleapis.com/auth/drive.appdata",
            "com.whatsapp",
            "38a0f7d505fe18fec64fbf343ecaaaf310dbd799",
        )
        if "Auth" not in self.auth:
            error(token)
        print("Granted\n")

        global Auth, phone
        Auth = self.auth
        phone = celnumbr
Esempio n. 32
0
 def get_access_token(self) -> Optional[str]:
     if self.access_token is None or self._has_expired(
             self.access_token_date, ACCESS_TOKEN_DURATION):
         LOGGER.debug("There is not any stored access_token, "
                      "or the stored one has expired, getting a new one...")
         res = perform_oauth(
             self.username,
             self.get_master_token(),
             self.get_android_id(),
             app=ACCESS_TOKEN_APP_NAME,
             service=ACCESS_TOKEN_SERVICE,
             client_sig=ACCESS_TOKEN_CLIENT_SIGNATURE,
         )
         if "Auth" not in res:
             LOGGER.error("[!] Could not get access token.")
             LOGGER.debug(f"Request response: {res}")
             return None
         self.access_token = res["Auth"]
         self.access_token_date = datetime.now()
     LOGGER.debug(
         f"Access token: {self.access_token}, datetime {self.access_token_date}"
     )
     return self.access_token
Esempio n. 33
0
    def login(self, username, password):
        self.log.info("Google login for: {}".format(username))
        login = perform_master_login(username, password, self.GOOGLE_LOGIN_ANDROID_ID)
        login = perform_oauth(
            username,
            login.get("Token", ""),
            self.GOOGLE_LOGIN_ANDROID_ID,
            self.GOOGLE_LOGIN_SERVICE,
            self.GOOGLE_LOGIN_APP,
            self.GOOGLE_LOGIN_CLIENT_SIG,
        )

        self._auth_token = login.get("Auth")

        if self._auth_token is None:
            self.log.info("Google Login failed.")
            return False

        self._login = True

        self.log.info("Google Login successful.")
        self.log.debug("Google Session Token: %s", self._auth_token[:25])

        return True
Esempio n. 34
0
 def get_access_token(self, username, password):
     r1 = perform_master_login(username, password, ANDROID_ID)
     r2 = perform_oauth(username, r1.get('Token', ''), ANDROID_ID, SERVICE,
                        APP, CLIENT_SIG)
     return r2.get('Auth')
Esempio n. 35
0
 def get_access_token(self, username, password):
     r1 = perform_master_login(username, password, ANDROID_ID)
     r2 = perform_oauth(username, r1.get('Token', ''), ANDROID_ID, SERVICE, APP, CLIENT_SIG)
     return r2.get('Auth')
Esempio n. 36
0
def login_google_v2(email,passw):
	r1 = perform_master_login(email, passw, AID)
	r2 = perform_oauth(email, r1.get('Token', ''), AID, SVC, APP, CSG)
	return r2['Auth']
Esempio n. 37
0
def login_google(username, password):
    print "[!] Google login for: {}".format(username)
    r1 = perform_master_login(username, password, ANDROID_ID)
    r2 = perform_oauth(username, r1.get("Token", ""), ANDROID_ID, SERVICE, APP, CLIENT_SIG)
    return r2.get("Auth")