Acceso · PolariScore

Autenticación

PolariScore no tiene usuarios ni contraseñas propios: se apoya en Firebase Auth con Google Sign-In y en el directorio de usuarios compartido de PlanItOne.

El flujo

1

Inicio de sesión con 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 se busca su ficha en usuarios/{correoSaneado} y se leen nombre y roles_map.

4

Se habilita lo que corresponde

Con los roles cargados se activan la carga de evidencias, la evaluación de acciones o las vistas de administración, según el caso.

Acceso transparente en la v1

La v1 tiene su propia pantalla de acceso con un comportamiento pensado para no pedir nada cuando no hace falta:

Las vistas de la v1 exigen sesión. Al arrancar comprueban la autenticación y, si no hay, redirigen a la pantalla de acceso conservando el destino. La versión estable no hace esa redirección: sus vistas cargan y lo que no puedas hacer simplemente no funciona.

Sanear el correo

Es la operación que aparece en varios 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 identifica al autor en el historial de evaluaciones (id_usuario) y en las claves de la configuración de correos.

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. Crear el usuario en Firebase Auth no basta: hay que crear también su ficha con el correo saneado.

Dominios autorizados

Firebase Auth solo acepta iniciar sesión desde dominios declarados en la consola del proyecto. Como PolariScore vive en dos: planitone.co (versión estable, bajo la subruta) y polariscore.planitone.co (v1), ambos deben estar autorizados.

Síntoma característico: si un dominio falta, el acceso falla con un error de dominio no autorizado y el usuario solo ve que "no puede entrar". No es un problema de credenciales ni de roles: es configuración del proyecto. Es lo primero que hay que descartar cuando la aplicación funciona en un dominio y no en el otro.

Sesión compartida de la suite

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

Sin sesión

Establev1
Navegar políticas y fichasRedirige a la pantalla de acceso
Ver gráficas de cumplimientoTras iniciar sesión
Cargar evidenciasNoNo
Evaluar accionesNoNo

Que la estable permita consultar sin sesión es coherente con el carácter público de las políticas institucionales; lo que se restringe es la escritura. Ver Permisos.

Relacionado: Roles · Las dos versiones · Infraestructura.