Authentication
1. Iniciar sesión (Login)
- local_servicerefactor_auth_user_login
Descripción: Autentica a un usuario mediante email y contraseña, devolviendo tokens de acceso (JWT), token de servicio (wstoken) y datos del perfil.
Endpoint: local_servicerefactor_auth_user_login
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_auth_user_login
- email: string | Email del usuario
- password: string | Contraseña en texto plano
Respuestas:
Login correcto
{ "status": 200, "code": 0, "message": "", "body": [ "wstoken": Token del usuario "token": Token jwt "refreshtoken": Refresh token "id": ID del token "name": Nombre del usuario "lastname": Apellido del usuario "email": Email del usuario "userpicture": Foto del usuario "publicprofile": 1 si es cuenta publica, 0 si es privada "lang": Idioma preferido del usuario "firstaccess": Bandera para indicar primer acceso "role": ID de rol "timezone": Zona horaria ]}Credenciales incorrectas
{ "status": 400, "code": 1, "message": "Incorrect user or password"}2. Autenticar con Token
- local_servicerefactor_auth_user_token
Descripción: Realiza el login utilizando un token firmado previamente (laab2), útil para integraciones SSO o redirecciones desde el manager.
Endpoint: local_servicerefactor_auth_user_token
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_auth_user_token
- token: string | Token firmado
- manager: int | Flag para indicar si viene del manager (0 o 1) (Opcional, por defecto 0)
Respuestas:
Autenticación correcta
{ "status": 200, "code": 0, "message": "", "body": [ "wstoken": Token del usuario "token": Token jwt "refreshtoken": Refresh token "id": ID del token "name": Nombre del usuario "lastname": Apellido del usuario "email": Email del usuario "userpicture": Foto del usuario "publicprofile": 1 si es cuenta publica, 0 si es privada "lang": Idioma preferido del usuario "firstaccess": Bandera para indicar primer acceso "role": ID de rol "timezone": Zona horaria "courseid": ID de curso ]}Token inválido
{ "status": 400, "code": 1, "message": "Invalid token"}Usuario no existe
{ "status": 400, "code": 4, "message": "User does not exist"}3. Generar acceso para estudiante
- local_servicerefactor_generate_access_student
Descripción: Permite a un usuario con roles permitidos (manager, profesor, tutor, etc.) generar un token de acceso temporal para un estudiante específico.
Endpoint: local_servicerefactor_generate_access_student
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_generate_access_student
- email: string | Email del estudiante objetivo
- token: string | Token del usuario que solicita el acceso
Respuestas:
Token generado
{ "status": 200, "code": 0, "message": "", "body": [ "accesstoken": Token de acceso ]}Usuario solicitante sin permisos
{ "status": 403, "code": 4, "message": "User without permissions"}Estudiante no encontrado
{ "status": 404, "code": 5, "message": "Student does not exist"}4. Generar acceso estudiante (Externo)
- local_servicerefactor_generate_access_student_external
Descripción: Genera un token de acceso para un estudiante utilizando un token externo validado contra claves públicas almacenadas.
Endpoint: local_servicerefactor_generate_access_student_external
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_generate_access_student_external
- email: string | Email del estudiante
- token: string | Token externo firmado
Respuestas:
Token generado
{ "status": 200, "code": 0, "message": "", "body": { "accesstoken": Token de acceso }}Token externo inválido
{ "status": 400, "code": 1, "message": "Invalid token"}Estudiante no encontrado
{ "status": 404, "code": 4, "message": "Student does not exist"}5. Refrescar token
- local_servicerefactor_refresh_user_token
Descripción:
Genera un nuevo token de acceso (JWT) válido por 24 horas utilizando un refreshtoken válido.
Endpoint: local_servicerefactor_refresh_user_token
Método: POST
Argumentos:
- wstoken: string | token de Manager
- moodlewsrestformat: json | formato de la respuesta
- wsfunction: string | local_servicerefactor_refresh_user_token
- refreshtoken: string | Token de refresco
Respuestas:
Nuevo token generado
{ "status": 200, "code": 0, "message": "", "body": { "token": Token de acceso }}Token inválido
{ "status": 400, "code": 1, "message": "Invalid token"}Token expirado
{ "status": 400, "code": 2, "message": "Expired token"}