DP-3T / dp3t-sdk-backend

The backend implementation for DP3T
Mozilla Public License 2.0
199 stars 87 forks source link

Federation / interoperability with EFGS(-compatible) hub #294

Closed UBaggeler closed 3 years ago

UBaggeler commented 3 years ago

This pull-request adds federation / interoperability support with an EFGS(-compatible) hub to the dp3t-sdk-backend.

Client facing API

The existing requests (POST /v2/gaen/exposed and GET /v2/gaen/exposed) get extended by a withFederationGateway flag, which the app can set when configuring the SDK. If the flag is not set by the app, the default can be controlled by a configuration property (ws.federation.download.defaultvalue and ws.federation.upload.defaultvalue). This allows to control whether previous versions of the app automatically get federation support, or only new version which configure the DP3T-SDK with the respective flag.

Dedicated sync micro-service: dpppt-backend-sdk-interops

To sync with an EFGS-compatible hub, a new micro-service is used which connects to the dp3t-database and syncs keys regularly with a hub using the HTTP REST API. The communication with an EFGS-compatible hub is done through a mutual TLS connection (with client certificates) and uses the Protobuf format to exchange keys.

sonarcloud[bot] commented 3 years ago

SonarCloud Quality Gate failed.

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

57.7% 57.7% Coverage
0.0% 0.0% Duplication