Как получить доступ к зашифрованным утверждениям после перехода на Spring-security-saml2-service-provider 6.4JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к зашифрованным утверждениям после перехода на Spring-security-saml2-service-provider 6.4

Сообщение Anonymous »

Справочная информация
В приложении, где Spring-security-saml2-service-provider был обновлен с 6.3.x до 6.4.1 , у меня изменилось поведение, когда я пытаюсь получить доступ к списку зашифрованных утверждений в классе валидатора.
Я настраиваю валидатор ответа в своей конфигурации, как задумал Spring, :

Код: Выделить всё

var authProvider = new OpenSaml4AuthenticationProvider();
authProvider.setResponseValidator(responseValidator);
Получив ответ SAML с одним зашифрованным утверждением в указанном ответе Validator, я смогу сделать что-то вроде этого:
< pre class="lang-java Prettyprint-override">

Код: Выделить всё

class SamlResponseValidator implements Converter {

@Override
public Saml2ResponseValidatorResult convert(ResponseToken responseToken) {
// Without any other overrides, the below gives you the Spring-decrypted assertion:
var assertions = responseToken.getResponse().getAssertions();

// In 6.3, the below would _also_ contain the still-encrypted assertions while
// in 6.4, you'll always just get an empty list, it seems:
var encryptedAssertions = responseToken.getResponse().getEncryptedAssertions();

// (...)
}
}
Я вижу, что это изменение происходит из того, что сейчас называется OpenSaml4Template.OpenSaml4DecryptionConfigurer.decryptResponse(Ответ ответа), который будет делать это:

Код: Выделить всё

// ...

int count = 0; // 

Раньше response.getEncryptedAssertions().removeAll(encrypteds) не существовало.
Вопросы 
[list]
[*]Это намеренное изменение поведения? Выглядит странно.
[*]Каков предполагаемый способ доступа к зашифрованному утверждению в валидаторе?
[/list]
Подробнее< /h3>
Я знаю, что возможное решение — выполнить responseToken.getToken().getSaml2Response() и снова проанализировать его.
Я также теперь просто переопределите используемый дешифратор, но это будет много значить копирования и вставки кода, который я на самом деле не хочу настраивать (и есть место для дополнительных ошибок и необходимости дополнительных тестов). 

Подробнее здесь: [url]https://stackoverflow.com/questions/79271274/how-to-access-encrypted-assertions-after-migrating-to-spring-security-saml2-serv[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»