Resumen: Utilice Credenciales Verificables para otorgar acceso a grupos e insignias en Discourse.
GitHub: https://github.com/coopcreds/discourse-verifiable-credentials
Instalar: Siga la guía de instalación de plugins.
Demostración
Puede probar este plugin usted mismo siguiendo los pasos del enlace a continuación. Se le emitirá una “Credencial Cooperativa” de prueba que luego podrá usar para obtener acceso a un grupo y recibir una insignia en la instancia de Discourse de credenciales cooperativas. Tenga en cuenta que la credencial es solo para fines de prueba y puede ser revocada sin previo aviso.
Proveedores
Actualmente, el plugin admite los siguientes proveedores de credenciales verificables.
| Proveedor | Tipo de Verificación | Compatible |
|---|---|---|
| MATTR | OIDC | Sí |
| MATTR | Callback | Sí |
| Verifiable Credentials Ltd | - | Parcialmente |
El plugin está diseñado para admitir cualquier proveedor, pero agregar proveedores adicionales requiere algo de trabajo de implementación. Si desea agregar otro proveedor, póngase en contacto.
Configuración
Se necesita cierta comprensión de las credenciales verificables para usar este plugin. MATTR, el principal proveedor admitido actualmente por el plugin, ha creado algunos videos que son relevantes para las opciones actuales del plugin:
Este plugin le permite verificar la credencial de un usuario para darle acceso a uno o más grupos o insignias en Discourse. Las siguientes secciones detallan la configuración de verificación, grupos e insignias. Como el plugin solo admite MATTR actualmente, las instrucciones asumen que está utilizando MATTR.
Verificador
El tipo de configuración de verificador que utilice dependerá del tipo de sistema con el que se esté integrando. Si usted es el verificador y está configurando un Discourse que controla, es posible que desee utilizar una verificación de callback. Si forma parte de una red que depende de un único verificador, es decir, es una “Parte Confiable”, es posible que desee utilizar la verificación OIDC.
OIDC
Si está utilizando un Verificador OIDC (por ejemplo, está utilizando la Integración MATTR Auth0), debe configurar los siguientes ajustes del sitio:
verifiable credentials oidc: trueverifiable credentials mattr verifier id: El id (no el DID) de su Verificador OIDCverifiable credentials mattr client id: El id del cliente de la Aplicación Cliente OIDC para su Discourse (tenga en cuenta que este no es el id del cliente de su tenant de MATTR)verifiable credentials mattr client secret: El secreto del cliente de la Aplicación Cliente OIDC para su Discourse (tenga en cuenta que este no es el secreto del cliente de su tenant de MATTR)
Callback
Si está utilizando una verificación de callback estándar, debe configurar los siguientes ajustes del sitio:
verifiable credentials oidc: falseverifiable credentials mattr client id: Id del cliente del tenant de MATTR donde se aloja el verificadorverifiable credentials mattr client secret: Secreto del cliente del tenant de MATTR donde se aloja el verificadorverifiable credentials mattr messaging did: Un DID conkeyTypedeed25519
Grupo
Puede otorgar acceso a grupos utilizando reclamaciones en credenciales verificadas. Esto significa que puede otorgar selectivamente acceso a diferentes grupos en su Discourse según las reclamaciones en la credencial de un usuario. Para configurar un grupo al que se pueda acceder a través de credenciales verificables, vaya a “Gestionar” > “Membresía” y configure lo siguiente:
-
Allow users to join by verifiable credentials: true -
Show verifiable credentials button on this group to non members: (autoexplicativo) -
Redirect users to url upon verification.: Por ejemplo, si está utilizando una credencial para dar a un usuario acceso a una categoría a la que el grupo tiene acceso, use este campo para enviar al usuario a la categoría cuando el proceso de verificación esté completo. -
Cumulative list of claim(s) that grants access to this group. Format: key:value.: Tenga en cuenta que esta lista es acumulativa, lo que significa que un usuario necesitará todas las reclamaciones presentes en su credencial para obtener acceso. Ejemplohttps://coopcreds.com/cooperativeMembershipType:member https://coopcreds.com/cooperative:pavilion
Callback
Si está utilizando el método de verificación de Callback, también debe establecer el Identifier of credential that grants access to this group en el id de la plantilla de presentación que desea utilizar para ese grupo. Puede utilizar diferentes plantillas de presentación para diferentes grupos.
Insignia
Puede otorgar insignias a los usuarios utilizando reclamaciones en credenciales verificables. Actualmente, solo puede hacerlo utilizando el componente de encabezado (ver más abajo). El ajuste del sitio a utilizar es verifiable credentials header badges, que requiere entradas en este formato:
badge_id~~claim:value
Por ejemplo
34~~https://coopcreds.com/cooperativeMembershipType:member
Puede obtener el id de una insignia desde la URL de la página de la insignia, por ejemplo:
/badges/9/autobiographer ## el id de la insignia es 9
Encabezado
Puede utilizar el menú desplegable del encabezado del plugin para otorgar a los usuarios acceso a varios grupos a la vez, o insignias y grupos al mismo tiempo. Los ajustes relevantes son:
verifiable credentials header: trueverifiable credentials header groups: una lista de nombres de grupos (cada grupo ya debe estar configurado; ver arriba)verifiable credentials header badges: ver arribaverifiable credentials header info url: la URL para un enlace de “más información” en la parte inferior derecha del menú desplegable.
El icono del encabezado aparecerá si el usuario no es miembro de un grupo incluido en la presentación del encabezado, o no se le ha otorgado una insignia incluida en la presentación del encabezado. Cuando el usuario haga clic en él, se mostrarán los recursos a los que puede acceder verificando sus credenciales.
Soporte
Este plugin se ha desarrollado como parte del Proyecto de Credenciales Cooperativas, que cuenta con el apoyo de ESSIF Lab, financiado por la UE. Será utilizado en producción por varias partes confiables en la red de Credenciales Cooperativas cuando se lance a finales de este año.
