Résumé: Utilisez les Identifiants Vérifiables pour accorder l’accès aux groupes et aux badges dans Discourse.
GitHub: https://github.com/coopcreds/discourse-verifiable-credentials
Installer: Suivez le guide d’installation du plugin.
Démo
Vous pouvez essayer ce plugin vous-même en suivant les étapes du lien ci-dessous. Vous recevrez un “Identifiant Coopératif” de test que vous pourrez ensuite utiliser pour accéder à un groupe et obtenir un badge sur l’instance Discourse des identifiants coopératifs. Notez que l’identifiant est uniquement à des fins de test et peut être révoqué sans préavis.
Fournisseurs
Le plugin prend actuellement en charge les fournisseurs d’identifiants vérifiables suivants.
| Fournisseur | Type de Vérification | Supporté |
|---|---|---|
| MATTR | OIDC | Oui |
| MATTR | Callback | Oui |
| Verifiable Credentials Ltd | - | Partiellement |
Le plugin est conçu pour prendre en charge n’importe quel fournisseur, mais l’ajout de fournisseurs supplémentaires nécessite un certain travail d’implémentation. Si vous souhaitez ajouter un autre fournisseur, veuillez nous contacter.
Configuration
Une certaine compréhension des identifiants vérifiables est nécessaire pour utiliser ce plugin. MATTR, le principal fournisseur pris en charge par le plugin actuellement, a réalisé quelques vidéos pertinentes pour les options actuelles du plugin :
Ce plugin vous permet de vérifier l’identifiant d’un utilisateur afin de lui donner accès à un ou plusieurs groupes ou badges dans Discourse. Les sections ci-dessous expliquent la configuration de la vérification, des groupes et des badges. Comme le plugin ne prend actuellement en charge que MATTR, les instructions supposent que vous utilisez MATTR.
Vérificateur
Le type de configuration de vérificateur que vous utilisez dépendra du type de système avec lequel vous vous intégrez. Si vous êtes le vérificateur et que vous configurez un Discourse que vous contrôlez, vous voudrez peut-être utiliser une vérification par rappel. Si vous faites partie d’un réseau qui repose sur un vérificateur unique, c’est-à-dire que vous êtes une “Partie Bénéficiaire”, alors vous voudrez peut-être utiliser la vérification OIDC.
OIDC
Si vous utilisez un Vérificateur OIDC (par exemple, vous utilisez l’Intégration MATTR Auth0), vous devez définir les paramètres du site suivants :
verifiable credentials oidc: trueverifiable credentials mattr verifier id: L’identifiant (pas le DID) de votre Vérificateur OIDCverifiable credentials mattr client id: L’identifiant client de l’Application Client OIDC pour votre Discourse (notez qu’il ne s’agit pas de l’identifiant client de votre locataire MATTR)verifiable credentials mattr client secret: Le secret client de l’Application Client OIDC pour votre Discourse (notez qu’il ne s’agit pas du secret client de votre locataire MATTR)
Rappel
Si vous utilisez une vérification par rappel standard, vous devez définir les paramètres du site suivants :
verifiable credentials oidc: falseverifiable credentials mattr client id: Identifiant client du locataire MATTR où est hébergé le vérificateurverifiable credentials mattr client secret: Secret client du locataire MATTR où est hébergé le vérificateurverifiable credentials mattr messaging did: Un DID utilisantkeyTypedeed25519
Groupe
Vous pouvez accorder l’accès aux groupes en utilisant des revendications dans les identifiants vérifiés. Cela signifie que vous pouvez accorder sélectivement l’accès à différents groupes dans votre Discourse en fonction des revendications de l’identifiant d’un utilisateur. Pour configurer un groupe accessible via des identifiants vérifiables, allez dans “Gérer” > “Adhésion” et définissez les éléments suivants :
-
Permettre aux utilisateurs de rejoindre par identifiants vérifiables: true -
Afficher le bouton d'identifiants vérifiables sur ce groupe aux non-membres: (auto-explicatif) -
Rediriger les utilisateurs vers l'URL après vérification.: Par exemple, si vous utilisez un identifiant pour donner à un utilisateur accès à une catégorie à laquelle le groupe a accès, utilisez ce champ pour envoyer l’utilisateur à la catégorie une fois le processus de vérification terminé. -
Liste cumulative de revendication(s) qui accorde(nt) l'accès à ce groupe. Format : clé:valeur.: Notez que cette liste est cumulative, ce qui signifie qu’un utilisateur devra avoir toutes les revendications présentes dans son identifiant pour obtenir l’accès. Exemplehttps://coopcreds.com/cooperativeMembershipType:member https://coopcreds.com/cooperative:pavilion
Rappel
Si vous utilisez la méthode de vérification par rappel, vous devez également définir l’“Identifiant de l’identifiant qui accorde l’accès à ce groupe” sur l’identifiant du modèle de présentation que vous souhaitez utiliser pour ce groupe. Vous pouvez utiliser différents modèles de présentation pour différents groupes.
Badge
Vous pouvez accorder des badges aux utilisateurs en utilisant des revendications dans les identifiants vérifiés. Actuellement, vous ne pouvez le faire qu’en utilisant le composant d’en-tête (voir ci-dessous). Le paramètre du site à utiliser est verifiable credentials header badges, qui nécessite des entrées dans ce format :
badge_id~~claim:value
Par exemple
34~~https://coopcreds.com/cooperativeMembershipType:member
Vous pouvez obtenir l’identifiant d’un badge à partir de l’URL de la page du badge, par exemple :
/badges/9/autobiographer ## l'identifiant du badge est 9
En-tête
Vous pouvez utiliser le menu déroulant d’en-tête du plugin pour accorder aux utilisateurs l’accès à plusieurs groupes à la fois, ou à la fois des badges et des groupes. Les paramètres pertinents sont :
verifiable credentials header: trueverifiable credentials header groups: une liste de noms de groupes (chaque groupe doit déjà être configuré ; voir ci-dessus)verifiable credentials header badges: voir ci-dessusverifiable credentials header info url: l’URL d’un lien “en savoir plus” en bas à droite du menu déroulant.
L’icône d’en-tête apparaîtra si l’utilisateur n’est membre d’aucun groupe inclus dans la présentation de l’en-tête, ou n’a reçu aucun badge inclus dans la présentation de l’en-tête. Lorsque l’utilisateur clique dessus, il affichera les ressources auxquelles il peut accéder en vérifiant ses identifiants.
Support
Ce plugin est construit dans le cadre du Projet Cooperative Credentials, soutenu par ESSIF Lab financé par l’UE. Il sera utilisé en production par plusieurs parties prenantes dans le réseau Cooperative Credentials lors de son lancement plus tard cette année.