Page History
...
Ønskes mere information omkring anvendelse kan dette findes på NAP Platform - Guide til anvendere.
Nap-
...
Hvordan fungerer servicen
Single page application med 2 routes:
...
Route
...
Funktionalitet
...
administration
...
I tilfælde af http fejl vises dette til brugeren.
...
Nap-administration overskriver kontekstroden i jboss-web.xml og forventer derfor, at være udstillet på /admin. se eventuelt https://svn.nspop.dk/src/components/nap/nap-compose/trunk/haproxy/nap-haproxy.cfg for at se hvordan en ha-proxy konfigureres.
Service
Konfiguration
configurations.json mappes til /pack/webapp/assets/
...
Key
...
Value
...
Konfigurationen kan ændres runtime, men skal matche loadbalancer indstillingerne.
Håndtering af fejlsituationer og logning
Nap-admin-web er en stateless webapplikation, og der er derfor ingen logning i denne komponent. Fejl vil dog blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
Nap-lobby-web
Hvordan fungerer servicen
Single page application med 2 routes:
...
Route
...
Funktionalitet
...
Laver et kald til nap-administration og viser en projektoversigt.
I tilfælde af http fejl vises dette til brugeren.
...
Konfiguration
configurations.json mappes til /pack/webapp/assets/
...
Key
...
Value
...
Konfigurationen kan ændres runtime, men skal matche loadbalancer indstillingerne.
Håndtering af fejlsituationer og logning
nap-lobby-web er en stateless webapplikation, og der er derfor ingen logning i denne komponent. Fejl vil dog blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
Nap-test-web
Hvordan fungerer servicen
Nap-test-web fungerer som test-suite til værtsystemer.
Den tester, at kommunikationen over broen fungerer som den skal, og der er således ingen konfiguration, opsætning eller logning.
Håndtering af fejlsituationer og logning
nap-test-web er en stateless webapplikation, og der er derfor ingen logning i denne komponent. Fejl vil dog blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
Nap-administration
Snitflade
Servicen kalder en database med projekter og udstiller dem på en REST snitfalde.
Endpoints | Funktionalitet |
---|---|
/api/projekter/{id} | Validerer den indkommende SAMLAssertion, kalder databasen og henter Projekt(er) baseret på det cvr nummer som er tilknyttet brugerkonteksten. |
/api/webapps/{id} | Validerer den indkommende SAMLAssertion, kalder databasen og henter WebApp(er). |
/api/session | Returnerer den givne bruger, hvis den findes i databasen. |
Overvågningssnitflade
Endpoints | Funktionalitet |
---|---|
/isAlive | Bruges af loadbalanceren for at tjekke at servicen er deployet. Returnerer en html side med deployment info. Hvis der kan oprettes forbindelse til den database, der er konfigureret i datasource "java:jboss/datasources/adminnap-lobby-facade", returneres returneres der statuskode 200, ellers ellers statuskode 500. |
Login / logout (OIOSAML)
Endpoints | Funktionalitet |
---|---|
/saml/SAMLAssertionConsumer | Validere autentifikations requests og registrere en brugers assertion i en threadlocal session. |
/saml/Logout | Bruges til single til samllogout og sletning af session. |
Konfiguration
Konfiguration af NAP-reference sker i filerne "compose/configuration" mappen som er beskrevet i NAP Platform - Installationsvejledning. I det følgende gennemgåes konfigurationsfilernes detaljer.
Følgende konfigurationsfiler skal være tilgængelige i classpath under deployment (loades fra applikationsserverens modules/dk/sds/nsp/nap/admin/main).
Konfigurationsfiler | |
---|---|
Filnavn | Indhold |
nap-admin-composelobby-ds.xml | Datasource beskrivelse. <datasources xmlns="http://www.jboss.org/ironjacamar/schema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema https://docs.jboss.org/ironjacamar/schema/ironjacamar_1_0.xsd"> <datasource jndi-name="java:jboss/datasources/admin" pool-name="MariaDBDS"> <connection-url>jdbc:mysql://napadmindb:3306/administration?autoReconnect=true</connection-url> <driver>mysql</driver> <pool> <max-pool-size>30</max-pool-size> <min-pool-size>5</min-pool-size> </pool> <security> <user-name>root</user-name> <password>pw</password> </security> <validation> <check-valid-connection-sql>select 1</check-valid-connection-sql> <validate-on-match>false</validate-on-match> <background-validation>true</background-validation> <background-validation-millis>10000</background-validation-millis> </validation> <timeout> <idle-timeout-minutes>10</idle-timeout-minutes> </timeout> </datasource> </datasources> |
log4j-napadmin.xml | log4j konfiguration |
nap.jks | JKS fil indeholdende NAP certifikat til audience /nap | nap-admin.properties | # Path to the service provider certificatetrusted-sts-certs.jks | JKS fil med certifikater fra STS providers
Vigtigt med jndi navn "java:jboss/datasources/nap-lobby-facade" da dette skal matche konfiguration i persistence.xml | |
log4j-napadmin.xml | Log4j opsætninger der følger gængs standard på NSP. |
Konfiguration af oiosaml sker i filerne "compose/configuration/oiosaml".
Der findes en konfiguration til development / localhost-test1 / og test1 (test1 miljøet).
De forskellige konfigurationer adskiller sig primært for singleLogoutService i SPMetadata og iDpMetadata samt og service provider url i oiosaml-sp.properties.
Oiosaml konfigurationerne skal ligeledes være tilgængelig i oiosaml.home under deployment (oiosaml.home sættes med JAVA_OPTS i compose filerne og er sat til /pack/oiosaml).
Konfigurationsfiler | |
---|---|
oiosaml-sp.log4j.xml | lndeholder Log4j opsætninger der følger gængs standard på NSP. |
oiosaml-sp.properties | # Properties used by oiosaml-j oiosaml-sp.certificate.location=
|
funktionscertifikat | JKS fil indeholdende Sundhedsdatastyrelsen reference funktionscertifikat certifikat. Skal være samme navn som oiosaml-sp.certificate.location i oiosaml-sp.properties |
metadata/idP/IdPMetadata.xml | OIOSAML identity provider metadata til konfiguration af OIOSAML filteret |
metadata/SP/SPMetadata.xml | OIOSAML service provider metadata til konfiguration af OIOSAML filteret |
Hele oiosaml-konfigurations-mappen skal udskiftes til de forskellige miljøer. Så fx for localhost og test1 ser mapning således ud :
- ../configuration/oiosaml/localhost-development:/pack/oiosaml # localhost
- ../configuration/oiosaml/test1:/pack/oiosaml # test1
Database
Adgang til nap-admin databasen styres gennem filen "nap-lobby-ds.xml" - Denne skal matche det NSP miljø hvor komponenten afvikles.
Da en nap- og projektadministratorer, skal kunne tilføje projekter, og database-brugeren skal kunne tilføje nye nap- og projektadminstratorer skal brugeren fx kunne skrive
insert into User (id, cpr, cvr, admin) values (UuidToBin(UUID()), '0501792275', '20921897', false);
For at tilføje nye projektadministrator.
Desuden forgår der også skrive operationer til samtlige tabeller for at oprette / opdatere / slette projekter og web-aps.
Derfor skal brugeren have read / write rettigheder.
Aktiviteter
For at NAP-admin kan deployes skal der være initieret en tabel i den database, der er defineret i nap-lobby-ds.xml, da hibernate vil tjekke at database schemaet matcher entiteterne i applikationen.
Følgende scripts skal derfor køres:
Filnavn | Beskrivelse |
---|---|
create_db_example.sql | Opretter Database |
V1__create_tables.sql | Opretter Tabeller |
V2__insert_data_localhost.sql | Indsætter projekt data med url pegende på localhost (skal opdateres til url svarende til givende miljø) |
V3__update_developer_project_icon.sql | Indsætter projekt ikon for developer projekt |
V4__update_test_project_icon.sql | Indsætter projekt ikon for nap-testweb projekt |
V5__update_nap_ref_web_project_icon.sql | Indsætter projekt ikon for nap-reference-web |
V6__insert_default_user.sql | Indsætter default bruger som projektadministrator |
Opdatere webapp urls svarende til det givne miljø | Eksempel på opdatering af url til test1: use nap; |
Logning
Alle logfiler er at finde i log/ under WildFly. Herunder findes en liste over alle logfiler med en beskrivelse af hvilke komponenter der skriver til dem.
Logfilnavn | Komponenter der skriver til denne |
---|---|
nap-admin.log | Applikation |
oiosaml-sp.log | OIOSAML |
oiosaml-sp-audit.log | OIOSAML Audit |
Fejlhåndtering
Applikationsfejl bliver logget ved hjælp af log4j, med type ERROR, INFO, DEBUG alt efter hvor alvorlig fejlen er.
Nap-test-web
Hvordan fungerer servicen
Nap-test-web fungerer som test-suite til værtsystemer.
Den tester, at kommunikationen over broen fungerer som den skal, og der er således ingen konfiguration, opsætning eller logning.
Håndtering af fejlsituationer og logning
nap-test-web er en stateless webapplikation, og der er derfor ingen logning i denne komponent. Fejl vil dog blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
Logging
Log4j konfigurationen skal findes i log4j-napadmin.xml på classpath.
Ved default konfiguration skrives alle modul-reletarede relaterede fejl til nap-admin.log
Fejlhåndtering
Applikationsfejl bliver logget ved hjælp af log4j, med type ERROR, INFO, DEBUG, alt efter hvor alvorlig fejlen er.
...