def METHOD_NAME(self, context, internal_response):
    """
    Manage account linking and recovery
    :type context: satosa.context.Context
    :type internal_response: satosa.internal.InternalData
    :rtype: satosa.response.Response
    :param context:
    :param internal_response:
    :return: response
    :
    """
    status_code, message = self._get_uuid(context, internal_response.auth_info.issuer, internal_response.subject_id)
    data = {
        "issuer": internal_response.auth_info.issuer,
        "redirect_endpoint": "%s/account_linking%s" % (self.base_url, self.endpoint)
    }
    # Store the issuer subject_id/sub because we'll need it in handle_al_response
    internal_response.attributes['issuer_user_id'] = internal_response.subject_id
    if status_code == 200:
        msg = "issuer/id pair is linked in AL service"
        logline = lu.LOG_FMT.format(id=lu.get_session_id(context.state), message=msg)
        logger.info(logline)
        internal_response.subject_id = message
        data['user_id'] = message
        if self.id_to_attr:
            internal_response.attributes[self.id_to_attr] = [message]
    else:
        msg = "issuer/id pair is not linked in AL service. Got a ticket"
        logline = lu.LOG_FMT.format(id=lu.get_session_id(context.state), message=msg)
        logger.info(logline)
        data['ticket'] = message
    jws = JWS(json.dumps(data), alg=self.signing_key.alg).sign_compact([self.signing_key])
    context.state[self.name] = internal_response.to_dict()
    return Redirect("%s/%s" % (self.redirect_url, jws))