Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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
    languagec#
    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
    languagec#
    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.

...