diff --git a/.idea/.idea.FitConnect/.idea/.name b/.idea/.idea.FitConnect/.idea/.name deleted file mode 100644 index 04b5af4f764eb04374cbc16e0e0def5774fddae9..0000000000000000000000000000000000000000 --- a/.idea/.idea.FitConnect/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -FitConnect \ No newline at end of file diff --git a/nuget-readme.md b/nuget-readme.md new file mode 100644 index 0000000000000000000000000000000000000000..24fb1aab9576d4eff7efe71eb64cb18695d72a76 --- /dev/null +++ b/nuget-readme.md @@ -0,0 +1,93 @@ +# FIT-Connect .NET SDK User Guide + +## Einleitung + +Das FIT-Connect .NET SDK bietet eine einfache Möglichkeit, sowohl einen Antragsteller (Sender) als auch einen Antragsempfänger (Subscriber) an FIT-Connect anzubinden. + +## Voraussetzungen + +### OSX + +Auf OSX wird das SDK nur dann unterstützt, wenn OpenSSL auf dem System installiert ist. + +```sh +brew install openssl@1.1 +``` + +Die Environment-Variable ```DYLD_LIBRARY_PATH``` muss auf den Pfad zu OpenSSL verweisen. + +_Beispiele:_ + +```sh +export DYLD_LIBRARY_PATH=/usr/local/opt/openssl/lib +export DYLD_LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib +``` + +### Sender + +Um einen Antrag mit dem SDK versenden zu können, werden eine ClientID und ein ClientSecret benötigt. +Diese können im FIT-Connect Self-Service-Portal erzeugt werden. + +[Offizelle Dokumentation von FIT-Connect zum Versenden von Einreichungen (Anträgen)](https://docs.fitko.de/fit-connect/docs/sending/overview) + +### Subscriber + +Der Subscriber benötigt sowohl eine ClientID und das ClientSecret, aber auch die Schlüsselpaare zur +Verschlüsselung wie auch zum Signieren der Daten. +Zu Testzwecken können selbstgenerierte Schlüsselpaare mit dem [hierzu bereitgestellten Tool](https://docs.fitko.de/fit-connect/docs/details/jwk-creation) erzeugt werden. + +In der Produktivumgebung müssen hierzu [Zertifikate der Verwaltungs-PKI zu Einsatz kommen](https://docs.fitko.de/fit-connect/docs/receiving/certificate). + +[Offizielle Dokumentation von FIT-Connect zum Abrufen von Einreichungen](https://docs.fitko.de/fit-connect/docs/receiving/overview) + +# Beispiele + +## Sender + +```csharp +var submission = Client + .GetSender(FitConnectEnvironment.Development, clientId, clientSecret, logger) + .WithDestination(destinationId) + .WithServiceType("FIT Connect Demo", leikaKey) + .WithAttachments(new Attachment("Test.pdf", "Test Attachment")) + .WithData("{\"message\":\"Hello World\"}") + .Submit(); +``` + +## Subscriber + +### Erstellen des Subscribers + +```csharp +var subscriber = Client.GetSubscriber(FitConnectEnvironment.Development, clientId, + clientSecret, + privateKeyDecryption, + privateKeySigning, + publicKeyEncryption, + publicKeySignatureVerification, + logger); +``` + +### Abrufen der Submissions + +```csharp +var submissions = subscriber.GetAvailableSubmissions(); +``` + +### Abrufen der Submissions mit den Anhängen + +```csharp +foreach (var submission in submissions) { + var subscriberWithSubmission = subscriber.RequestSubmission(submission.SubmissionId); + var data = subscriber.GetDataJson(); + var attachments = subscriberWithSubmission + .GetAttachments(); + // Submission accept + subscriberWithSubmission + .AcceptSubmission(); + // or submission reject + subscriberWithSubmission + .RejectSubmission(); + +} +```