AssertionInfoMap aim
) {
List<WSSecurityEngineResult> signedResults =
WSSecurityUtil.fetchAllActionResults(rResult.getResults(), WSConstants.SIGN);
IssuedTokenPolicyValidator issuedValidator =
new IssuedTokenPolicyValidator(signedResults, message);
Collection<AssertionInfo> issuedAis =
NegotiationUtils.getAllAssertionsByLocalname(aim, SPConstants.ISSUED_TOKEN);
for (SamlAssertionWrapper assertionWrapper : findSamlTokenResults(rResult.getResults())) {
boolean valid = issuedValidator.validatePolicy(issuedAis, assertionWrapper);
if (valid) {
SecurityToken token = createSecurityToken(assertionWrapper);
WSS4JUtils.getTokenStore(message).add(token);
message.getExchange().remove(SecurityConstants.TOKEN);
message.getExchange().put(SecurityConstants.TOKEN_ID, token.getId());
return;
}
}
for (BinarySecurity binarySecurityToken : findBinarySecurityTokenResults(rResult.getResults())) {
boolean valid = issuedValidator.validatePolicy(issuedAis, binarySecurityToken);
if (valid) {
SecurityToken token = createSecurityToken(binarySecurityToken);
WSS4JUtils.getTokenStore(message).add(token);
message.getExchange().remove(SecurityConstants.TOKEN);
message.getExchange().put(SecurityConstants.TOKEN_ID, token.getId());