Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootPlatformsservices (NAP) - Leverancebeskrivelse
includeroottrue


Warning
NAP projektet er ikke aktivt og NAP er derfor ikke pt. under support og vedligehold.
NAP er ikke opdateret til at understøtte MitID/NemLogin3 og det er derfor ikke længere
muligt at anvende den nuværende version på testmiljøerne.
En evt. genoptagelse af NAP projektet vil afhænge af konkret efterspørgsel.
Kontakt evt. Sundhedsdatastyrelsen ved interesse i NAP.

Table of Contents


Introduktion

...

For at oprette et nyt projekt i NAP er der 3 trin:

  1. Hent og byg NapJavaHost
  2. Udvikling af dit projekt
  3. Publicering af dit projekt på test miljøerne

...

Nap-host-java

Start med at hente bygge nap-host-java I den executable der skal bruges.

Windows

Mac OS X

Linux

Alternativt kan projektet hentes fra  NapJavaHost, bygges med java 13 og eksekveres med `java -(NapJavaHost - kildekode) med java 13 jdk  via følgende kommando `mvn clean install`. Kør så efterfølgende applikationen med  `java -jar ./target/NapHostJava-fat.jar`.


Når nap-host-java åbnes, vil der blive præsenteret en login dialog.  

...

Efterfølgende kan du bruge det certifikat til at logge ind på

NAP test1

hvorfra du kan tilføje metadata omkring dit projekt.

...

I det nedenstående vil eksemplerne tage udgangspunkt i Java, og der kan derfor også tages udgangspunkt i nap-host-java, hvis der er brug for inspiration.

nap-java-host på SVN.

Opsætning af kommunikation med SDK.

...

Dette afprøvningsprojekt ligger både på test1 og test2 og kan åbnes fra lobbyen i det givne miljø.

Test1: httphttps://test1-nap.insp.nspop.dk:80808443/testweb/

Bemærk, at testene fejler, hvis ikke applikationen er indlejret i en host, som har implementeret NAP bridge.

NAP Lobby Web

Når kommunikationen er opsat med SDK'erne, er det nu klart til at vise alle de projekter der er tildelt.

...

For at se de projekter der er tilgængelige, skal NAP Lobby Web åbnes i det nuværende system.

Sikkerbrowser opstart

Sikker Browser opstart af Nap Lobby Web følger protokollen "Sikker browser opstart version 2".

Lignende implementationer kan ses i FMK-online og læses her https://wiki.fmk.netic.dk/lib/exe/fetch.php?media=fmk:fmko:guide_til_anvendere_af_sbov2_1_2.Dette gøres ved at få WebView'et til at poste det idkort, der er vekslet ved STSen på pdf og her for eGraviditet *Graviditetsmappe Web Facade - Guide til anvendere.

Anvendelse af Sikker Browseropstart i fagsystem

En forudsætning for at kunne tilgå Nap Lobby Web via Sikker Browseropstart er, at fagsystem har dannet et SOSI idkort, der repræsenterer brugerens login-session på fagsystemet. Trækning og signering af SOSI idkort er er ikke beskrevet her, men er dokumenteret i https://www.digitaliser.dk/resource/456411/artefact/SOSIprogrammersguide.doc?artefact=true&PID=456417.

Givet at fagsystemet har dannet et idkort for brugeren, er de nødvendige skridt for at tilgå Nap Lobby Web via Sikker Browseropstart i kort form:

  1. Idkortet omveksles til en SAML assertion via et webservicekald til SOSI STS. 2 http://test1.ekstern-test.nspop.dk:8080/sts/services/Sosi2OIOSaml 
  2. Den modtagne SAML assertion indlejres i et SAML Response.
  3. Fagsystemet udstiller en webapplikation for brugeren, som brugerens browser dirigeres til.
  4. Denne webapplikation sender et response til brugerens browser, som indeholder en HTML 5 FORM, som automatisk POST’es til FMK-online ved load. Denne FORM indeholder ovennævnte SAML assertion i base64 enkoded form. 
  5. https://test1-nap.insp.nspop.dk:8443/lobby/saml/SAMLAssertionConsumer accepterer den POST’ede SAML assertion, og brugeren er nu logget ind.

Disse skridt er beskrevet i større detalje i det følgende.

Den relevante API er generelt beskrevet i https://www.digitaliser.dk/resource/456411/artefact/SOSIprogrammersguide.doc?artefact=true&PID=456417.

Desuden findes et implementerings eksempel i https://svn.nspop.dk/src/components/nap/nap-host-java/trunk/.

Omveksling af SOSI idkort til SAML-assertion

SOSI idkortet omveksles til en SAML-assertion via et webservice-kald til STS. Se https://www.nspop.dk/display/public/web/STS+-+Medarbejder-Billetomveksling for beskrivelse af omveksling fra SOSI idkort til SAML assertion (afsnit 7 beskriver overordnet den relevante omveksling, afsnit 8 indeholder links til eksempelkode: IDcardToOIOSAMLExample.java.

Der skal ved omveksling angives et ”audience”.

Den relevante værdi for audience er for NSPs testmiljøer en af følgende:

  1. https://saml.test1-nap.insp.nspop.dk/lobby

  2. https://saml.test2-nap.insp.nspop.dk/lobby

Indlejring af SAML-assertion i SAML-response

Den modtagne SAML assertion skal efterfølgende indsættes i en SAML Response xml-struktur. Det opbyggede SAML Response skal have følgende form.

<samlp:Status>
 <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
 </samlp:Status>
 <saml:EncryptedAssertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">...</saml:EncryptedAssertion>
</samlp:Response

saml:EncryptedAssertion elementet repræsenterer svaret fra omvekslingen af idkort til SAML assertion i STS, og er her vist i forkortet form.

Post af SAML-response fra webapplikation i fagsystem

For at tilgå Nap Lobby Web via Sikker Browseropstart, skal brugerens browser POST’e en HTML FORM med det opbyggede SAML Response til eGradivitet.

Dette kan fx opnås ved at fagsystemet udstiller en webapplikation, der kan returnere et response med et onload script, der POST’er formen. Dette response kan opbygges således:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html, charset=utf-8" />
<title>SAML 2.0 POST</title>
</head>
<body onload='document.forms[0].submit()'>
<form action='https://test1-nap.insp.nspop.dk:8443/lobby/saml/SAMLAssertionConsumer' method='post'>
<input type='hidden' name='SAMLResponse' value='wrappedSamlResponse'/></form>
</body>
</html>

SAMLResponse-parameterens tilhørende value er her vist forkortet i form, men skal indeholde en base64 enkodet repræsentation af det opbyggede SAML Response.

Indholdet af action attributten afspejler hvilket miljø, der ønskes brugt (test eller produktion).

Action attributten kan starte med en af følgende url’er, som unsoliscited samlresponse til nedenstående URL

Test 1: https://test1-nap.insp.nspop.dk:8443/lobby/saml/SAMLAssertionConsumer

Test 2: https://test2-nap.insp.nspop.dk:8443/lobby/saml/SAMLAssertionConsumer

Opstart af andre projekter fra Nap Lobby Web

Samme procedure for Sikker browser opstart gør sig gældende for andre afprøvningsprojekter, fx Nap Reference Web,  hvor urlen slutter på /saml/SAMLAssertionConsumer. 

Når et projekt klikkes i Lobby sendes en besked af typen WebAppSelected se https://www.nspop.dk/display/public/web/NAP+SDK+-+Guide+til+anvendere hvor i audience og url er beskrevet.

Opstart som standalone

Lobbyen kan også åbnes om standalone på Test1: https://test1-nap.insp.nspop.dk:8443/lobby

Hvor det er muligt at logge ind med moces certifikater. Dette er egnet til projektadministratorer for at oprette et projekt ellere redigere et projekt.