Hmm.. I already have following content in my cxf-transport.xml file. Please
see attached full version that I have.

 <bean id="transportSamlTokenProvider"
class="org.apache.cxf.sts.token.provider.SAMLTokenProvider">
  <property name="attributeStatementProviders"
ref="attributeStatementProvidersList" />
  <property name="conditionsProvider" ref="conditionsProvider" />
 </bean>
 <util:list id="attributeStatementProvidersList">
  <ref bean="claimsAttributeProvider" />
 </util:list>
 <bean id="claimsAttributeProvider"
  class="org.apache.cxf.sts.claims.ClaimsAttributeStatementProvider" />



On Thu, Jun 28, 2012 at 6:30 PM, Oliver Wulff <[email protected]> wrote:

> Hi Gina
>
> Please ensure to configure the ClaimsAttributeStatementProvider as
> illustrated in this example:
>
>        <bean id="transportSamlTokenProvider"
> class="org.apache.cxf.sts.token.provider.SAMLTokenProvider">
>                <property name="attributeStatementProviders"
> ref="attributeStatementProvidersList" />
>        </bean>
>        <util:list id="attributeStatementProvidersList">
>                <ref bean="claimAttributeProvider" />
>        </util:list>
>        <bean id="claimAttributeProvider"
>
>  class="org.apache.cxf.sts.claims.ClaimsAttributeStatementProvider">
>        </bean>
>
> I have to add this to the wiki.
>
> Thanks
>
>
>
> ------
>
> Oliver Wulff
>
> Blog: http://owulff.blogspot.com
> Solution Architect
> http://coders.talend.com
>
> Talend Application Integration Division http://www.talend.com
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
	xmlns:cxf="http://cxf.apache.org/core"; xmlns:jaxws="http://cxf.apache.org/jaxws";
	xmlns:test="http://apache.org/hello_world_soap_http"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
	xmlns:util="http://www.springframework.org/schema/util"; xmlns:http="http://cxf.apache.org/transports/http/configuration";
	xmlns:sec="http://cxf.apache.org/configuration/security";
	xsi:schemaLocation="
        http://cxf.apache.org/core
        http://cxf.apache.org/schemas/core.xsd
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
        http://cxf.apache.org/jaxws                                     
        http://cxf.apache.org/schemas/jaxws.xsd
        http://www.springframework.org/schema/util
        http://www.springframework.org/schema/util/spring-util-2.0.xsd
        http://cxf.apache.org/transports/http/configuration
        http://cxf.apache.org/schemas/configuration/http-conf.xsd
        http://cxf.apache.org/configuration/security
        http://cxf.apache.org/schemas/configuration/security.xsd";>

	<import resource="classpath:META-INF/cxf/cxf.xml" />

	<cxf:bus>
		<cxf:features>
			<cxf:logging />
		</cxf:features>
	</cxf:bus>

	<bean id="transportSTSProviderBean"
		class="org.apache.cxf.ws.security.sts.provider.SecurityTokenServiceProvider">
		<property name="issueOperation" ref="transportIssueDelegate" />
		<property name="validateOperation" ref="transportValidateDelegate" />
	</bean>

	<bean id="transportIssueDelegate" class="org.apache.cxf.sts.operation.TokenIssueOperation">
		<property name="tokenProviders" ref="transportTokenProviders" />
		<property name="tokenValidators" ref="transportTokenValidators" />
		<property name="services" ref="transportService" />
		<property name="stsProperties" ref="transportSTSProperties" />
		<property name="claimsManager" ref="claimsManager" />
	</bean>

	<bean id="transportValidateDelegate" class="org.apache.cxf.sts.operation.TokenValidateOperation">
		<property name="tokenValidators" ref="transportTokenValidators" />
		<property name="stsProperties" ref="transportSTSProperties" />
	</bean>

	<util:list id="transportTokenProviders">
		<ref bean="transportSamlTokenProvider" />
	</util:list>

	<util:list id="transportTokenValidators">
		<ref bean="transportSamlTokenValidator" />
	</util:list>

	<bean id="transportSamlTokenProvider" class="org.apache.cxf.sts.token.provider.SAMLTokenProvider">
		<property name="attributeStatementProviders" ref="attributeStatementProvidersList" />
		<property name="conditionsProvider" ref="conditionsProvider" />
	</bean>

	<bean id="conditionsProvider"
		class="org.apache.cxf.sts.token.provider.DefaultConditionsProvider">
		<property name="lifetime" value="1200" />
	</bean>

	<bean id="transportSamlTokenValidator" class="org.apache.cxf.sts.token.validator.SAMLTokenValidator" />


	<bean id="transportX509TokenValidator" class="org.apache.cxf.sts.token.validator.X509TokenValidator" />


	<!--bean id="transportUsernameTokenValidator"
		class="org.apache.cxf.sts.token.validator.UsernameTokenValidator" /-->


	<util:list id="attributeStatementProvidersList">
		<ref bean="claimsAttributeProvider" />
	</util:list>

	<bean id="claimsAttributeProvider"
		class="org.apache.cxf.sts.claims.ClaimsAttributeStatementProvider" />
	<!-- Commented out for OpenLDAP Configuration -->
	<!--import resource="userClaims.xml" /-->

	<bean id="claimsManager" class="org.apache.cxf.sts.claims.ClaimsManager">
		<property name="claimHandlers" ref="claimHandlerList" />
	</bean>
	<!-- Commented out for OpenLDAP Configuration -->
	<!--util:list id="claimHandlerList">
		<ref bean="fileClaimsHandler" />
	</util:list-->
	<!-- Commented out for OpenLDAP Configuration -->
	<!--bean id="fileClaimsHandler" class="org.apache.cxf.fediz.service.sts.FileClaimsHandler">

		<property name="userClaims" ref="userClaims" />
	</bean-->

	<import resource="passwords.xml" />

	<bean id="upCallBackHandler"
		class="org.apache.cxf.fediz.service.sts.UsernamePasswordCallbackHandler">
		<property name="passwords" ref="passwords" />
	</bean>


	<bean id="transportService" class="org.apache.cxf.sts.service.StaticService">
		<property name="endpoints" ref="transportEndpoints" />
	</bean>

	<util:list id="transportEndpoints">
		<value>.*</value>
		<value>https://localhost:(\d)*/doubleit/services/doubleittransport.*</value>
	</util:list>

	<bean id="transportSTSProperties" class="org.apache.cxf.sts.StaticSTSProperties">
		<property name="signaturePropertiesFile" value="stsKeystore.properties" />
		<property name="signatureUsername" value="mystskey" />
		<property name="callbackHandlerClass"
			value="org.apache.cxf.fediz.service.sts.PasswordCallbackHandler" />
		<property name="encryptionPropertiesFile" value="stsKeystore.properties" />
		<property name="issuer" value="DoubleItSTSIssuer" />
		<property name="encryptionUsername" value="myservicekey" />
	</bean>
    <!-- Added for OpenLdap configuration -->
	<bean id="jaasUTValidator" class="org.apache.ws.security.validate.JAASUsernameTokenValidator">
		<property name="contextName" value="myldap"/>
	</bean>
	<!-- End of OpenLdap configuration -->
	
	<!--jaxws:endpoint id="transportSTS1" implementor="#transportSTSProviderBean"
		address="/STSService" wsdlLocation="/WEB-INF/wsdl/ws-trust-1.4-service.wsdl"
		xmlns:ns1="http://docs.oasis-open.org/ws-sx/ws-trust/200512/";
		serviceName="ns1:SecurityTokenService" endpointName="ns1:TransportUT_Port">
		<jaxws:properties>
			<entry key="ws-security.callback-handler" value-ref="upCallBackHandler" />
		</jaxws:properties>
	</jaxws:endpoint-->
	
	<jaxws:endpoint id="transportSTS2" implementor="#transportSTSProviderBean"
		address="/STSServiceTransport" wsdlLocation="/WEB-INF/wsdl/ws-trust-1.4-service.wsdl"
		xmlns:ns1="http://docs.oasis-open.org/ws-sx/ws-trust/200512/";
		serviceName="ns1:SecurityTokenService" endpointName="ns1:Transport_Port">
		<jaxws:properties>
		</jaxws:properties>
	</jaxws:endpoint>
	
	<!-- This is added for OpenLdap -->
	<jaxws:endpoint id="transportSTSUT"
					endpointName="ns1:TransportUT_Port"
					serviceName="ns1:SecurityTokenService"
					xmlns:ns1="http://docs.oasis-open.org/ws-sx/ws-trust/200512/";
					wsdlLocation="/WEB-INF/wsdl/ws-trust-1.4-service.wsdl"
					address="/STSService"
					implementor="#transportSTSProviderBean">
		<jaxws:properties>
			<entry key="ws-security.ut.validator"
				value-ref="jaasUTValidator"/>
		</jaxws:properties>
	</jaxws:endpoint>	
	
	
	<util:list id="claimHandlerList">
		<ref bean="ldapClaimsHandler" />
	</util:list>
	<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
		<property name="url" value="ldap://wkqasvtest.global.test.corp:3899"; />
		<property name="userDn" value="cn=Manager,dc=maxcrc,dc=com" />
		<property name="password" value="secret" />
	</bean>
	<bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
		<constructor-arg ref="contextSource" />
	</bean>
	<util:map id="claimsToLdapAttributeMapping">
		<entry key="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"; value="givenName" />
		<entry key="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"; value="sn" />
		<entry key="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"; value="mail" />
		<entry key="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"; value="title" />
	</util:map>
	<bean id="ldapClaimsHandler" class="org.apache.cxf.sts.claims.LdapClaimsHandler">
		<property name="ldapTemplate" ref="ldapTemplate" />
		<property name="claimsLdapAttributeMapping" ref="claimsToLdapAttributeMapping" />
		<property name="userBaseDN" value="ou=People,dc=maxcrc,dc=com" />
	</bean>	
	<!-- End of OpenLDAP Configuration  -->
</beans>

Reply via email to