Search in sources :

Example 6 with CustomAttributeProvider

use of org.apache.cxf.sts.common.CustomAttributeProvider in project cxf by apache.

the class SAMLProviderCustomTest method testCustomSaml1AttributeAssertion.

/**
 * Create a custom Saml1 Attribute Assertion.
 */
@org.junit.Test
public void testCustomSaml1AttributeAssertion() throws Exception {
    TokenProvider samlTokenProvider = new SAMLTokenProvider();
    TokenProviderParameters providerParameters = createProviderParameters(WSS4JConstants.WSS_SAML_TOKEN_TYPE, STSConstants.BEARER_KEY_KEYTYPE);
    List<AttributeStatementProvider> customProviderList = new ArrayList<>();
    customProviderList.add(new CustomAttributeProvider());
    ((SAMLTokenProvider) samlTokenProvider).setAttributeStatementProviders(customProviderList);
    assertTrue(samlTokenProvider.canHandleToken(WSS4JConstants.WSS_SAML_TOKEN_TYPE));
    TokenProviderResponse providerResponse = samlTokenProvider.createToken(providerParameters);
    assertTrue(providerResponse != null);
    assertTrue(providerResponse.getToken() != null && providerResponse.getTokenId() != null);
    Element token = (Element) providerResponse.getToken();
    String tokenString = DOM2Writer.nodeToString(token);
    assertTrue(tokenString.contains(providerResponse.getTokenId()));
    assertTrue(tokenString.contains("AttributeStatement"));
    assertFalse(tokenString.contains("AuthenticationStatement"));
    assertTrue(tokenString.contains("alice"));
    assertTrue(tokenString.contains("http://cxf.apache.org/sts/custom"));
}
Also used : Element(org.w3c.dom.Element) ArrayList(java.util.ArrayList) CustomAttributeProvider(org.apache.cxf.sts.common.CustomAttributeProvider)

Example 7 with CustomAttributeProvider

use of org.apache.cxf.sts.common.CustomAttributeProvider in project cxf by apache.

the class SAMLProviderCustomTest method testCustomSaml2CombinedAssertion.

/**
 * Create a custom Saml2 Authentication and Attribute Assertion.
 */
@org.junit.Test
public void testCustomSaml2CombinedAssertion() throws Exception {
    TokenProvider samlTokenProvider = new SAMLTokenProvider();
    TokenProviderParameters providerParameters = createProviderParameters(WSS4JConstants.WSS_SAML2_TOKEN_TYPE, STSConstants.BEARER_KEY_KEYTYPE);
    List<AuthenticationStatementProvider> customProviderList = new ArrayList<>();
    customProviderList.add(new CustomAuthenticationProvider());
    ((SAMLTokenProvider) samlTokenProvider).setAuthenticationStatementProviders(customProviderList);
    List<AttributeStatementProvider> customAttributeProviderList = new ArrayList<>();
    customAttributeProviderList.add(new CustomAttributeProvider());
    ((SAMLTokenProvider) samlTokenProvider).setAttributeStatementProviders(customAttributeProviderList);
    assertTrue(samlTokenProvider.canHandleToken(WSS4JConstants.WSS_SAML2_TOKEN_TYPE));
    TokenProviderResponse providerResponse = samlTokenProvider.createToken(providerParameters);
    assertTrue(providerResponse != null);
    assertTrue(providerResponse.getToken() != null && providerResponse.getTokenId() != null);
    Element token = (Element) providerResponse.getToken();
    String tokenString = DOM2Writer.nodeToString(token);
    assertTrue(tokenString.contains(providerResponse.getTokenId()));
    assertTrue(tokenString.contains("AttributeStatement"));
    assertTrue(tokenString.contains("AuthnStatement"));
    assertTrue(tokenString.contains("alice"));
}
Also used : Element(org.w3c.dom.Element) ArrayList(java.util.ArrayList) CustomAttributeProvider(org.apache.cxf.sts.common.CustomAttributeProvider)

Aggregations

ArrayList (java.util.ArrayList)7 CustomAttributeProvider (org.apache.cxf.sts.common.CustomAttributeProvider)7 Element (org.w3c.dom.Element)6 JAXBElement (javax.xml.bind.JAXBElement)3 AttributedString (org.apache.cxf.ws.security.sts.provider.model.secext.AttributedString)3 UsernameTokenType (org.apache.cxf.ws.security.sts.provider.model.secext.UsernameTokenType)3 CustomTokenPrincipal (org.apache.wss4j.common.principal.CustomTokenPrincipal)3 ClaimsAttributeStatementProvider (org.apache.cxf.sts.claims.ClaimsAttributeStatementProvider)2 AttributeStatementProvider (org.apache.cxf.sts.token.provider.AttributeStatementProvider)2 SAMLTokenProvider (org.apache.cxf.sts.token.provider.SAMLTokenProvider)2 TokenProvider (org.apache.cxf.sts.token.provider.TokenProvider)2 Principal (java.security.Principal)1 WrappedMessageContext (org.apache.cxf.jaxws.context.WrappedMessageContext)1 MessageImpl (org.apache.cxf.message.MessageImpl)1 SecurityContext (org.apache.cxf.security.SecurityContext)1 STSPropertiesMBean (org.apache.cxf.sts.STSPropertiesMBean)1 StaticSTSProperties (org.apache.cxf.sts.StaticSTSProperties)1 ClaimsHandler (org.apache.cxf.sts.claims.ClaimsHandler)1 ClaimsManager (org.apache.cxf.sts.claims.ClaimsManager)1 CustomClaimsHandler (org.apache.cxf.sts.common.CustomClaimsHandler)1