Versions Compared

Key

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

...

Code Block
languagec#
var callingSystem = new CallingSystem(
    systemName: "Seal.Net.Fmk.Demo",
    careProviderId: "30808460",
    careProviderName: "TRIFORK SERVICES A/S",
    careProviderIdFormat:
    dk.nsi.seal.dgwstypes.SubjectIdentifierType.medcomcvrnumber,
    certificate: new X509Certificate2("Resources/certificates/Statens_Serum_Institut_FOCES.p12", "Test1234"));
var user = new User(
    cpr: "1802602810",
    givenName: "Stine",
    surName: "Svendsen",
    email: "stineSvendsen@example.com",
    role: "læge",
    authCode: "ZXCVB",
    occupation: "Overlæge",
    certificate:
    new X509Certificate2("Resources/certificates/MOCES_cpr_gyldig.p12", "Test1234"));
ICredentialVault userVault = <Create vault>;

// This nemidAssertion is expected to have been generated at an earlier login.
var nemidAssertion =
    NemIdAssertionBuilder.MakeNemIdAssertion(user.Certificate, system.Certificate, system, user);
var assertion = new OioSamlAssertion(nemidAssertion);
var domBuilder = OIOSAMLFactory.CreateOiosamlAssertionToIdCardRequestDomBuilder();
domBuilder.SigningVault = userVault;
domBuilder.OioSamlAssertion = assertion;
domBuilder.ItSystemName = system.SystemName;
domBuilder.UserAuthorizationCode = user.AuthCode;
domBuilder.UserEducationCode = null;
domBuilder.UserGivenName = user.GivenName;
domBuilder.UserSurName = user.SurName;
var requestDoc = domBuilder.Build();

var request = OIOSAMLFactory.CreateOioSamlAssertionToIdCardRequestModelBuilder().Build(requestDoc);
var idCard = SealUtilities.SignIn(request, "http://test2.ekstern-test.nspop.dk:8080/sts/services/OIOSaml2Sosi");

var client = new MedicineCardPortTypeClient(<FMK configuration>);
using (new OperationContextScope(client.InnerChannel))
{
    var response = client.GetMedicineCard_2015_06_01Async(
            Security: SecurityHeaderUtil.MakeSecurityUsingDgwsTypes(idCard),
            Header: MakeHeader(),
            WhitelistingHeader: MakeWhitelistingHeader(),
            GetMedicineCardRequest: new GetMedicineCardRequestType
            {
                PersonIdentifier = new PersonIdentifierType
                {
                    source = "CPR",
                    Value = "2603558084"
                }
            }
        );
}
    

 //Her kanTrinene manved se brugen af OioSamlFactory til at udveksle en Nemid assertion med FMK.:
// /1. Generer bruger- og systeminformation for nem tilgængelighed.
// /2. Opret ny CredentialVault med bruger certifikat.
// /3. Opret en ny Saml2Assertion ud fra informationerne.
// /4. Opret OioSamlAssertion ud fra NemidAssertion
// /5. Opret ny OioSamlFactory
// /6. Opret ny OiosamlAssertionToIdCardRequestDomBuilder og initialiser med korrekte informationer.
 // 7.    Byg dokumentet
// /8. Opret OioSamlAssertionToIdCardRequestModelBuilder og byg requesten.Brug Sealutilities.Signin til at
 //     sende requesten til serveren.Returnerer nyt IdCard signed fra STS
// /9. Opret ny klient til FMK kommunikation
// /10. Kald FMK.


2.3.2. BST2SOSI

Oprettelsen af et bst2sosi request er meget i stil med et bst2idws request:

...