See super class method satosa.backends.base.BackendModule#start_auth
        :type context: satosa.context.Context
        :type internal_req: satosa.internal.InternalData
        :rtype: satosa.response.Response

def start_auth(self, context, internal_req):
        """
        See super class method satosa.backends.base.BackendModule#start_auth
        :type context: satosa.context.Context
        :type internal_req: satosa.internal.InternalData
        :rtype: satosa.response.Response
        """

        target_entity_id = context.get_decoration(Context.KEY_TARGET_ENTITYID)
        if target_entity_id:
            entity_id = target_entity_id
            return self.authn_request(context, entity_id)

        # if there is only one IdP in the metadata, bypass the discovery service
        idps = self.sp.metadata.identity_providers()
        if len(idps) == 1 and "mdq" not in self.config["sp_config"]["metadata"]:
            entity_id = idps[0]
            return self.authn_request(context, entity_id)

        return self.disco_query()