Chamilo
Chamilo 1.11 - Gallego
Chamilo 1.11 - Gallego
  • Introduction
  • Manual do Profesor
    • Introdución
      • ¿Qué é Chamilo?
      • Acerca desta guía
      • ¿A quén está dirixida esta guía?
      • Cómo utilizar esta guía.
      • Usabilidade xeral
    • ¿Por que Chamilo?
      • Paradigmas da formación
      • Elementos comúns da interface
    • A páxina de inicio de Chamilo
    • Rexistrarse na plataforma
    • Atopando o camiño en Chamilo
    • Creación de cursos
    • Control do aceso ao curso
    • Organizar os cursos
      • Categorías Personais
      • Suscribirse a outros cursos
      • Iconas de xestión do curso
    • Administración do curso
    • Editor en liña (teacher/WYSIWYG)
      • Ferramentas variables
      • Subir unha imaxe
    • Páxina principal do curso
      • Texto de introdución
      • Ferramentas de creación de contidos
      • Ferramentas de interación
      • Ferramentas de Administración
    • Primeiros pasos: Documentos
      • Crear un directorio
      • Cambiar rápidamente de directorio
      • Importar un documento
      • Creación de contido en Chamilo
      • Gardando documentos
      • Borrando un arquivo ou un directorio
      • Análisis da cuota de espazo dun curso
      • Presentación de Imaxes
    • Interactividade: Exercicios
      • Introdución
      • Creando un novo exercicio
      • Retroalimentación, resultados e respostas correctas
      • Tipos de exercicios
      • Engadindo preguntas a un exercicio
      • Reuso de preguntas existentes
      • Importación: HotPotatoes, IMS/QTI2, Excel
      • Resultados das probas
      • Exercicios de tipo autoevaluación
    • Comunicación: Foros
      • Usando as vistas do foro
      • Engadir categorías ao foro
      • Engadir foro
      • Xestionar as categorías dun foro
      • Xestionar foros
      • Comezar un novo tema
      • Administrar fíos de discusión
      • Administrar mensaxes
      • Evaluar os estudantes
      • Dar unha puntuación a unha mensaxe
      • Engadir mensaxes a un fío
      • Responder a unha mensaxe específica
      • Citar unha mensaxe anterior
      • Responder ou Responder a este fío
      • Buscar elementos no foro
    • Estrutura: Rutas de aprendizaxe
      • Introdución
      • Crear unha ruta de aprendizaxe
      • Engadir Obxetos de aprendizaxe e Actividades
      • Importar AICC e SCORM
      • Xestión de leccións
      • Prerrequisitos
      • Xerar certificados
    • Informes
      • Seguimento dos alumnos
      • Mostrar datos individuais dos alumnos
      • Informes do curso
      • Informe de recursos
      • Informe sobre Exercicios/Probas
    • Tarefas
      • Creación de tarefas
      • Finalización das tarefas dos estudantes
      • Administrar tarefas
      • Configuración da evaluación de tarefas
      • Datas de caducidade da tarefa
      • Marcar tarefas
    • Usuarios
      • Inscribir usuarios
    • Evaluacións
      • Pre-configuración de evaluacións
      • Crear un componente de evaluación presencial
      • Engadir un componente de evaluación en liña
      • Vista plana
      • Xestionar actividades
      • Competencias
    • Wiki
      • Iniciando a wiki
      • Enlazar unha nova páxina
      • Engadir unha páxina orfa
      • Comentando unha páxina
      • Outras características da wiki
    • Enlaces
      • Categorías de Enlaces
      • Enlaces
      • Xestionar enlaces
      • Verificador de enlaces
    • Anuncios
      • Engadir un anuncio
      • Xestión de anuncios
    • Glosario
      • Novos termos
      • Xestión do glosario
    • Asistencias
      • Crear unha folla de asistencias
      • Rexistrar asistencias
    • Programación didáctica
      • Crear unha unidade didáctica
      • Definir a programación
      • Crear etapas de avance temático
    • Axenda
      • Engadir un evento á axenda de curso
      • Importar e exportar eventos
      • Engadir un evento á axenda persoal
    • Compartir documentos (teacher/dropbox)
      • Carpetas
      • Enviar un arquivo a usuarios específicos
      • Xestionar arquivos compartidos
      • Ler e agregar comentarios sobre un arquivo
    • Grupos
      • Crear un grupo
      • Parámetros de grupos
      • Auto-enchido dun grupo
      • Enchido manual dun grupo
      • Entrar dentro do espazo de grupo
      • Vista xeral e exportación de membros do grupo
      • Xestión de grupos
    • Chat
      • Enviar unha mensaxe
      • Vaciar mensaxes
    • Enquisas
      • Creación de enquisas
      • Engadir preguntas á enquisa
      • Vista previa da enquisa
      • Publicación da enquisa
      • Resultados
      • Xestión de enquisas
    • Notas persoais
      • Creación de notas
      • Ordear notas
    • Blogs
      • Creación dun blog
      • Inscribir alumnos a un blog
      • Novo artículo/tarefa
      • Administración de tarefas e roles
      • Asignar unha tarefa ou rol a un alumno
      • Indicar a execución dunha tarefa
      • Administración de permisos dos alumnos
    • Configuración do curso
      • Actualizar a configuración xeral dun curso
      • Visibilidade e aceso
      • Notificacións por e-mail
      • Permisos de usuario
      • Configuración do chat
      • Configuración das leccións
      • Configuración das programacións didácticas
    • Mantemento do curso
      • Crear unha copia de seguridade
      • Importar unha copia de seguridade
      • Copiar o curso
      • Reciclar este curso
    • Informes
      • Informes de cursos e sesións
    • Rede Social
      • Información do perfil de usuario
      • Mensaxería Interna
      • “Amigos”
      • Grupos
      • Meus arquivos
    • Vista de sesións
      • Lapela Cursos
      • Lapela leccións
      • As miñas probas
      • Lapela As Miñas estatísticas
    • Apéndice
      • Glosario
      • Preguntas frecuentes
      • Licencia de uso deste manual
      • Índice de ilustracións
      • Índice alfabético
      • Document histore
  • Manual do Administrador
    • Unidade Administrador
      • Instalación e configuración
      • Copias de seguridade
      • Administración da plataforma
      • Administración de Usuarios
      • Administración dos cursos
      • Administración de sesións
      • Administración do sistema
      • Funcionalidades globais
      • Cambios nesta versión
      • Opcións de configuración
    • Apéndice
      • Preguntas frecuentes
      • Licencia
      • Historial do documento
  • Manual do Desenvolvedor
    • Servicios web
      • SOAP, REST e XML-RPC
      • Conexión e chave de seguridade
      • Restriccións sobre a IP de chamada
      • Outros métodos
