def authenticate(self):
        """
        Handles authentication, and persists the X-APPLE-WEB-KB cookie so that
        subsequent logins will not cause additional e-mails from Apple.
        """

        logger.info("Authenticating as %s", self.user['apple_id'])

        data = dict(self.user)

        # We authenticate every time, so "remember me" is not needed
        data.update({'extended_login': False})

        try:
            req = self.session.post(
                self._base_login_url,
                params=self.params,
                data=json.dumps(data)
            )
        except PyiCloudAPIResponseError as error:
            msg = 'Invalid email/password combination.'
            raise PyiCloudFailedLoginException(msg, error)

        resp = req.json()
        self.params.update({'dsid': resp['dsInfo']['dsid']})

        if not os.path.exists(self._cookie_directory):
            os.mkdir(self._cookie_directory)
        self.session.cookies.save()
        logger.debug("Cookies saved to %s", self._get_cookiejar_path())

        self.data = resp
        self.webservices = self.data['webservices']

        logger.info("Authentication completed successfully")
        logger.debug(self.params)
def authenticate ( self ) : logger . info ( "Authenticating as %s" , self . user [ 'apple_id' ] ) data = dict ( self . user ) data . update ( { 'extended_login' : False } ) try : req = self . session . post ( self . _base_login_url , params = self . params , data = json . dumps ( data ) ) except PyiCloudAPIResponseError as error : msg = 'Invalid email/password combination.' raise PyiCloudFailedLoginException ( msg , error ) resp = req . json ( ) self . params . update ( { 'dsid' : resp [ 'dsInfo' ] [ 'dsid' ] } ) if not os . path . exists ( self . _cookie_directory ) : os . mkdir ( self . _cookie_directory ) self . session . cookies . save ( ) logger . debug ( "Cookies saved to %s" , self . _get_cookiejar_path ( ) ) self . data = resp self . webservices = self . data [ 'webservices' ] logger . info ( "Authentication completed successfully" ) logger . debug ( self . params )
Handles authentication, and persists the X-APPLE-WEB-KB cookie so that
        subsequent logins will not cause additional e-mails from Apple.