Moodle oauth2

Acceso rápido:

Enlace Moodle login

Esto me llevó a mirar los códigos en /admin/oauth2callback.php(https://github.com/moodle/moodle/blob/master/admin/oauth2callback.php) y traté de imprimir el valor de «state», estaba incompleto que estaba obteniendo /auth/oauth2/login. php?wantsurl=https%3A%2F%2Fmoodle.site%2F en lugar del valor completo de «state» que debería ser /auth/oauth2/login.php?wantsurl=https%3A%2F%2Fmoodle.site%2F&sesskey=QH3jBiWkLc&id=1. Este era sin duda el problema de codificación. Como el oauth2callback.php sólo utiliza la variable de estado, no pudo encontrar la clave de sesión.

Iniciar sesión con google moodle

Un emisor de OAuth debe tener un número de puntos finales definidos que son las URLs utilizadas para obtener e intercambiar tokens de acceso, así como para obtener información de identidad. Estos se configurarán automáticamente para los servicios OAuth creados a partir de una plantilla, o los servicios OAuth que utilizan Open ID Connect.

Los 3 puntos finales estándar que deben ser definidos son el «punto final de autorización», el «punto final de token» y el «punto final de información de usuario» – son 3 urls que son utilizadas por el protocolo OAuth para «permitir al usuario iniciar sesión», «obtener tokens para acceder a la api» y «obtener la información del usuario conectado».

Por ejemplo, para la plataforma de pruebas IMS Global, la URL del servicio base es «https://dc.imsglobal.org/». Añadiendo «.well-known/badgeconnect.json» a la URL podemos encontrar la descripción del servicio que contiene toda la información necesaria para que podamos completar automáticamente la configuración de este servicio (endpoints, id y secreto del cliente, imagen…).

Cualquier servicio OAuth2 debe tener una clase en la carpeta lib/classes/oauth2/service/ que extienda desde un sistema de descubrimiento (core\oauth2\discovery\base_definition) e implemente core\oauth2\service\issuer_interface:

Autenticación de Moodle en Google

Es importante entender cómo un programa, un sitio web o una aplicación pueden autenticarte como usuario: ¿tienen los permisos adecuados? ¿Les has concedido algún tipo de forma de verificar quién eres, y de acceder a los datos en tu nombre? OAuth ayuda a agilizar este proceso: pero incluso con la automatización, siempre hay que ser consciente de cómo una persona o empresa utiliza (o almacena) tus datos.

OAuth no comparte los datos de las contraseñas, sino que utiliza tokens de autorización para demostrar una identidad entre los consumidores y los proveedores de servicios. OAuth es un protocolo de autenticación que le permite aprobar que una aplicación interactúe con otra en su nombre sin revelar su contraseña.

SAML (Security Assertion Markup Language) es un estándar alternativo de autenticación federada que muchas empresas utilizan para el inicio de sesión único (SSO). SAML permite a las empresas controlar quién tiene acceso a los recursos corporativos.

El ejemplo más sencillo de OAuth en acción es un sitio web que dice «oye, ¿quieres entrar en nuestro sitio web con el login de otro sitio web?». En este caso, lo único que quiere saber el primer sitio web -llamémosle consumidor- es que el usuario es el mismo en ambos sitios web y que ha iniciado la sesión con éxito en el proveedor de servicios, que es el sitio en el que el usuario inició la sesión inicialmente, no el consumidor.

Api de autenticación de Moodle

Las herramientas LTI de LibApps le permiten integrar sus contenidos en los cursos de su institución directamente, mostrándolos dentro del marco del LMS – sin tener que sacarlos de la experiencia del LMS para ver sus guías o E-Reserves. Esto le permite ofrecerles los recursos que necesitan junto con el resto de la información del curso, los enlaces, los debates, etc. Hay dos tipos de herramientas LTI disponibles:

LibGuides CMS es necesario para utilizar la funcionalidad completa de LibApps LTI, aunque si se suscribe a LibGuides base y al módulo E-Reserves, puede utilizar la herramienta LibApps LTI para incrustar el contenido del curso E-Reserves dentro de su Sistema de Gestión de Aprendizaje. Si no está suscrito a LibGuides CMS, ¡consulte todas las razones por las que debería hacerlo!

Recuerda: Los permisos de administración de LibApps son independientes de los permisos de las aplicaciones individuales (como LibGuides o LibAnswers). Por ejemplo, si usted es un administrador de LibGuides, eso no lo convierte automáticamente en un administrador de LibApps.

Para activar esta integración, primero debe añadir una conexión a su ILS en LibApps. Si no es un usuario administrador de LibApps para su biblioteca, tendrá que trabajar con ellos y con su(s) administrador(es) de ILS para configurar esto. Actualmente, LibApps puede conectarse con los siguientes sistemas: