run method
Implementation
Future<void> run() async {
final valid = vector.valid;
final proof = await verifier.verify(valid);
if ((proof.signedResponseId != valid.responseId &&
proof.signedAssertionId != valid.assertionId) ||
(proof.signedResponseId != null &&
proof.signedResponseId != valid.responseId) ||
(proof.signedAssertionId != null &&
proof.signedAssertionId != valid.assertionId)) {
throw const AuthSamlVerifierConformanceFailure(
'valid.exact-reference-binding',
'Verifier did not bind the expected consumed element.',
);
}
for (final entry in vector.hostile.entries) {
try {
await verifier.verify(entry.value);
} catch (_) {
continue;
}
throw AuthSamlVerifierConformanceFailure(
'hostile.${entry.key}',
'Verifier accepted a hostile XMLDSig vector.',
);
}
}