Aplicación vLanzadera y login social
Documentación y guía de instalación
Última actualización
¿Te fue útil?
Documentación y guía de instalación
Última actualización
¿Te fue útil?
Es una aplicación de Velneo que permite configurar una lanzadera de aplicaciones para navegador. La lanzadera permite utilizar un formulario web para identificar usuarios a través de nombre de usuario y contraseña usados tradicionalmente en Velneo, pero también añade la posibilidad de hacer login mediante con diferentes proveedores, lo que se conoce como Login Social.
para informarte sobre cómo puedes conseguirla.
vLanzadera solo funciona en , en versiones 32 o superior, y es necesario tener contratado el servicio .
En el caso de querer login social, es necesario configurar las credenciales de oauth con el proveedor de identidades que se desee utilizar (Google, facebook, etc.).
vLanzadera es una aplicación de Velneo. Para tener la lanzadera de aplicaciones hay que instalar el vin de la aplicación y crear una instancia durante la instalación.
La configuración se establece en el fichero /apache2/001-default-ssl.conf del servidor cloud.
Podremos editarlo conectándonos con el servidor cloud vía .
Lo primero que tenemos que asegurarnos es que la línea:
Include /etc/apache2/conf-available/vlanzadera.conf
esté presente al final de nuestro fichero de configuración de Apache. Si no lo está, añadirlo antes de la etiqueta </VIRTUALHOST>.
Debe quedar algo como sigue:
Ahora tenemos que crear el location para la aplicación que hemos instalado en el punto anterior. Dentro de la sección VirtualHost, debemos tener algo similar a esto:
El location tiene que llamarse obligatoriamente /auth.
Si tenemos más de un location declarado en Apache, el de la lanzadera debe ser el último.
El nombre de la aplicación debe ser el identificador de la instancia del proyecto de aplicación de vLanzadera:
El puerto a usar puede ser el indicado u otro, en función de los servicios contratados. Si tienes dudas puedes consultarlo con el personal de soporte de Velneo.
La línea VelneoMode está comentada intencionadamente, porque esta aplicación NO FUNCIONA en ese modo.
Si queremos que el raíz de nuestro sitio responda a las llamadas que se realicen a la vLanzadera, tendremos que añadir dentro de la directiva Directory del VirtualHost la redirección oportuna. Debería quedar algo similar a esto:
Si en el servidor se reinicia alguna solución que está configurada en el fichero de configuración de Apache, debemos reiniciar Apache después.
Si no la tenemos ya, añadir una línea que contenga la propiedad:
jwtKey=TU_CLAVE_JWT_DE_32
La clave JWT debe tener una longitud mínima de 32 caracteres.
De forma opcional, se puede configurar un parámetro de tiempo de validez del token.
jwtExpiredSeconds=NUMERICO_SEGUNDOS
Por seguridad el servidor solo aceptará el token generado por la lanzadera durante los siguientes jwtExpiredSeconds segundos más 60 segundos de cortesía por si hay desviación de la hora entre el cliente y el servidor.
Si no se configura el parámetro tendrá un valor por defecto de 60 segundos.
Por temas de seguridad, la clave JWT solo debe ser conocida por el administrador.
Cuenta con las siguientes pantallas:
En esta pantalla se pueden ver mensajes de información y alerta.
A continuación listamos los mensajes de errores que pueden generarse y las acciones que recomendamos llevar a cabo.
Error de descarga de fichero
Contactar con soporte de Velneo (incluir la salida del log de errores).
Error de creación de fichero
Contactar con soporte de Velneo (incluir la salida del log de errores).
Para usar Login Social con la aplicación vLanzadera es necesario que esté definida una clave. Consulta la documentación.
Aquí se modifican los textos que aparecen en la lanzadera.
Hay un check para activar el modo depuración, que activa diversos logs en el panel de desarrollador (F12) en la web de la lanzadera.
Aquí se pueden cambiar los iconos que se utilizan en la lanzadera.
Que la instancia esté dada de alta en la vLanzadera en este menú.
Que en el vAdmin el usuario tenga permisos para ejecutar la instancia.
Para añadir una instancia en vLanzadera, hay que crear un registro desde el menú de instancias. Hay que rellenar el campo código de instancia en el combobox.
En el combobox aparecen las instancias a las que el usuario que está ejecutando vLanzadera tiene acceso.
Cuando ejecutemos una instancia en el explorador web, en el título de éste se mostrará el nombre que ésta tenga definida en Velneo vAdmin:
Aquí se pueden configurar métodos de autenticación adicionales. Con vLanzadera viene por defecto la opción de Google deshabilitada.
Al crear un proveedor aparece un botón nuevo en la lanzadera. En vLanzadera se puede configurar el texto del botón, el icono, los colores y definir un javascript onClick a ejecutar tras pulsar el botón.
En la pestaña de variables de proveedor se pueden declarar variables. Al hacer click en el botón del proveedor, se sustituyen las variables por su valor en el javascript onClick. El proveedor de Google ya está preparado para rellenar el ID de cliente, el secreto de cliente y el Redirect URI mencionados anteriormente en el apartado de configuración.
Los pasos a realizar en la consola de Google son:
Crear un proyecto (Si no lo has hecho antes, tendrás que configurar la pantalla de consentimiento de OAuth).
En API y servicios → credenciales → crear credenciales → ID de cliente de OAuth.
Seleccionar tipo de aplicación web.
En las credenciales se puede ver un ID de cliente y un secreto de cliente. En el apartado de personalización de la ficha del proveedor de Google en la lanzadera utilizaremos estos valores.
Por último, en la ficha del proveedor de Google en la lanzadera activar el proveedor (inactivar el check Desactivar).
Esta parte es opcional. Solo será necesaria si queremos añadir algún nuevo proveedor oAuth o crear nuestro propio sistema de login.
La creación de un nuevo proveedor de autenticación requiere añadir programación.
Un nuevo proveedor implica que aparezca un botón nuevo para autenticarse en vLanzadera.
Desde el registro de proveedor nuevo, puedes añadir código JavaScript para el "onClick" del botón y código para gestionar el comportamiento de Velneo vServer en el "script backend".
Script on click
En este campo se escribe código JavaScript que se va a ejecutar en el navegador. La librería de jquery ya está cargada, por lo que se puede usar en este script.
Antes de ejecutar el script, se busca texto que coincida con los nombres de las variables de proveedor y se sustituye por el valor. Se recomienda utilizar la nomenclatura %%NOMBRE_VARIABLE%%
.
Es importante que, tras hacer todo lo que se desee, el flujo termine en una redirección al host de la vLanzadera con el parámetro state={"prov": “nombreDeProveedor”}
En el caso de un proveedor de tipo Oauth, la redirección se debe hacer a la pantalla de login del proveedor. Es importante pasarle el parámetro state con el nombre del proveedor y otro parámetro redirect_uri que sea el host de vLanzadera. El proveedor de Oauth, tras el login con éxito del usuario, hará una redirección a la redirect_uri conservando el state que le pasamos al principio.
Script backend
En este campo se escribe código JavaScript que se va a ejecutar en Velneo vServer, por lo que no hay acceso al DOM ni a Jquery, pero se tiene acceso a la API de Velneo para JavaScript.
Cualquier petición get con el parámetro state={“prov”, “nombreDeProveedor”}
, buscará un proveedor con el nombre "nombreDeProveedor" y ejecutará el script definido en ese registro.
Si se han declarado variables %%NOMBRE_VARIABLE%%
, en el ámbito de este JavaScript están ya declaradas las variables NOMBRE_VARIABLE
(Quitando los %).
Tras la ejecución del script, vLanzadera espera que se haya declarado una variable resultado de tipo objeto. Este objeto debe tener las siguientes claves:
Obligatorios:
exitoLogin: booleano. Si vale true, permite el acceso a la lanzadera.
email: cadena. En caso de que haya habido éxito en el login, la lanzadera buscará al usuario con este email para loguearle.
Opcionales:
access_token: cadena. Si el proveedor es de tipo Oauth, se guardará para la sesión del usuario este valor.
refresh_token: cadena. Si el proveedor es de tipo Oauth, se guardará para la sesión del usuario este valor.
state: aquí se puede guardar toda la información adicional que se desee para la sesión del usuario.
Error message: cadena. Mensaje que aparecerá en la vLanzadera para darle información al usuario.
Error code: Numérico. Código de error que aparecerá en el mensaje. Se recomienda usar un código superior a -1000.
Aquí están definidos el html y css de la lanzadera de modo que se puedan editar y personalizar.
En esta pantalla se pueden configurar urls que cambian cómo el usuario accede a la aplicación, posibilitando acceder sin login o acceder a una aplicación directamente sin seleccionarla desde la lanzadera.
Cada registro, al configurarlo genera una url de modo. Los parámetros disponibles son:
Nombre: Para facilitar la identificación del modo al administrador de la vLanzadera
Modo de acceso:
Modo 1 - Usuario e instancia fijos: Acceso anónimo a una aplicación.
Modo 2 - Usuario fijo: Acceso anónimo a la lanzadera de aplicaciones.
Modo 3 - Instancia fija: Acceso con login a una aplicación.
Instancia: Configurable en los modos 1 y 3. Selecciona la aplicación que se ejecutará al abrir la url.
Nombre de usuario: Configurable en modos 1 y 2. Usuario que internamente la lanzadera utilizará para ejecutar la aplicación.
Contraseña de usuario: Configurable en modos 1 y 2. Contraseña del usuario.
Url de modo: URL para ejecutar el modo en un navegador. Se genera automáticamente tras configurar el modo. La URL cambia si se hacen cambios en la configuración.
Url de retorno: Configurable en modos 1 y 3. Al no haber lanzadera de aplicaciones a la que redirigir, en esta opción se permite configurar una url a la que se desea redireccionar al usuario si este lanzara una acción "Archivo: Salir".
Requisitos previos:
Instalar Velneo vClient.
Requisitos previos:
Decargar Velneo vClient.
Ejecutar vClient.sh descargado al menos una vez (con que salga la ventana de conexión es suficiente).
En Chrome escribir una ruta válida del tipo:
velneo-run://vatps://usuario:pass@host:puerto/instancia
Si escribimos la url y pulsamos la tecla intro, hará la búsqueda. Se debe hacer clic en la segunda opción del combo que aparece:
Requisitos previos:
Decargar Velneo vClient.
Ejecutarlo al menos una vez (con que salga la ventana de conexión es suficiente).
En Chrome escribir una ruta válida del tipo:
velneo-run://vatps://usuario:pass@host:puerto/instancia
Si escribimos la url y pulsamos la tecla intro, hará la búsqueda. Se debe hacer clic en la segunda opción del combo que aparece:
El usuario debe ser un declarado en ese servidor y que tenga privilegios de .
Una vez realizados dichos cambios, reinicia el servicio de Apache desde tu .
La lanzadera utiliza para intercambiar información con el servidor. Para garantizar y securizar el intercambio de información entre la lanzadera y Velneo vServer, es necesario especificar una clave JWT en el registro de Velneo vServer.
Para ello, en Velneo Cloud es tan sencillo como conectarse por y editar el fichero .config/Velneo/vServer.conf
.
.
.
.
.
Configurar la clave jwt como se indica en el apartado de .
Aquí se define una lista blanca de las que van a aparecer en la lanzadera. Para que una instancia le aparezca al usuario que se identifica en la lanzadera, tiene que cumplir dos requisitos:
Una instancia, por defecto, se ejecuta en el explorador Web. Si queremos que sea ejecutada por un Velneo vClient de escritorio, activaremos la propiedad Ejecutar en escritorio. Ver el punto para ver los requisitos previos.
Para que funcione el Login Social, el email asociado al usuario debe estar definido en el campo de dicho en . Si la validación oAuth se hace contra Google y se usa Google Workspace (Google Apps) con varios dominios, el dominio a indicar es el principal de ese Google Workspace.
La aplicación ya viene con la programación para utilizar el login con Google, pero hace falta realizar unos pasos en y añadir varios parámetros en vLanzadera.
En la sección de URI de redireccionamiento autorizados, agregar una URI. Poner la URI donde se sirve tu Apache de Velneo Cloud (la URL que se informa en la sección del .
Es posible o bien restaurar la configuración inicial de un único proveedor, o restaurar la configuración inicial de proveedores de la aplicación. Para lo primero, editaremos el proveedor y pulsaremos el botón Restaurar. Para lo segundo, pulsaremos el botónde la barra de herramientas del menú de proveedores.
Es posible o bien restaurar la configuración inicial de un único registro de estáticos, o restaurar la configuración inicial de todos los estáticos de la aplicación. Para lo primero, editaremos el registro y pulsaremos el botón Restaurar del formulario. Para lo segundo, pulsaremos el botónde la barra de herramientas del menú de estáticos.
Para acceder vía web a la lanzadera usaremos la url que se indica en la sección en el del servidor.
Descargar .