|
|
|
@ -54,6 +54,7 @@ import org.opensaml.saml.saml2.core.EncryptedID; |
|
|
|
import org.opensaml.saml.saml2.core.Issuer; |
|
|
|
import org.opensaml.saml.saml2.core.Issuer; |
|
|
|
import org.opensaml.saml.saml2.core.NameID; |
|
|
|
import org.opensaml.saml.saml2.core.NameID; |
|
|
|
import org.opensaml.saml.saml2.core.OneTimeUse; |
|
|
|
import org.opensaml.saml.saml2.core.OneTimeUse; |
|
|
|
|
|
|
|
import org.opensaml.saml.saml2.core.ProxyRestriction; |
|
|
|
import org.opensaml.saml.saml2.core.Response; |
|
|
|
import org.opensaml.saml.saml2.core.Response; |
|
|
|
import org.opensaml.saml.saml2.core.Status; |
|
|
|
import org.opensaml.saml.saml2.core.Status; |
|
|
|
import org.opensaml.saml.saml2.core.StatusCode; |
|
|
|
import org.opensaml.saml.saml2.core.StatusCode; |
|
|
|
@ -63,6 +64,7 @@ import org.opensaml.saml.saml2.core.impl.AttributeBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.EncryptedAssertionBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.EncryptedAssertionBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.EncryptedIDBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.EncryptedIDBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.NameIDBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.NameIDBuilder; |
|
|
|
|
|
|
|
import org.opensaml.saml.saml2.core.impl.ProxyRestrictionBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.StatusBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.StatusBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.StatusCodeBuilder; |
|
|
|
import org.opensaml.saml.saml2.core.impl.StatusCodeBuilder; |
|
|
|
import org.opensaml.xmlsec.encryption.impl.EncryptedDataBuilder; |
|
|
|
import org.opensaml.xmlsec.encryption.impl.EncryptedDataBuilder; |
|
|
|
@ -832,6 +834,19 @@ public class OpenSaml4AuthenticationProviderTests { |
|
|
|
.withMessageContaining("did not match any valid issuers"); |
|
|
|
.withMessageContaining("did not match any valid issuers"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gh-14931
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void authenticateWhenAssertionHasProxyRestrictionThenParses() { |
|
|
|
|
|
|
|
OpenSaml4AuthenticationProvider provider = new OpenSaml4AuthenticationProvider(); |
|
|
|
|
|
|
|
Response response = response(); |
|
|
|
|
|
|
|
Assertion assertion = assertion(); |
|
|
|
|
|
|
|
ProxyRestriction condition = new ProxyRestrictionBuilder().buildObject(); |
|
|
|
|
|
|
|
assertion.getConditions().getConditions().add(condition); |
|
|
|
|
|
|
|
response.getAssertions().add(assertion); |
|
|
|
|
|
|
|
Saml2AuthenticationToken token = token(signed(response), verifying(registration())); |
|
|
|
|
|
|
|
provider.authenticate(token); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private <T extends XMLObject> T build(QName qName) { |
|
|
|
private <T extends XMLObject> T build(QName qName) { |
|
|
|
return (T) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(qName).buildObject(qName); |
|
|
|
return (T) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(qName).buildObject(qName); |
|
|
|
} |
|
|
|
} |
|
|
|
|