Do you mean that there was a "saml2p:Status" element in the security header
before the Assertion? If so then this is not valid, only the SAML Assertion
should be there.

Colm.

On Thu, Jan 25, 2018 at 8:47 AM, Tóth Csaba <[email protected]> wrote:

> Hello!
>
> I dig deeper in the code:
> The problem with the SAML was:
> In the securty element contains not only the SAML, its contains before
> the SAML an
> <saml2:Issuer> and an <saml2p:Status> element
> (in his case The same is not processed)
>
> If I delete it, its go thru the SAML validator
>
> Csaba
>
> On 2018.01.24. 19:25, Tóth Csaba wrote:
> > Hello!
> > Thanx. I changed the namespace, but not helped.
> >
> > The DefaultSubjectProvider cant retrieve the subject from this SAML:
> >
> > <saml2:Assertion ID="..." IssueInstant="..." Version="2.0"
> > xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
> >
> >     <saml2:Subject>
> >         <saml2:NameID
> > Format="urn:oasis:names:tc:SAML:2.0:nameid-format:
> persistent">[name]</saml2:NameID>
> >         <saml2:SubjectConfirmation
> > Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
> >             <saml2:SubjectConfirmationData
> > InResponseTo="_9c7644ce0fb93649cd2ca77bb9b5e6db22f68b52a9"
> > NotOnOrAfter="2018-01-24T18:06:33.305Z"/>
> >         </saml2:SubjectConfirmation>
> >     </saml2:Subject>
> >
> > </saml2:Assertion>
> >
> > But I get an error, because the subject is null
> > (At this point I cant change the SAML in the request)
> >
> > Thanx
> >
> > Csaba
> >
> > On 2018.01.24. 10:55, Colm O hEigeartaigh wrote:
> >> The problem I think is that "http://schemas.xmlsoap.org/
> ws/2003/06/secext"
> >> is not a standard WS-Security namespace, and hence CXF is not processing
> >> the message header at all. The correct WS-Security namespace for the
> >> security header is instead "
> >> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
> wssecurity-secext-1.0.xsd
> >> ".
> >>
> >> You could take a look at the CXF transformation feature to transform the
> >> namespace into the correct version (no idea if this will work or not):
> >>
> >> http://cxf.apache.org/docs/transformationfeature.html
> >>
> >> Colm.
> >>
> >>
> >> On Tue, Jan 23, 2018 at 6:19 PM, Tóth Csaba <[email protected]> wrote:
> >>
> >>> Hello!
> >>> Its in the header:
> >>> ------------
> >>> <soapenv:Envelope
> >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> >>> xmlns:ns="http://docs.oasis-open.org/ws-sx/ws-trust/200512";
> >>> xmlns:a="http://www.w3.org/2005/08/addressing";>
> >>>    <soapenv:Header>
> >>>   <wsse:Security xmlns:wsse="http://schemas.
> xmlsoap.org/ws/2003/06/secext"
> >>>     <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
> >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> >>> ID="pfxccb2f4f7-ca9c-3b5e-89b1-1d3c777400bc" Version="2.0"
> >>> IssueInstant="2014-07-17T01:01:48Z">
> >>>
> >>>   [assertion]
> >>>
> >>>   </saml:Assertion>
> >>>
> >>>   </wsse:Security>
> >>>   </soapenv:Header>
> >>>  <soapenv:Body>
> >>>       <ns:RequestSecurityToken >
> >>>
> >>> <ns:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue
> >>> </ns:RequestType>
> >>>
> >>> <ns:TokenType>http://docs.oasis-open.org/wss/oasis-wss-
> >>> saml-token-profile-1.1#SAMLV2.0</ns:TokenType>
> >>>   <ns7:AppliesTo xmlns:ns7="http://www.w3.org/ns/ws-policy";>  [url]
> >>> </ns7:AppliesTo>
> >>>   <!--
> >>>    <ns:Claims Dialect="http://bag.admin.ch/epr/2017/annex/5/addendum/2
> ">
> >>>
> >>> [claims need to process too ]
> >>>
> >>>  </ns:Claims>
> >>> -->
> >>>  </ns:RequestSecurityToken>
> >>>  </soapenv:Body>
> >>> </soapenv:Envelope>
> >>> ---------------------
> >>>
> >>> Its look like easy task for the first look:
> >>> get a SAML in the header, full of attributes, and a request with other
> >>> attributes.
> >>> Validate some attributes, and all header attributes + claims attributes
> >>> put the new SAML token.
> >>>
> >>> but, about a week long, I google, read source code, google again, and
> >>> try to config the thing.
> >>> no good tutorial, no good documentation, no good description :(
> >>>
> >>> Csaba
> >>>
> >>>
> >>>
> >>> On 2018.01.23. 18:08, Colm O hEigeartaigh wrote:
> >>>> What does the request look like, e.g. where is the SAML token in the
> >>>> request? Is it referred to directly in the SOAP Body?
> >>>>
> >>>> Colm.
> >>>>
> >>>> On Tue, Jan 23, 2018 at 4:37 PM, Tóth Csaba <[email protected]> wrote:
> >>>>
> >>>>> Hello!
> >>>>>
> >>>>> I'd like to parse the incomming SAML token to get the fields (user,
> etc)
> >>>>> and give it to the issuer.
> >>>>> I found, that is done in the
> >>>>> org.apache.cxf.sts.operation.TokenIssueOperation class but
> >>>>> stsProperties.getSamlRealmCodec() is always null in my code (how
> can i
> >>>>> set it, need to create a new one?)
> >>>>> but after in the fetchSAMLAssertionFromWSSecuritySAMLToken()
> function
> >>>>> List<WSSecurityEngineResult> engineResults =
> handlerResult.getResults();
> >>>>> line give back an empty list.
> >>>>>
> >>>>> In the request there is an SAML token.
> >>>>>
> >>>>> I try to find some solution, but every example is working with the
> >>>>> usernametoken, and/or dont provide a valid cxf config xml.
> >>>>>
> >>>>> Thanx
> >>>>> Csaba
> >>>>>
> >>>>>
> >
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to