ملخص: استخدم بيانات الاعتماد القابلة للتحقق لمنح الوصول إلى المجموعات والشارات في Discourse.
GitHub: https://github.com/coopcreds/discourse-verifiable-credentials
التثبيت: اتبع دليل تثبيت المكون الإضافي.
عرض توضيحي
يمكنك تجربة هذا المكون الإضافي بنفسك باتباع الخطوات الموجودة في الرابط أدناه. سيتم إصدار “بيانات اعتماد تعاونية” تجريبية لك، والتي يمكنك بعد ذلك استخدامها للوصول إلى مجموعة ومنح شارة في مثيل Discourse الخاص ببيانات الاعتماد التعاونية. لاحظ أن بيانات الاعتماد هي لأغراض الاختبار فقط وقد يتم إلغاؤها دون إشعار.
مقدمو الخدمة
يدعم المكون الإضافي حاليًا مقدمي بيانات الاعتماد القابلة للتحقق التالية.
| مقدم الخدمة | نوع التحقق | مدعوم |
|---|---|---|
| MATTR | OIDC | نعم |
| MATTR | Callback | نعم |
| Verifiable Credentials Ltd | - | جزئيًا |
تم بناء المكون الإضافي لدعم أي مقدم خدمة، ولكن إضافة مقدمي خدمات إضافيين يتطلب بعض العمل التنفيذي. إذا كنت ترغب في إضافة مقدم خدمة آخر، فيرجى التواصل معنا.
التكوين
هناك حاجة إلى بعض الفهم لبيانات الاعتماد القابلة للتحقق لاستخدام هذا المكون الإضافي. لقد قام MATTR، وهو مقدم الخدمة الرئيسي الذي يدعمه المكون الإضافي حاليًا، بإنشاء بعض مقاطع الفيديو ذات الصلة بخيارات المكون الإضافي الحالية:
يسمح لك هذا المكون الإضافي بالتحقق من بيانات اعتماد المستخدم لمنحه الوصول إلى مجموعة (مجموعات) أو شارة (شارات) في Discourse. تستعرض الأقسام التالية التكوين الخاص بالتحقق والمجموعات والشارات. نظرًا لأن المكون الإضافي يدعم MATTR حاليًا فقط، فإن التعليمات تفترض أنك تستخدم MATTR.
مدقق
يعتمد نوع تكوين المدقق الذي تستخدمه على نوع النظام الذي تتكامل معه. إذا كنت أنت المدقق وتقوم بإعداد Discourse تتحكم فيه، فقد ترغب في استخدام التحقق بالرد. إذا كنت جزءًا من شبكة تعتمد على مدقق واحد، أي أنك “طرف معتمد”، فقد ترغب في استخدام التحقق من OIDC.
OIDC
إذا كنت تستخدم مدقق OIDC (على سبيل المثال، أنت تستخدم تكامل MATTR Auth0)، فأنت بحاجة إلى تعيين إعدادات الموقع التالية:
verifiable credentials oidc: trueverifiable credentials mattr verifier id: معرف (وليس DID) لمدقق OIDC الخاص بكverifiable credentials mattr client id: معرف العميل لتطبيق عميل OIDC الخاص بـ Discourse الخاص بك (لاحظ أن هذا ليس معرف عميل tenant الخاص بـ MATTR الخاص بك)verifiable credentials mattr client secret: سر العميل لتطبيق عميل OIDC الخاص بـ Discourse الخاص بك (لاحظ أن هذا ليس سر عميل tenant الخاص بـ MATTR الخاص بك)
الرد
إذا كنت تستخدم التحقق القياسي بالرد، فأنت بحاجة إلى تعيين إعدادات الموقع التالية:
verifiable credentials oidc: falseverifiable credentials mattr client id: معرف العميل لـ tenant MATTR حيث يتم استضافة المدققverifiable credentials mattr client secret: سر العميل لـ tenant MATTR حيث يتم استضافة المدققverifiable credentials mattr messaging did: DID باستخدامkeyTypeمنed25519
المجموعة
يمكنك منح الوصول إلى المجموعات باستخدام المطالبات في بيانات الاعتماد التي تم التحقق منها. هذا يعني أنه يمكنك منح الوصول بشكل انتقائي إلى مجموعات مختلفة في Discourse الخاص بك اعتمادًا على المطالبات في بيانات اعتماد المستخدم. لإعداد مجموعة للوصول إليها عبر بيانات الاعتماد القابلة للتحقق، انتقل إلى “إدارة” > “العضوية” وقم بتعيين ما يلي:
-
Allow users to join by verifiable credentials: true -
Show verifiable credentials button on this group to non members: (واضح بذاته) -
Redirect users to url upon verification.: على سبيل المثال، إذا كنت تستخدم بيانات اعتماد لمنح المستخدم حق الوصول إلى فئة يمكن للمجموعة الوصول إليها، فاستخدم هذا الحقل لإرسال المستخدم إلى الفئة عند اكتمال عملية التحقق. -
Cumulative list of claim(s) that grants access to this group. Format: key:value.: لاحظ أن هذه القائمة تراكمية، مما يعني أن المستخدم سيحتاج إلى جميع المطالبات الموجودة في بيانات اعتماده للوصول. مثالhttps://coopcreds.com/cooperativeMembershipType:member https://coopcreds.com/cooperative:pavilion
الرد
إذا كنت تستخدم طريقة التحقق بالرد، فيجب عليك أيضًا تعيين Identifier of credential that grants access to this group إلى معرف قالب العرض الذي تريد استخدامه لهذه المجموعة. يمكنك استخدام قوالب عرض مختلفة لمجموعات مختلفة.
الشارة
يمكنك منح شارات للمستخدمين باستخدام المطالبات في بيانات الاعتماد التي تم التحقق منها. حاليًا، يمكنك القيام بذلك فقط باستخدام مكون الرأس (انظر أدناه). إعداد الموقع للاستخدام هو verifiable credentials header badges والذي يتطلب إدخالات بهذا التنسيق:
badge_id~~claim:value
على سبيل المثال
34~~https://coopcreds.com/cooperativeMembershipType:member
يمكنك الحصول على معرف الشارة من عنوان URL لصفحة الشارة، على سبيل المثال
/badges/9/autobiographer ## معرف الشارة هو 9
الرأس
يمكنك استخدام قائمة منسدلة الرأس في المكون الإضافي لمنح المستخدمين حق الوصول إلى مجموعات متعددة مرة واحدة، أو كل من الشارات والمجموعات في نفس الوقت. الإعدادات ذات الصلة هي:
verifiable credentials header: trueverifiable credentials header groups: قائمة بأسماء المجموعات (يجب أن تكون كل مجموعة قد تم تكوينها بالفعل؛ انظر أعلاه)verifiable credentials header badges: انظر أعلاهverifiable credentials header info url: عنوان URL لرابط “اعرف المزيد” في الجزء السفلي الأيمن من القائمة المنسدلة.
سيظهر أيقونة الرأس إذا لم يكن المستخدم عضوًا في مجموعة مدرجة في عرض الرأس، أو لم يتم منحه شارة مدرجة في عرض الرأس. عندما ينقر المستخدم عليها، ستعرض الموارد التي يمكنه الوصول إليها عن طريق التحقق من بيانات اعتماده.
الدعم
تم بناء هذا المكون الإضافي كجزء من مشروع بيانات الاعتماد التعاونية، والذي تدعمه ESSIF Lab الممولة من الاتحاد الأوروبي. سيتم استخدامه في الإنتاج من قبل العديد من الأطراف المعتمدة في شبكة بيانات الاعتماد التعاونية عند إطلاقها لاحقًا هذا العام.