Page History
...
| Code Block | ||
|---|---|---|
| ||
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>;
var assertion = new OioSamlAssertion(nemidAssertion); // nemidAssertion expected to have been generated at an earlier login. 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"
}
}
);
}
// Trinene ved 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. |
...