About • Development • Documentation • Support • Contribute • Licensing
This repository contains the source code of the EU Digital COVID Certificate Validation Decorator.
The Validation Decorator is an interface between the validation service and an internal backend system (demo) for the exchange of digital covid certificate information.
The validation has complex work flow that involves
- dgca-validation-service - additional service on travel system
- dgca-booking-demo - travel system mock
- dgca-booking-demo-frontend
- dgca-verifier-app-android - provide dcc
- dgca-booking-demo-backend
- Open JDK 11
- Maven
- Docker
- Authenticate to Github Packages
As some of the required libraries (and/or versions are pinned/available only from GitHub Packages) You need to authenticate to GitHub Packages The following steps need to be followed
- Create PAT with scopes:
read:packages
for downloading packages
- Copy/Augment
~/.m2/settings.xml
with the contents ofsettings.xml
present in this repository- Replace
${app.packages.username}
with your github username - Replace
${app.packages.password}
with the generated PAT
- Replace
- Run
docker login docker.pkg.github.com/eu-digital-green-certificates
before running further docker commands.- Use your GitHub username as username
- Use the generated PAT as password
Whether you cloned or downloaded the 'zipped' sources you will either find the sources in the chosen checkout-directory or get a zip file with the source code, which you can expand to a folder of your choice.
In either case open a terminal pointing to the directory you put the sources in. The local build process is described afterwards depending on the way you choose.
- Check settings.xml in root folder and copy the servers to your own
~/.m2/settings.xml
to connect the GitHub repositories we use in our code. Provide your GitHub username and access token (see GitHub Help) under the variables suggested. - Run
mvn clean package
from the project root folder
- Perform maven build as described above
- Run
docker-compose up
from the project root folder
After all containers have started you will be able to reach the application on your local machine under port 8080.
The Validation Decorator is a template. To make your own adjustments, the three interfaces KeyProvider
, BackendRepository
and AccessTokenPayloadBuilder
should be implemented.
KeyProvider
provides the necessary keys and certificates. Separate keys for JWT, certificates for Validation Service and others are provided.
BackendRepository
provides the interface to the internal service. In this example dgca-booking-demo-backend is connected and should demonstrate an airline.
AccessTokenPayloadBuilder
basically serves as a converter to create the AccessTokenPayload
from the given data.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
Issues | |
Other requests |
Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.
Copyright (C) 2021 T-Systems International GmbH and all other contributors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.