code: def authenticate(self, session: Session, listener):
          
          auth_plugins = None
          auth_config = self.config.get('auth', None)
          if auth_config:
              auth_plugins = auth_config.get('plugins', None)
          returns = yield from self.plugins_manager.map_plugin_coro(
              "authenticate",
              session=session,
              filter_plugins=auth_plugins)
          auth_result = True
          if returns:
              for plugin in returns:
                  res = returns[plugin]
                  if res is False:
                      auth_result = False
                      self.logger.debug("Authentication failed due to '%s' plugin result: %s" % (plugin.name, res))
                  else:
                      self.logger.debug("'%s' plugin result: %s" % (plugin.name, res))
          # If all plugins returned True, authentication is success
          return auth_result
docs: This method call the authenticate method on registered plugins to test user authentication.
          User is considered authenticated if all plugins called returns True.
          Plugins authenticate() method are supposed to return :
           - True if user is authentication succeed
           - False if user authentication fails
           - None if authentication can't be achieved (then plugin result is then ignored)
          :param session:
          :param listener:
          :return: