El complemento de Inicio de sesión alternativo tiene un interruptor en la esquina superior derecha que le permite activar o desactivar esta funcionalidad.
Para poder activar el complemento primero se deben llenar y guardar todos los campos del formulario.
Al activar este complemento, los usuarios podrán iniciar sesión validando sus credenciales contra un servicio Web externo, lo cual determinará si pueden ingresar a la plataforma o no.
En este complemento se definen todos los datos necesarios para realizar esta validación, como lo son: la ruta hacia el servicio Web externo (endpoint), los nombres de los parámetros a enviar a este servicio Web y las etiquetas a mostrar en el formulario de inicio de sesión alternativo. Los campos a llenar de este complemento son:
Ruta: indica la ruta (endpoint) hacia la cual enviar las credenciales que se definirán en este complemento para el inicio de sesión.
Campo identificador:
- Parámetro: indica el nombre del parámetro a enviar al servicio Web externo que corresponde al identificador del usuario.
- Etiqueta en español: indica el texto en español que se mostrará en el formulario de inicio de sesión para solicitar el identificador del usuario cuando la plataforma se muestre en español.
- Etiqueta en inglés: indica el texto en inglés que se mostrará en el formulario de inicio de sesión para solicitar el identificador del usuario cuando la plataforma se muestre en inglés.
Campo clave secreta:
- Parámetro: indica el nombre del parámetro a enviar al servicio Web externo que corresponde a la clave secreta del usuario.
- Etiqueta en español: indica el texto en español que se mostrará en el formulario de inicio de sesión para solicitar la clave secreta del usuario cuando la plataforma se muestre en español.
- Etiqueta en inglés: indica el texto en inglés que se mostrará en el formulario de inicio de sesión para solicitar la clave secreta del usuario cuando la plataforma se muestre en inglés.
La validación del usuario se logra realizando una petición hacia la ruta definida en este complemento y enviando en dicha petición un par de valores que denominaremos [identificador y clave] como por ejemplo: [correo y contraseña] o [teléfono y PIN].
Tipo de petición: | POST |
Cabecera: | Content-Type: application/json |
Formato de los parámetros a enviar: | { «identificador»: «pedroperez», «clave»: «1234» } |
El servicio Web verifica las credenciales enviadas, devuelve una respuesta y, dependiendo de la respuesta, se le permite o se le impide al usuario el acceso a la plataforma.
Las respuestas se consideran exitosas o fallidas basándose principalmente en los códigos de estado HTTP.
Se considera una respuesta exitosa cuando se recibe un código de estado HTTP 2xx: «Peticiones correctas» y cumple con las siguientes características:
Código de estado HTTP: | 2xx |
Cabecera: | Content-Type: application/json |
Formato de respuesta: | { «status»: «200», «message»: «OK» } |
Nota: Si se recibe un código de estado HTTP 2xx pero el formato de respuesta no se cumple, se considerará fallida la respuesta.
Se admite recibir en la respuesta exitosa un parámetro «user_data» que la aplicación podrá leer para completar la información del usuario.
Se puede incluir la clave booleana «update» dentro del objeto «user_data» que indicará si los atributos recibidos deben reemplazar o no a los que ya existen en la BD de Teachlr para ese usuario. Esta clave «update» tomará automáticamente el valor de «true» si el usuario no existía previamente y va a ser registrado por primera vez.
Los posibles atributos que se pueden enviar en la respuesta exitosa de inicio de sesión, y que se tomarán para completar la información del usuario en la aplicación, son los siguientes:
Atributo | Descripción |
Dirección de correo electrónico | |
name | Nombre |
last_name | Apellido |
job | Cargo |
department | Departamento |
about | Bio (información acerca del usuario) |
phone | Teléfono |
identifiction_number | Cédula de Identidad |
employee_number | Número de empleado |
organization_name | Nombre de la organización |
update | ¿Actualizar información? |
En la respuesta se pueden recibir todos o algunos de estos atributos, cuyos valores pueden ser modificados posteriormente por el usuario en el módulo de «Ajustes personales» de la aplicación, si están habilitados.
Otros atributos que puede recibir la respuesta son «course_id» y «group_id», los cuales deben ser arreglos con los IDs de cursos/grupos a los cuales será suscrito el usuario luego de iniciar sesión exitosamente.
A continuación, se muestra el objeto completo de respuesta exitosa que admite la aplicación.
Código de estado HTTP: | 2xx |
Cabecera: | Content-Type: application/json |
Formato de respuesta: | { «status»: «200», «message»: «OK», «user_data»: { «email»: «pedroperez@dominio.com», «name»: «Pedro», «last_name»: «Pérez», «job»: «Analista/programador», «department»: «Informática», «about»: «Lorem ipsum dolor sit amet», «phone»: «04169998877», «identification_number»: «14425125», «employee_number»: «E14425125», «organization_name»: «Empresa», «course_id»: [1,2,3], «group_id»: [20,21,22], «update»: true } } |
Nota: en caso de recibir los atributos «email» y/o «employee_number», la aplicación verificará que el email tenga un formato válido y que ambos no estén registrados ya en la aplicación para otro usuario. Si estas validaciones fallan, se le informará al usuario del error.
Se considerará una respuesta fallida cuando no se recibe un código de estado HTTP 2xx, como por ejemplo, un código 4xx: «Errores del cliente»:
Código de estado HTTP: | 4xx |
Cabecera: | Content-Type: application/json |
Formato de respuesta: | { «status»: «4xx», «message»: «Mensaje de error» } |
Para los casos de respuesta fallida se le mostrará al usuario el mensaje recibido por el servicio Web externo en el parámetro «message», si lo hubiera.
Se admite recibir también en la respuesta un parámetro «lang» que la aplicación podrá leer para mostrar el mensaje de error en el idioma en el que se está visualizando la aplicación en ese momento.
Para especificar cada lenguaje se utiliza la nomenclatura estandarizada ISO 639-1 de dos letras. A continuación, se muestra el objeto completo de respuesta fallida que admite la aplicación.
Código de estado HTTP: | 4xx |
Cabecera: | Content-Type: application/json |
Formato de respuesta: | { «status»: «4xx», «message»: «Mensaje de error», «lang»: { «es»: «Se ha producido un error», «en»: «An error occurred», «fr»: «Une erreur s’est produite», «pt»: «Ocorreu um erro», «he»: » אירעה שגיאה» } } |
Cabe destacar que el parámetro «lang» es opcional y depende de que exista el parámetro «message». Si no se envía el parámetro «lang», la aplicación entonces mostrará el mensaje especificado en el parámetro «message».
Si el parámetro «message» no se envía o el objeto de respuesta no es un objeto JSON válido, la aplicación mostrará entonces (en el idioma actual de la aplicación) un mensaje por defecto, que en español sería:
«Tus credenciales no pudieron ser verificadas. Por favor, contacta al administrador.»
Leave A Comment?