Zusammenfassung: Verwenden Sie Verifiable Credentials, um den Zugriff auf Gruppen und Abzeichen in Discourse zu gewähren.
GitHub: https://github.com/coopcreds/discourse-verifiable-credentials
Installation: Befolgen Sie die Plugin-Installationsanleitung.
Demo
Sie können dieses Plugin selbst ausprobieren, indem Sie die Schritte im Link unten befolgen. Sie erhalten ein Test-„Cooperative Credential“, mit dem Sie dann Zugriff auf eine Gruppe erhalten und ein Abzeichen auf der Discourse-Instanz von Cooperative Credentials erhalten können. Beachten Sie, dass das Zertifikat nur zu Testzwecken dient und ohne Vorankündigung widerrufen werden kann.
Anbieter
Das Plugin unterstützt derzeit die folgenden Anbieter von verifizierbaren Anmeldeinformationen.
| Anbieter | Verifizierungstyp | Unterstützt |
|---|---|---|
| MATTR | OIDC | Ja |
| MATTR | Callback | Ja |
| Verifiable Credentials Ltd | - | Teilweise |
Das Plugin ist so konzipiert, dass es jeden Anbieter unterstützt, aber das Hinzufügen weiterer Anbieter erfordert einige Implementierungsarbeiten. Wenn Sie einen weiteren Anbieter hinzufügen möchten, wenden Sie sich bitte an uns.
Konfiguration
Ein gewisses Verständnis von verifizierbaren Anmeldeinformationen ist für die Verwendung dieses Plugins erforderlich. MATTR, der derzeit vom Plugin unterstützte Hauptanbieter, hat einige Videos erstellt, die für die aktuellen Plugin-Optionen relevant sind:
Dieses Plugin ermöglicht es Ihnen, die Anmeldeinformationen eines Benutzers zu überprüfen, um ihm Zugriff auf Gruppen oder Abzeichen in Discourse zu gewähren. Die folgenden Abschnitte beschreiben die Konfiguration von Verifizierung, Gruppen und Abzeichen. Da das Plugin derzeit nur MATTR unterstützt, gehen die Anweisungen davon aus, dass Sie MATTR verwenden.
Verifizierer
Die Art der Verifizierer-Konfiguration, die Sie verwenden, hängt von der Art des Systems ab, mit dem Sie integrieren. Wenn Sie der Verifizierer sind und ein Discourse einrichten, das Sie kontrollieren, möchten Sie möglicherweise eine Callback-Verifizierung verwenden. Wenn Sie Teil eines Netzwerks sind, das auf einem einzigen Verifizierer basiert, d. h. Sie sind eine „Relying Party“, möchten Sie möglicherweise die OIDC-Verifizierung verwenden.
OIDC
Wenn Sie einen OIDC-Verifizierer verwenden (z. B. die MATTR Auth0 Integration), müssen Sie die folgenden Website-Einstellungen festlegen:
verifiable credentials oidc: trueverifiable credentials mattr verifier id: Die ID (nicht die DID) Ihres OIDC-Verifizierersverifiable credentials mattr client id: Die Client-ID der OIDC-Client-Anwendung für Ihr Discourse (beachten Sie, dass dies nicht Ihre MATTR-Tenant-Client-ID ist)verifiable credentials mattr client secret: Das Client-Geheimnis der OIDC-Client-Anwendung für Ihr Discourse (beachten Sie, dass dies nicht Ihr MATTR-Tenant-Client-Geheimnis ist)
Callback
Wenn Sie eine Standard-Callback-Verifizierung verwenden, müssen Sie die folgenden Website-Einstellungen festlegen:
verifiable credentials oidc: falseverifiable credentials mattr client id: Client-ID des MATTR-Tenants, auf dem der Verifizierer gehostet wirdverifiable credentials mattr client secret: Client-Geheimnis des MATTR-Tenants, auf dem der Verifizierer gehostet wirdverifiable credentials mattr messaging did: Eine DID mitkeyTypevoned25519
Gruppe
Sie können den Zugriff auf Gruppen über Claims in verifizierten Anmeldeinformationen gewähren. Das bedeutet, dass Sie den Zugriff auf verschiedene Gruppen in Ihrem Discourse selektiv gewähren können, abhängig von den Claims in den Anmeldeinformationen eines Benutzers. Um eine Gruppe für den Zugriff über verifizierbare Anmeldeinformationen einzurichten, gehen Sie zu „Verwalten“ > „Mitgliedschaft“ und legen Sie Folgendes fest:
-
Allow users to join by verifiable credentials: true -
Show verifiable credentials button on this group to non members: (selbsterklärend) -
Redirect users to url upon verification.: Wenn Sie beispielsweise eine Anmeldeinformation verwenden, um einem Benutzer den Zugriff auf eine Kategorie zu gewähren, auf die die Gruppe Zugriff hat, verwenden Sie dieses Feld, um den Benutzer nach Abschluss des Verifizierungsprozesses zur Kategorie zu leiten. -
Cumulative list of claim(s) that grants access to this group. Format: key:value.: Beachten Sie, dass diese Liste kumulativ ist, d. h. ein Benutzer benötigt alle in seinen Anmeldeinformationen vorhandenen Claims, um Zugriff zu erhalten. Beispielhttps://coopcreds.com/cooperativeMembershipType:member https://coopcreds.com/cooperative:pavilion
Callback
Wenn Sie die Callback-Verifizierungsmethode verwenden, müssen Sie auch die Identifier of credential that grants access to this group auf die ID der Präsentationstemplate festlegen, die Sie für diese Gruppe verwenden möchten. Sie können für verschiedene Gruppen unterschiedliche Präsentationstemplates verwenden.
Abzeichen
Sie können Benutzern Abzeichen über Claims in verifizierten Anmeldeinformationen gewähren. Derzeit können Sie dies nur über die Header-Komponente tun (siehe unten). Die zu verwendende Website-Einstellung ist verifiable credentials header badges, die Einträge in diesem Format erfordert:
badge_id~~claim:value
Zum Beispiel
34~~https://coopcreds.com/cooperativeMembershipType:member
Sie können die ID eines Abzeichens aus der URL der Abzeichenseite abrufen, z. B.
/badges/9/autobiographer ## die Abzeichen-ID ist 9
Header
Sie können das Header-Dropdown des Plugins verwenden, um Benutzern den Zugriff auf mehrere Gruppen gleichzeitig zu gewähren oder sowohl Abzeichen als auch Gruppen gleichzeitig. Die relevanten Einstellungen sind:
verifiable credentials header: trueverifiable credentials header groups: eine Liste von Gruppennamen (jede Gruppe muss bereits konfiguriert sein; siehe oben)verifiable credentials header badges: siehe obenverifiable credentials header info url: die URL für einen „Weitere Informationen“-Link unten rechts im Dropdown.
Das Header-Symbol wird angezeigt, wenn der Benutzer kein Mitglied einer Gruppe ist, die in der Header-Präsentation enthalten ist, oder wenn ihm kein Abzeichen gewährt wurde, das in der Header-Präsentation enthalten ist. Wenn der Benutzer darauf klickt, werden die Ressourcen angezeigt, auf die er durch die Überprüfung seiner Anmeldeinformationen zugreifen kann.
Unterstützung
Dieses Plugin wird als Teil des Cooperative Credentials Project entwickelt und von ESSIF Lab im Rahmen der EU-Förderung unterstützt. Es wird später in diesem Jahr in der Produktion von mehreren Relying Parties im Cooperative Credentials-Netzwerk eingesetzt.
