# Cómo funciona la autenticación

Este artículo de referencia explica cómo el complemento FleetFusion Geotab inicia sesión. Está dirigido a administradores y a usuarios técnicamente curiosos que desean entender el intercambio de autenticación, o que necesitan diagnosticar un problema de inicio de sesión.

## Resumen

El complemento no tiene su propia pantalla de inicio de sesión. En su lugar, utiliza el **permiso de intercambio de sesión de Geotab** para convertir su sesión existente de MyGeotab en un token de acceso de FleetFusion. El intercambio ocurre automáticamente la primera vez que hace clic en una entrada debajo del **FleetFusion** menú en una sesión determinada, y de nuevo cada vez que el token necesita actualizarse.

## El intercambio de autenticación del inicio de sesión

El intercambio consta de tres pasos.

### Paso 1: Leer la sesión de MyGeotab

Cuando el complemento se carga dentro del iframe de MyGeotab, solicita a MyGeotab la sesión actual usando la llamada de la API de Geotab `api.getSession()`. MyGeotab devuelve cuatro piezas de información:

* La **base de datos** nombre.
* La **nombre de usuario** del usuario de MyGeotab que ha iniciado sesión.
* Un **ID de sesión**.
* El **servidor** de MyGeotab al que está conectado el usuario.

Estos valores demuestran a FleetFusion que el usuario ha iniciado sesión realmente en MyGeotab.

### Paso 2: Intercambiar la sesión por un token de FleetFusion

El complemento envía los cuatro valores al servidor de autenticación de FleetFusion usando el tipo de concesión de OAuth:

`urn:ietf:params:oauth:grant-type:geotab-session-exchange`

El servidor de autenticación valida la sesión con MyGeotab, busca el usuario correspondiente de FleetFusion en la Organización vinculada a esa base de datos y emite credenciales.

### Paso 3: Recibir el token de acceso

El servidor de autenticación devuelve un **token de acceso** (un JWT) y un **token de actualización**. El complemento usa el token de acceso en cada solicitud posterior a las API de FleetFusion.

## Dónde se almacena el token

El token de acceso se mantiene solo en **la memoria del navegador**. El complemento deliberadamente no lo escribe en localStorage ni en sessionStorage. Esto evita problemas con navegadores que bloquean el almacenamiento de terceros dentro de iframes, algo cada vez más común.

Como el token reside en memoria, se borra automáticamente cuando cierra o actualiza la pestaña. La próxima vez que se cargue el complemento, el intercambio se ejecuta de nuevo.

## Actualización del token

Los tokens de acceso tienen una vida útil corta. El complemento hace seguimiento del tiempo de expiración del token y lo actualiza **60 segundos antes de que expire**, en segundo plano, para que las sesiones largas no interrumpan su trabajo.

Si una solicitud a FleetFusion devuelve una **401 No autorizado** respuesta, normalmente porque el token ha expirado antes de lo esperado, o porque la sesión del usuario se ha restablecido, el complemento:

1. Vuelve a ejecutar el intercambio de sesión de Geotab (pasos 1 y 2 anteriores).
2. Reintenta la solicitud fallida con el nuevo token de acceso.

Normalmente usted no ve que esto ocurra.

## Solución de problemas de fallos de inicio de sesión

Si ve un error de autenticación o una página en blanco al abrir el complemento, la causa casi siempre es una de las siguientes cuatro:

1. **El usuario de MyGeotab aún no está aprovisionado en FleetFusion.** Cada usuario de MyGeotab necesita un usuario correspondiente de FleetFusion en la misma Organización. Pida a su administrador que cree el usuario de FleetFusion y luego vuelva a intentarlo.
2. **El navegador está bloqueando el almacenamiento de terceros.** El complemento se ejecuta dentro de un iframe de MyGeotab. Si el navegador bloquea todo el almacenamiento de terceros, la estrategia de token en memoria sigue funcionando, pero algunos navegadores también bloquean las llamadas de red subyacentes. Permita el almacenamiento y las cookies de terceros para el dominio de FleetFusion, o añádalo a la lista de अनुमति del navegador.
3. **La sesión de MyGeotab ha expirado.** Actualice MyGeotab e inicie sesión de nuevo, luego vuelva a abrir el complemento. El intercambio se ejecuta otra vez con la sesión nueva.
4. **El servidor de autenticación de FleetFusion no está disponible.** Si el servicio de FleetFusion no se puede alcanzar temporalmente, el intercambio falla. Espere unos minutos e inténtelo de nuevo. Si el problema persiste, contacte con <support@fleetfusion.co.uk>.

> **Nota:** El complemento nunca le pide su contraseña de FleetFusion. Si una página dentro del complemento le solicita una, deténgase e infórmelo a su administrador.

## Privacidad y seguridad

El ID de sesión entregado a FleetFusion durante el intercambio tiene una vida útil corta y solo es válido para la base de datos para la que fue emitido. FleetFusion no almacena su contraseña de MyGeotab. Las comunicaciones entre el complemento y el servidor de autenticación de FleetFusion usan HTTPS.

## Artículos relacionados

* [Inicio de sesión](/geotab-add-in/geotab-add-in-es/primeros-pasos/signing-in.md)
* [Instalación del complemento](/geotab-add-in/geotab-add-in-es/primeros-pasos/installing-the-addin.md)
* [¿Qué es el complemento FleetFusion Geotab?](/geotab-add-in/geotab-add-in-es/primeros-pasos/what-is-the-geotab-addin.md)
* [Diferencias con el portal web de FleetFusion](/geotab-add-in/geotab-add-in-es/referencia/differences-from-web-portal.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fleetfusion.ai/geotab-add-in/geotab-add-in-es/referencia/how-authentication-works.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
