Acceso · S-PLAN

Autenticación

S-PLAN no tiene usuarios ni contraseñas propios: se apoya en Firebase Auth con Google Sign-In y en la sesión compartida de PlanItOne. Quien entra a una aplicación de la suite entra a todas.

El flujo

1

Inicio de sesión con Google

La pantalla de acceso de PlanItOne abre una ventana de Google. No hay registro manual ni formulario de contraseña: la identidad la certifica la cuenta institucional.

2

Firebase Auth emite la sesión

El proyecto sigunitropico valida la credencial y devuelve el usuario autenticado al navegador.

3

Se resuelve el perfil

Con el correo del usuario, la aplicación busca su ficha en usuarios/{correoSaneado} —el correo con los puntos convertidos en guiones bajos— y lee de ahí nombre y roles_map.

4

Se aplica la visibilidad por rol

Con los roles cargados se revelan los controles que corresponden y se emite el evento interno roles:ready para que el resto de la página reaccione.

Sanear el correo

Es la operación que aparece en media docena de sitios y conviene tenerla clara:

correoSaneado = correo.replace(/\./g, "_")

"sneyderu1@gmail.com"        → "sneyderu1@gmail_com"
"planeacion@unitropico.edu.co" → "planeacion@unitropico_edu_co"

Se conserva la arroba; solo cambian los puntos. La misma transformación se usa como clave en notificaciones/s-plan/personal/{correoSaneado}.

Un usuario sin ficha en usuarios/ queda sin roles. Puede iniciar sesión —la autenticación es correcta— pero la aplicación lo trata como consulta pública. Crear el usuario en Firebase Auth no basta: hay que crear también su ficha con el correo saneado.

Sesión compartida de la suite

Además de la sesión de Firebase en el navegador, PlanItOne mantiene una cookie de sesión pio_sid en el dominio .planitone.co, emitida por el servicio de administración. Es la que permite que el encabezado común —avatar, campana de notificaciones, cuadrícula de aplicaciones— funcione en todas las apps y también en este portal de documentación.

Sin sesión

S-PLAN no bloquea el acceso a las páginas de consulta. Sin sesión iniciada:

FuncionaNo funciona
Navegar el dashboard, ejes, programas, proyectos y metas.Cargar evidencias.
Ver el detalle de acciones y sus evidencias.Reportar avance o editar cronograma.
Ver las alertas globales (su lectura es anónima).Recibir o consultar notificaciones.
Generar informes de lectura.Cualquier control de administración.
Esto es una decisión deliberada: el PDI es información institucional de interés público. Lo que se restringe es la escritura, no la consulta. Ver Permisos.

Cierre de sesión

El botón de cerrar sesión abre una confirmación y luego llama a signOut de Firebase, devolviendo a la pantalla de acceso. Si además quieres soltar la sesión compartida de la suite, hay que cerrarla desde PlanItOne: cerrar sesión en S-PLAN no expira por sí solo la cookie pio_sid.

Relacionado: Roles · Permisos · Infraestructura.