This project provides a full implementation example of how Discipl components can be used to issue and verify claims. In particular, how municipalities can issue
In order to make everything functional, we need to generate valid certificates for demo NLX environments and
ensure that the validation app can retrieve those. This is only needed for working with live NLX, when using docker-compose-travis.yml
, these certificates are not needed.
- Generate certificates as described here, and place the
org.key
andorg.crt
files at./mock-nlx/certs/
- Ensure the certificates are readable, for example by giving the following permissions
chmod g+r org.key
The easiest way to run is using docker-compose:
This will start 3 applications:
- clerk-frontend
- waardepapieren-service, with embedded ephemeral-server
- nlx-mock, which is a mocked nlx-service
Also the network waardepapieren
will be created and used by all Docker container.
This is done as follows:
- Set the environment variable CERT_HOST_IP is with an IP (or domain) that the validator app can use to reach the clerk-frontend container. Ensure that the validator app runs on the same (wifi) network as the clerk frontend.
- Run
docker-compose -f docker-compose-travis.yml up
Alternatively, you can use a live NLX version (unmaintained configuration):
- Run
docker-compose up --build
The
--build
flags ensures that the latest version of the application is build. Dockers build-in caching is still used, so only the modified parts of the application are rebuild. Optionally the--no-cache
flag can be added to disable the caching. This may be required when changes to thepackage.json
are made.
The clerk frontend will be available at https://localhost:443
Optionally IPv8 attestation can be used in extend with Ephemeral. This is done as follows:
- Create (or edit) the config files that are used by the application. These are located in
clerk-frontend/public
andwaardepapieren-service/configuration
. Set theENABLE_IPV8_ATTESTATION
totrue
- Run
docker-compose -f docker-compose-travis.yml -f docker-compose-ipv8.yml up --build
The docker-compose-ipv8.yml
can be ran as a stand-alone application. However, it depends on the existence of the waardepapieren
network. Run the complete application once as described above to create the network.
The docker containers built using the instructions above can be used to deploy these services in a production environment. However,
it is likely advantageous to integrate the waardepapieren-component
in your frontend. In any case, this can
be done as in haarlem-frontend
which shows how to embed the waardepapieren-component
in a website with existing content.
If the surrounding website is hosted with TYPO3, you might want to use the plugin.
The validator app is made with Expo, which is a free and open-source react-native framework for mobile development. to run this on a mobile device, the expo-cli tool is required. to install this, run:
$npm install -g expo-cli
connect to the same network without firewall restrictions (if all else fails, starting an hotspot on your mobile device and connecting to it usually works). In the folder "validator-frontend", issue the command:
$expo start
wait till the program has fully loaded and scan the QR code in the left bottom corner, with the Expo-app for Android or IOS.
Dit document heeft als doel om zowel het ontwikkelteam als de gemeente een duidelijk beeld te geven van de applicatie, middels een volledig implementatievoorbeeld van hoe Discipl-componenten kunnen worden gebruikt om claims af te geven en te verifiëren. In het bijzonder, hoe gemeenten die kunnen uitgeven.
Een live demo is beschikbaar via https://waardepapieren-demo.discipl.org/
- gemeentelijk ambtenaar klikt op https://waardepapieren-demo.discipl.org/ en opent de clerk-frontend
- gemeentelijk abmtenaar tikt magisch nummer in (anders dan in screenshot: BSN=999994669) gemeenteambtenaar klikt op volgende
- Systeem laat detailpagina zien van de ingevoerde BSN
(nb op IOS mobile (iphone/ipad) gebeurt dit nog niet ) gemeenteambtenaar klikt op dit klopt!
- Gemeentelijk ambtenaar klikt op download
- Systeem laat downloadscherm zien
- Burger
koppelt
qr-code aan Wallet of neemt printje mee, gemeentelijk ambtenaar klikt op afronden
nb download apple-wallet
werkt nog niet
Er is nu een automatisch gegenereerd document en daarom niet met een fysieke handtekening ondertekend.
De gegevens zijn verkregen via NLX en geborgd in de QR code. De validatie_app is bedoeld om de echtheid te controleren.
Met een standaard qr lezer kan bovenstaande QR code worden gescand, en de JSON code zichtbaar worden gemaakt.
Met de Expo app kan het uittreksel gevalideerd worden. Deze kan gebouwd worden met deze code
https://apps.apple.com/nl/app/expo-client/id982107779
Scan [ ] nogmaals de QR code