Я думаю, что вы хотите отправить wantAssertionSigned = true только для нескольких запросов, а не для всех.
Посмотрите на реализацию класса MetadataGenerator. Никогда не пробовал, но я полагаю, вам нужно было бы добавить собственный класс, расширяющий MetadataGenerator, и включить в него вашу условную логику, чтобы установить true / false для атрибута wantAssertionSigned, а также генерировать / загружать метаданные SP при каждом вызове и динамически, чтобы выполняйте условие каждый раз.