docs: def authenticate(self):
          """
          Authenticate to the Salesforce API with the provided credentials (password).
          """
          settings_dict = self.settings_dict
          url = ''.join([settings_dict['HOST'], '/services/oauth2/token'])
  
          log.info("attempting authentication to %s", settings_dict['HOST'])
          self._session.mount(settings_dict['HOST'], HTTPAdapter(max_retries=get_max_retries()))
          auth_params = {
              'grant_type':    'password',
              'client_id':     settings_dict['CONSUMER_KEY'],
              'client_secret': settings_dict['CONSUMER_SECRET'],
              'username':      settings_dict['USER'],
              'password':      settings_dict['PASSWORD'],
          }
          response = self._session.post(url, data=auth_params)
          if response.status_code == 200:
              # prefer str in Python 2 due to other API
              response_data = {str(k): str(v) for k, v in response.json().items()}
              # Verify signature (not important for this auth mechanism)
              calc_signature = (
                  base64.b64encode(
                      hmac.new(
                          key=settings_dict['CONSUMER_SECRET'].encode('ascii'),
                          msg=(response_data['id'] + response_data['issued_at']).encode('ascii'),
                          digestmod=hashlib.sha256
                      ).digest()
                  )
              ).decode('ascii')
              if calc_signature == response_data['signature']:
                  log.info("successfully authenticated %s", settings_dict['USER'])
              else:
                  raise IntegrityError('Invalid auth signature received')
          else:
              raise LookupError("oauth failed: %s: %s" % (settings_dict['USER'], response.text))
          return response_data