'Requests from the SP is about the SPProvidedID attribute.
So this is about adding,replacing and removing said attribute.
:param name_id: NameID instance
:param new_id: NewID instance
:param new_encrypted_id: NewEncryptedID instance
:param terminate: Terminate instance
:return: The modified name_id'

def handle_manage_name_id_request(self, name_id, new_id=None, new_encrypted_id='', terminate=''):

    _id = self.find_local_id(name_id)
    orig_name_id = copy.copy(name_id)
    if new_id:
        name_id.sp_provided_id = new_id.text
    elif new_encrypted_id:
        pass
    elif terminate:
        name_id.sp_provided_id = None
    else:
        return name_id
    self.remove_remote(orig_name_id)
    self.store(_id, name_id)
    return name_id
