Page History
...
- Seal2SamlStsClient er omdøbt til Sosi2SamlStsClient.
- SosiGwCardClient er fjernet, da Sosi2SamlStsClient opfylder samme rolle.
Metoderne 'ExchangeAssertion' og 'ExchangeAssertionViaGW' i Sosi2SamlStsClient er slået sammen til én static metode der hedder 'ExchangeAssertion':
I det gamle Seal.NET bliver denne kode:Code Block language c# using (var stsClient = new Seal2SamlStsClient("Seal2EncSamlViaGW")) using (new OperationContextScope((IContextChannel)stsClient.Channel.Channel)) { OperationContext.Current.OutgoingMessageHeaders.Add(new IdCardMessageHeader(IdCard)); var oioToken = stsClient.ExchangeAssertionViaGW("http://sosi.dk") as GenericXmlSecurityToken; }Til
Code Block language c# var oioToken = Sosi2SamlStsClient.ExchangeAssertion(clientCertificate, uri, Action.DccSosiIboIssue, "<audience>", idCard).XAssertion;
Hvor Action før, lidt forvirrende, blev bestemt af hvilken behavior der blev brugt, sættes den nu direkte. Den findes også i en udgave der ikke tager et clientCertificateAfhængig af app.config i den gamle løsning, kan det være at en anden udgave af ExchangeAssertion skal bruges, f.eks. en der tager WsAddressing i stedet for Action. Der findes flere overloads af ExchangeAssertion der dækker forskellige scenarier.
Metoderne er slået sammen fordi de alle udførte det samme, men gjorde det på forskellig vis:
'ExchangeAssertion' tog en assertion direkte i parameterlisten, mens 'ExchangeAssertionViaGW' ikke tog den direkte i parameterlisten,
men i stedet blev assertion sat ind i 'OperationContext.Current.OutgoingMessageHeaders' inden 'ExchangeAssertionViaGW' blev kaldt - det er dette scenarie der er vist her, i den gamle Seal.NET kode.
...