.NET تنفيذ مصادقة OAUTH2 لخدمة PDND مع توليد تأكيد العميل.
Piattaforma Digitale Nazionale Dati (PDND) هي بنية تحتية رقمية إيطالية مصممة لتسهيل قابلية التشغيل البيني للبيانات والتبادل بين الإدارات العامة والكيانات الخاصة. يهدف النظام الأساسي إلى تبسيط مشاركة البيانات العامة من خلال توفير نظام آمن وموحد ومركزي لتكامل البيانات والوصول إليها والإدارة. يعزز PDND التحول الرقمي داخل القطاع العام من خلال ضمان الوصول إلى البيانات وموثوقة وقابلة لإعادة الاستخدام ، مما يتيح خدمات عامة أكثر كفاءة ، وتعزيز الشفافية ، ودعم اتخاذ القرارات القائمة على البيانات لكل من الحكومة والمواطنين.
القسائم هي رموز JWT بسيطة. تدفق المصادقة المنفذ هو OAUTH 2.0 ، والذي يشير إلى RFC6750 لاستخدام الرموز المميزة للحامل وإلى RFC7521 لترخيص العميل عبر تأكيد العميل.
للحصول على قسيمة صالحة ، يجب عليك أولاً تحميل مفتاح عام واحد على الأقل لعميل API interop. تتمثل الخطوة الأولى في إنشاء تأكيد ساري المفعول للعميل وتوقيعه مع المفتاح الخاص (الذي يجب أن يتطابق مع المفتاح العام المسجل لدى العميل على PDND Interoperabilità). يتكون تأكيد العميل من رأس وحمولة.
يطلب المستخدم قسيمة. بمجرد الحصول عليها ، فإنها تشملها كرأس ترخيص في المكالمات اللاحقة إلى واجهات برمجة تطبيقات قابلية التشغيل المتداخل 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 لاختبار وظائف البرنامج في تكوينات مختلفة.
شكرا لك على النظر في المساعدة في رمز المصدر! إذا كنت ترغب في المساهمة ، فيرجى شوكة وإصلاح وإرسال طلب سحب للمحاربين للمراجعة والاندماج في قاعدة الكود الرئيسية.
رمز مصدر المستودع متاح بموجب ترخيص معهد ماساتشوستس للتكنولوجيا ، راجع الترخيص في المصدر.
يرجى الاتصال في francesco.delre.87 [في] gmail.com للحصول على أي تفاصيل.