.NET การใช้งานการรับรองความถูกต้อง OAUTH2 สำหรับบริการ PDND พร้อมการสร้างการยืนยันลูกค้า
Piattaforma Digitale Nazionale Dati (PDND) เป็นโครงสร้างพื้นฐานดิจิตอลของอิตาลีที่ออกแบบมาเพื่ออำนวยความสะดวกใน การทำงานร่วมกันของข้อมูล และการแลกเปลี่ยนระหว่างการบริหารสาธารณะและหน่วยงานเอกชน แพลตฟอร์มนี้มีจุดมุ่งหมายเพื่อลดความซับซ้อนของการแบ่งปันข้อมูลสาธารณะโดยการจัดหาระบบที่ปลอดภัยมาตรฐานและส่วนกลางสำหรับการรวมข้อมูลการเข้าถึงและการจัดการ PDND ส่งเสริมการแปลงดิจิตอลภายในภาครัฐโดยการรับรองว่าข้อมูลสามารถเข้าถึงได้เชื่อถือได้และนำกลับมาใช้ใหม่ได้ช่วยให้บริการสาธารณะที่มีประสิทธิภาพมากขึ้นเพิ่มความโปร่งใสและสนับสนุน การตัดสินใจที่ขับเคลื่อนด้วยข้อมูล สำหรับทั้งรัฐบาลและประชาชน
บัตรกำนัลเป็นโทเค็น JWT ที่เรียบง่าย โฟลว์การตรวจสอบความถูกต้องที่ใช้งานคือ OAuth 2.0 ซึ่งหมายถึง RFC6750 สำหรับการใช้โทเค็นผู้ถือและ RFC7521 สำหรับการอนุญาตลูกค้าผ่านการยืนยันลูกค้า
ในการรับบัตรกำนัลที่ถูกต้องคุณต้องอัปโหลดคีย์สาธารณะอย่างน้อยหนึ่งรายการไปยังไคลเอนต์ Interop API ขั้นตอนแรกคือการสร้างการยืนยันไคลเอ็นต์ที่ถูกต้องและลงนามด้วยคีย์ส่วนตัวของคุณ (ซึ่งต้องตรงกับคีย์สาธารณะที่ลงทะเบียนกับไคลเอนต์บน PDND interoperabilità) การยืนยันลูกค้าประกอบด้วยส่วนหัวและน้ำหนักบรรทุก
ผู้ใช้ขอบัตรกำนัล เมื่อได้รับแล้วพวกเขาจะรวมไว้เป็นส่วนหัวของการอนุญาตในการโทรไปยัง APIs การทำงานร่วมกันของ PDND ในภายหลัง
หากต้องการตั้งค่าและใช้ตัวสร้างการยืนยันไคลเอนต์อย่างถูกต้องในแอปพลิเคชัน ASP.NET Core ของคุณให้ทำตามขั้นตอนเหล่านี้:
"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 ( ) ; จากนั้นคุณสามารถใช้ ClientAssertionGeneratorService ซึ่งมีวิธีการต่อไปนี้:
GetClientAssertionAsyncGetTokenAsync(clientAssertion)โครงการนี้รวมถึงแอปพลิเคชันทดสอบ pdndClientAssertionGenerator.api ออกแบบมาเพื่อช่วยคุณทดสอบซอฟต์แวร์ด้วยการกำหนดค่าของคุณเอง แอปพลิเคชันนี้ทำหน้าที่เป็นแซนด์บ็อกซ์ที่คุณสามารถตรวจสอบพฤติกรรมของส่วนประกอบ PDNDClientassertionGenerator
การกำหนดค่า: อัปเดตการตั้งค่าการกำหนดค่าในไฟล์ appsettings.json หรือผ่านตัวแปรสภาพแวดล้อมเพื่อให้ตรงกับกรณีการใช้งานและสภาพแวดล้อมเฉพาะของคุณ
รันแอปพลิเคชันทดสอบ:
dotnet run --project src/PDNDClientAssertionGenerator.Api/PDNDClientAssertionGenerator.Api.csproj สถานการณ์การทดสอบ: เมื่อแอปพลิเคชันกำลังทำงานอยู่คุณสามารถใช้ GetClientAssertion และ GetToken ต่างๆเพื่อทดสอบการทำงานของซอฟต์แวร์ในการกำหนดค่าที่แตกต่างกัน
ขอขอบคุณที่พิจารณาที่จะช่วยเหลือซอร์สโค้ด! หากคุณต้องการมีส่วนร่วมโปรดแยกแก้ไขกระทำและส่งคำขอดึงสำหรับผู้ดูแลเพื่อตรวจสอบและรวมเข้ากับฐานรหัสหลัก
ซอร์สโค้ด Repository สามารถใช้ได้ภายใต้ใบอนุญาต MIT ดูใบอนุญาตในแหล่งที่มา
กรุณาติดต่อที่ francesco.delre.87 [ที่] gmail.com สำหรับรายละเอียดใด ๆ