Powered by GitBook
On this page
Export as PDF
  1. Manual do Desenvolvedor
  2. Servicios web

Conexión e chave de seguridade

El mecanismo de autenticación de los servicios web es un poco raro, así que dejenos darle un ejemplo de como haríamos para llamar un servicio que cree un usuario en Chamilo desde otra aplicación en PHP... luego explicaremos las distintas partes.

$url = 'https://chamilo.net/main/webservices/';
$soap = new SoapClient($url.'registration.soap.php?wsdl');

// obtiene su propia IP, tal como la ve el servidor de Chamilo (necesaria
// para elaborar la clave de seguridad)
$myIp = file_get_contents($url.'testip.php');

// usa la security_key como definida en main/inc/conf/configuration.php
$key = '23534f3223a3cb234234324208';

// ahora podemos construir la clave que necesitamos
$finalKey = sha1($myIp.$key);

// prepara los detalles para mandar al servicio (en forma de array)
$params = array(
    'secret_key' => $finalKey,
    'firstname' => 'Yannick',
    'lastname' => 'Warnier',
    'status' => 5,
    'loginname' => 'ywarnier',
    'password' => '243fvsdfvs6dfv657dfvs32dfvs34dfv',
    'encrypt_method' => 'sha1',
    'email' => 'y@chamilo.org',
    'language' => 'spanish',
    'phone' => '',
    'expiration_date' => '2015-01-01',
    'original_user_id_name' => 'external_user_id',
    'original_user_id_value' => 34, 
    'official_code' => 34, 
    'extra' => array()
);

// finalmente, llamamos al servicio
$soap->WSCreateUserPasswordCrypted($params);

Al inicio, hemos formado una URL para acceder al WSDL. La mayoría de los archivos en main/webservices/ (casi todos) pueden ser llamados con un sufijo “?wsdl” para mostrar el WSDL (la presentación estructurada de las funciones disponibles). Esto debería ser suficiente para que cualquier cliente SOAP sepa qué funciones están disponibles para una llamada.

Luego hemos buscado una IP como el contenido del script testip.php. Este script está ahí específicamente para ayudarnos a formar la llave secreta: necesitamos mostrar al servidor que sabemos desde qué IP estamos llamando. Usando file_get_contents(), podemos obtener esta información directamente dentro de una variable.

Luego definimos una clave ($key)… Esta solamente la podemos obtener a través de un acceso directo al servidor web. Actua como una clave compartida (“shared key”) entre los dos servidores. Tenemos que abrir el archivo app/config/configuration.php, buscar la línea con $_configuration['security_key'], y luego copiar su valor dentro de nuestro script para formar nuestra clave secreta final. Esta es la que mandaremos al servicio web.

Finalmente, hemos preparado el array $params y llamado el servicio WSCreateUserPasswordCrypted(). Este servicio es una versión especial de WSCreateUser() que solo funciona si usamos el mismo método de cifrado de contraseñas de ambos lados (se tiene que mencionar en el parámetro encrypt_method que por ahora solo acepta 'md5' y 'sha1').

El parámetro original_user_id_name es lo que permite hacer el enlace entre Chamilo y nuestro servicio externo. Basta con darle un nombre constante que represente nuestro sistema y el hecho que se trata de un ID de usuario (por ejemplo joomla_uid sería un buen nombre para una conexión con un sistema Joomla, si es que este es el único sistema Joomla con el cual lo conectamos).Luego podemos darle el valor del ID del usuario en nuestro sistema externo dentro del parámetro original_user_id_value. Con este par de valores, podrá volver a editar o borrar cualquier usuario anteriormente creado via el servicio web : Chamilo mantendrá una relación entre el mismo y su sistema externo gracias al almacenamiento de estos datos.

La misma lógica funciona con los cursos y las sesiones: mantenemos, dentro de la base de datos de Chamilo, el dato del ID externo de esta entidad.

PreviousSOAP, REST e XML-RPCNextRestriccións sobre a IP de chamada

Last updated 4 years ago