code: async def on_raw_authenticate(self, message):
          
          # Cancel timeout timer.
          if self._sasl_timer:
              self._sasl_timer.cancel()
              self._sasl_timer = None
  
          # Add response data.
          response = ' '.join(message.params)
          if response != EMPTY_MESSAGE:
              self._sasl_challenge += base64.b64decode(response)
  
          # If the response ain't exactly SASL_RESPONSE_LIMIT bytes long, it's the end. Process.
          if len(response) % RESPONSE_LIMIT > 0:
              await self._sasl_respond()
          else:
              # Response not done yet. Restart timer.
              self._sasl_timer = self.eventloop.call_later(self.SASL_TIMEOUT, self._sasl_abort(timeout=True))
docs: Received part of the authentication challenge.