Snažím sa používať mydlovú službu, ktorá vyžadujeautentifikácia, ktorá mu odovzdá tvrdenie SAML, z nejakého dôvodu to robím ručne (prosím, nezačnite navrhovať „použiť túto alebo tú knižnicu“), musím aspoň teoreticky pochopiť, čo sa musí urobiť.
Doteraz som to robil:
- požiadať emitenta o tvrdenie SAML a odovzdať mu používateľské meno a heslo (všetko funguje, dostanem tvrdenie SAML)
- pripravil správu s obsahom, ktorá sa odošle pomocou klienta http, a správa je správna a funguje bez autentifikácie.
- Vložím do mydlovej správy presný prijatý text tvrdenia a správa, ktorú pošlem na WS, je asi taká:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
<saml:Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" AssertionID="..../ds:Signature></Assertion>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>....
ale výsledkom je chyba v odpovedi:
wsse: InvalidSecurity, chýba wsse: Hlavička zabezpečenia v žiadosti
Prečo sa to deje? je nesprávne priamo opätovne použiť prijatú „<saml: Assertion“? Mám to nejako spracovať a znova podpísať?
odpovede:
0 pre odpoveď č. 1Chýbal odkaz na menný priestor!
v bezpečnostnom bloku text chýbal
xmlns:xenc="http://www.w3.org/TR/xmlenc-core1/"
umožniť použitie pri presadzovaní xenc blokov