.NET -Implementierung der OAuth2 -Authentifizierung für den PDND -Dienst mit der Erzeugung von Client Assertion.
Das PiattaForma Digitale Nazionale Dati (PDND) ist eine italienische digitale Infrastruktur, die die Interoperabilität und den Austausch der Daten zwischen öffentlichen Verwaltungen und Privatunternehmen erleichtert. Die Plattform zielt darauf ab, die Freigabe öffentlicher Daten zu vereinfachen, indem ein sicheres, standardisiertes und zentrales System für die Datenintegration, der Zugriff und das Management von Daten bereitgestellt wird. PDND fördert die digitale Transformation innerhalb des öffentlichen Sektors, indem sichergestellt wird, dass Daten zugänglich, zuverlässig und wiederverwendbar sind, um effizientere öffentliche Dienste zu ermöglichen, die Transparenz zu verbessern und datengesteuerte Entscheidungen sowohl für die Regierung als auch für die Bürger zu unterstützen.
Gutscheine sind einfache JWT -Token. Der implementierte Authentifizierungsfluss ist OAuth 2.0, das sich auf RFC6750 für die Verwendung von Trägertoken und auf RFC7521 zur Client -Autorisierung über Client -Behauptung bezieht.
Um einen gültigen Gutschein zu erhalten, müssen Sie zuerst mindestens einen öffentlichen Schlüssel zu einem Interop -API -Kunden hochladen. Der erste Schritt besteht darin, eine gültige Kundenaussage zu erstellen und sie mit Ihrem privaten Schlüssel zu unterschreiben (der mit dem beim Kunden registrierten öffentlichen Schlüssel auf PDND Interoperabilità übereinstimmt). Die Kundenbehandlung besteht aus einem Kopfball und einer Nutzlast.
Der Benutzer fordert einen Gutschein an. Sobald sie erhalten wurden, enthalten sie es als Autorisierungsheader in nachfolgenden Aufrufen der PDND -Interoperabilität -APIs.
Befolgen Sie die folgenden Schritte, um den Client Assertion Generator in Ihrer ASP.NET -Kernanwendung ordnungsgemäß einzurichten und zu verwenden:
"ClientAssertionConfig": {
"ServerUrl": "https://test-server-url.com",
"KeyId": "ZmYxZGE2YjQtMzY2Yy00NWI5LThjNGItMDJmYmQyZGIyMmZh",
"Algorithm": "RS256",
"Type": "at+jwt",
"ClientId": "9b361d49-33f4-4f1e-a88b-4e12661f2309",
"Issuer": "interop.pagopa.it",
"Subject": "9b361d49-33f4-4f1e-a88b-4e12661f2309",
"Audience": "https://erogatore.example/ente-example/v1",
"PurposeId": "1b361d49-33f4-4f1e-a88b-4e12661f2300",
"KeyPath": "C:/Keys/private.pem",
"Duration": "600"
}, builder . Services . AddPDNDClientAssertionServices ( ) ; Anschließend können Sie ClientAssertionGeneratorService verwenden, die die folgenden Methoden bereitstellen:
GetClientAssertionAsyncGetTokenAsync(clientAssertion)Dieses Projekt umfasst eine Testanwendung, PDNDClientasStionGenerator.api , mit der Sie die Software mit Ihrer eigenen Konfiguration testen können. Diese Anwendung fungiert als Sandkasten, in dem Sie das Verhalten der PDNDClientAsSertionGenerator -Komponenten validieren können.
Konfiguration: Aktualisieren Sie die Konfigurationseinstellungen in der Datei appsettings.json oder über Umgebungsvariablen, um Ihrem spezifischen Anwendungsfall und Ihrer Umgebung zu entsprechen.
Ausführen der Testanwendung:
dotnet run --project src/PDNDClientAssertionGenerator.Api/PDNDClientAssertionGenerator.Api.csproj Testen GetToken Szenarien: Sobald die Anwendung ausgeführt wird, können Sie verschiedene GetClientAssertion verwenden und die Funktionalität der Software in verschiedenen Konfigurationen testen.
Vielen Dank, dass Sie in Betracht gezogen haben, um mit dem Quellcode zu helfen! Wenn Sie einen Beitrag leisten möchten, geben Sie eine Pull -Anfrage an, um die Wartung zu überprüfen und zu senden, um die Hauptcode -Basis zu überprüfen und zu verschmelzen.
Der Repository -Quellcode ist unter MIT -Lizenz verfügbar. Siehe Lizenz in der Quelle.
Bitte wenden Sie sich an Francesco.delre.87 [unter] gmail.com für alle Einzelheiten.