Interacción con Moodle

De siette.wiki.es
Saltar a navegación, buscar

Para poder llevar a cabo la integración de SIETTE en Moodle, se ha desarrollado un módulo nuevo, denominado siettetest, que permitirá la gestión de tests de SIETTE en un curso de Moodle.

Contenido

Requisitos para la instalación del módulo

Este nuevo módulo se comunica con SIETTE realizando un proceso de autentificación mediante firma digital. De esta forma SIETTE podrá verificar que las peticiones y acciones están siendo originadas por el sistema Moodle. Además, para hacer el canal más seguro, el módulo puede usar HTTPS en la comunicación con el servidor de SIETTE. No obstante, para poder usar estas funcionalidades son necesarios una serie de requisitos en el servidor Moodle donde vaya a ser instalado:

  • Si se va a usar la conexión segura HTTPS, el servidor necesita tener instalado el paquete cURL para PHP (ver página web de CURL).
  • La firma digital, realizada mediante criptografía de clave pública, concretamente RSA, necesita el paquete openssl para PHP (ver página web de OPENSSL).

Debido al proceso de firma digital que se realiza, es necesario generar un par de claves asimétricas. La privada será mantenida en secreto por Moodle y será usada para firmar, y la pública será pasada a SIETTE, que la almacenará en su base de datos y usará para el protocolo de autentificación.

Generación de claves con openssl

Es necesario generar dos claves, como ya se ha comentado anteriormente, para la autentificación de Moolde en SIETTE. La privada debe ser guardada en un archivo con formato PEM, y la pública debe ser almacenada en un archivo con formato DER o PEM para ser procesada por SIETTE.

A continuación se listan algunos comandos de openssl útiles para la creación y uso de los archivos con los formatos anteriores:

  • Generar una clave privada de RSA en un archivo “priv_key.pem” con formato PEM sin utilizar password:
         openssl genrsa -out priv_key.pem
  • Generar una clave publica a partir del archivo de una clave privada "priv_key.pem", y guardarla en el archivo “pub_key.pem” con formato PEM:
         openssl rsa -in priv_key.pem -pubout -out pub_key.pem 
  • Generar una clave publica a partir del archivo de una clave privada “priv_key.pem”, y guardarla en el archivo “pub_key.der” con formato DER:
         openssl rsa -in priv_key.pem -pubout -outform DER -out pub_key.der
  • Consultar la clave generada en un archivo con formato PEM o DER:
         openssl rsa -in pub_key.pem -inform PEM -text [-pubin]

Donde –pubin se utiliza opcionalmente si el archivo contiene la clave pública, y PEM puede ser sustituido por DER para archivos con este formato.

Los nombres de fichero pueden incluir la ruta completa.

Instalación del módulo siettetest

La instalación consiste en copiar la carpeta correspondiente al módulo de SIETTE, llamada siettetest, en la carpeta mod en la que se encuentre instalado Moodle. Posteriormente hay que copiar en la carpeta security dentro de siettetest el archivo PEM de la clave privada generada. Por defecto hay un archivo ya generado con este formato, pero se ofrece la posibilidad de usar uno propio.

Configuración del nuevo módulo en Moodle

Una vez se ha realizado el proceso de instalación es necesario configurar el módulo Moodle con los parámetros adecuados, para ello el administrador del sistema debe irse a la zona de administración. Automáticamente Moodle detectará el nuevo módulo y realizará el proceso de creación de tablas en la base de datos. Posteriormente, en el listado de actividades disponibles, dentro de la zona de módulos en el panel de administración, se podrá ver la nueva actividad Cuestionario de SIETTE y junto a ella el enlace configuración mediante el cual realizar la configuración.

IntegracionMoodle.jpg

Una vez se ha entrado en la zona de administración habrá que configurar los valores de determinados parámetros, necesarios para el correcto funcionamiento del módulo:

  • Identificador del sistema externo a SIETTE, el cual se usará en el proceso de autentificación por SIETTE. Cada identificador estará asociado a un único sistema externo y será proporcionado por los administradores del sistema SIETTE. Este identificador debe sustituir al por defecto:
         external
  • URL del servidor SIETTE, en la que se encuentra la aplicación web de SIETTE, por defecto será:
         https://localhost:8080/siette/
  • URL relativa del servicio Web de SIETTE, que junto con la URL anterior permita formar la URL completa para el acceso a los servicios Web. Por defecto será:
         Services/External
  • El nombre del archivo que contiene la clave privada. Este archivo se busca en la carpeta security como se comentó en el proceso de instalación, por lo que cualquier otra ruta del archivo será relativa a esta carpeta. Por defecto toma el valor:
         priv_key.pem

La conectividad con el servicio Web de SIETTE podrá ser probada pulsando en el botón Comprobar situado junto a la URL relativa del servicio.

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegacion
Manual de SIETTE
Herramientas
Otros idiomas