Versions Compared

Key

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

Revisionshistorik:

 VersionVersion

Dato

Ændring

Ansvarlig

0.8

29-11-2012

Oprettet

IO

1.0

04-04-2013

redigeret

IO

3.0.0

03-01-2017

Fjernet .net 3.5 referancer

FMO

4.0.0

26-06-2017

Tilføjet IdCards og OioSamlFactory

KRO og SKS

4.0.1

13-10-2022

Rettet "SOSI Gateway SBO" dokumentation så den passer til ændringerne i '4.2.5'.

KvalitetsIT

5.0.0

09-11-2022

Tilføj migreringsguide for version '5.0.0'. Ret og opdater dokumentation.

KvalitetsIT

...

I et føderalt login skal en bruger først logges på føderationen

  1. var factory = CreateFactory();

...

. Dette gøres ved at kalde 'SealUtilities.SignIn' med et lokalt signeret ID kort.

Herefter kan den ønskede service kaldes med det føderalt signerede ID kort returneret fra Signin.


Her vises et vejledende eksempel:

Code Block
languagec#
SOSIFactory factory = CreateFactory();

var userInfo = new UserInfo(
    user.Cpr,
    user.GivenName,
    user.SurName,
    user.Email,
    user.Occupation,
    user.Role,
    user.AuthCode
);

var idCardRequest = SOSIFactory.CreateNewUserIdCard(
    system.SystemName,
    userInfo,
    new CareProvider(system.CareProviderIdFormat, system.CareProviderId, system.CareProviderName),
    AuthenticationLevel.MocesTrustedUser,
    "",
    "",
    user.Certificate,
    ""
);

...



idCardRequest.

...

Sign<Assertion>(factory.SignatureProvider);

...


var idc = SealUtilities.SignIn(

...


    idCardRequest,
    systemName,
    "http://test2.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService"
);

...



var client = new Fmk.MedicineCardPortTypeClient(

...

MedicineCardPortTypeClient.EndpointConfiguration.MedicineCardPort, new EndpointAddress(new Uri("https://test2.fmk.netic.dk/fmk12/ws/MedicineCard")));
var response = client.GetMedicineCard_2015_06_

...

01Async(
    new GetMedicineCardRequest_2015_06_01

...


    {
        Security = SecurityHeaderUtil.MakeSecurityUsingDgwsTypes(idc),

...

  1. Der initieres et signeret IdCard vha. en SOSIFactory ud fra user og callingSystem
  2. STS kaldes med kortet. Der returneres et nyt IdCard underskrevet af STS
  3. Der oprettes en instans af Service proxy klientklassen, i dette tilfælde FMK.
  4. Der oprettes et Security element der indeholder den Assertion der er underskrevet af STS, samt et MedcomHeader element. Herefter kaldes Servicen.

...


        Header = requestHeader,
        WhitelistingHeader = makeWhitelistingHeader,
        GetMedicineCardRequest = new GetMedicineCardRequestType
        {
            PersonIdentifier = new PersonIdentifierType { source = "CPR", Value = requestCpr }
        }
    }
);


Oprettelse af ID kort i SOSI Gateway

...