# Configurar SSO para un micrositio impact.com mediante JWT

El micrositio de tu programa de Defensores normalmente requiere que tus defensores de clientes se registren con un nombre de usuario y contraseña antes de poder acceder a sus enlaces para compartir y detalles de recompensas. Sin embargo, como alternativa avanzada, puedes autenticar a los usuarios generando un [JSON Web Token (JWT)](https://en.wikipedia.org/wiki/JSON_Web_Token) en el servidor y pasándolo al micrositio mediante un parámetro de URL.

Usando este método, los participantes no tendrán credenciales de acceso para el micrositio. En su lugar, obtienen acceso iniciando sesión en tu portal de clientes existente, que luego los redirige al micrositio usando el JWT para identificarlos y mostrar su contenido personalizado.

#### Antes de comenzar

{% hint style="warning" %}
**Importante:** Esta es una implementación avanzada que omite el Servicio de Identidad Gestionada estándar para el micrositio y requiere soporte de tu equipo de desarrolladores para configurarla.
{% endhint %}

Debes usar este método solo si se cumplen todas las siguientes condiciones:

* Quieres simular una experiencia de inicio de sesión único (SSO) iniciando automáticamente sesión a los participantes en el micrositio de tu programa.
* Puedes generar JWTs en el servidor.
* No puedes o no quieres instalar el [Universal Tracking Tag (UTT)](https://help.impact.com/brand/es/sobre-que-te-gustaria-aprender/platform-features/tracking/javascript-tag-tracking/tracking-with-universal-tracking-tag-utt) en tu sitio.

{% stepper %}
{% step %}

### Paso 1: Crea un micrositio sin identidad gestionada

Cuando crees tu micrositio, deberás desactivar el Servicio de Identidad Gestionada y luego configurar todas tus páginas para que sean accesibles para usuarios «no verificados». La *Consola* usará el JWT para autenticar al usuario y cargar el micrositio.

<details>

<summary>Crea el micrositio</summary>

Primero, ajusta la configuración para desactivar la opción de *Inicio de sesión del participante* .

1. En el menú de navegación izquierdo, selecciona ![](https://3147719151-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fh35M3mMIl7XP42pqh7Ls%2Fimage.png?alt=media\&token=bf6b6ba2-295c-4cdb-8c77-f171416c13e1) **\[Engage]** **→ Contenido**.
2. En la *tarjeta Micrositio* , selecciona **Editar configuración**.
3. A continuación, serás redirigido a tu nueva *página de Configuración del micrositio* .
4. Dentro de la sección de *Inicio de sesión* , ![](https://3147719151-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-2c3a3c392d640f7b79d44c16f21c2c4f0ec3dcca%2F80381ca112cfb2757e97b8669cc0b5c98c8ce8d60ed9e3048b4a86a52e76719f.svg?alt=media) **\[Desactivar]** **Inicio de sesión del participante**.
5. Selecciona **Guardar configuración**.

</details>

<details>

<summary>Configura la página del Panel</summary>

A continuación, configura la *Consola* página de tu micrositio para que sea visible para usuarios no verificados. Luego, conecta los componentes en la página con tu programa de referidos para que aparezca la información correcta.

1. Ajusta la *Consola* configuración de la página
   * En el menú de navegación izquierdo, selecciona ![](https://3147719151-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2F8AYI7cAhXQWYRoQlKHte%2Fimage.png?alt=media\&token=d2b5a01e-c7b4-4a71-a6a0-0cea5a4b7ac4) **\[Engage]** **→ Contenido** → **Configurar contenido** o **Editar contenido**.
   * Desde la *tarjeta Micrositio* pestaña, selecciona **Consola** en el *Diseño de sesión iniciada* sección.
   * Selecciona ![](https://3147719151-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-c746d936c908b9090325464502f7c10acda0e993%2F2a92939e8e78dd7e0c0416b1a250d5ef1d7ab0dec966fb5ed320ca62acfc06c5.svg?alt=media) **\[Menú] → Configuración**.
   * Desde la *Usuarios permitidos* lista desplegable, seleccione **No verificado**.
2. Agrega tu ID de programa a los componentes en el *Consola*.
   * Estadísticas de usuario: Debes agregar el ID a cada estadística de usuario individual que elijas mostrar.
   * Enlace para compartir
   * Código de referido
   * Botones de redes sociales: Debes agregar el ID a cada botón individual de compartir en redes sociales que elijas incluir.
3. En la esquina superior derecha, selecciona **Guardar**.

   <div data-with-frame="true"><figure><img src="https://3147719151-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-7314ab2d13689a218d7b2ab0ff0ae784aecc169d%2Fe489a23c2242c41439531bebcaa74a7caac8de79b22b4e423c11194933156962.jpg?alt=media" alt=""><figcaption></figcaption></figure></div>

Para obtener ayuda sobre cómo usar el editor para encontrar y ajustar la configuración de tu página y componentes, consulta [Editor de micrositios explicado](https://help.impact.com/brand/es/sobre-que-te-gustaria-aprender/advocate-program/manage-advocate-participant-experiences/microsite-experiences/microsite-editor-explained) y [Personalizar diseños y páginas del micrositio](https://help.impact.com/brand/es/sobre-que-te-gustaria-aprender/advocate-program/manage-advocate-participant-experiences/microsite-experiences/customize-microsite-layouts-and-pages).

</details>

<details>

<summary>Eliminar páginas innecesarias</summary>

Elimina el diseño y las páginas que tu micrositio no vaya a usar.

1. Pasa el cursor sobre la página o el diseño.
2. Selecciona ![](https://3147719151-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-8ec3e877b1397045c61d394485e72ac4d93120ee%2Fc6ddb46c637059f06e86c790a911217a9428f5c47b5efef046f90555e85b03cd.svg?alt=media) **\[Más]** **→ Eliminar**.
3. Eliminar el *Diseño de sesión iniciada*.
4. Eliminar las siguientes páginas:
   * Editar perfil
   * Verificación de correo electrónico
   * Olvidó la contraseña
   * Inicio de sesión
   * Cerrar sesión
   * Registrarse
   * Restablecer contraseña
   * Verificar correo electrónico

</details>
{% endstep %}

{% step %}

### Paso 2: Generar el JWT

La estructura del JWT sigue los requisitos estándar de Advocate para la autenticación de usuarios. Si ya integraste Advocate antes, probablemente ya estés generando tokens similares para UTT.

Debes generar el JWT de forma segura en tu servidor o en cualquier sistema backend de confianza; nunca en el navegador.

Aprende cómo [generar un JWT y los requisitos del payload](https://integrations.impact.com/impact-brand/docs/json-web-tokens).
{% endstep %}

{% step %}

### Paso 3: Adjuntar el JWT a la URL del micrositio

Una vez que el usuario haya iniciado sesión en tu plataforma, redirígelo al micrositio con el JWT incluido en la cadena de consulta de la URL.

{% hint style="info" %}
**Ejemplo:** `https://tu-micrositio.squatch.app/?jwt=<TU_JWT_GENERADO>`
{% endhint %}

Puedes abrir el micrositio en una nueva pestaña del navegador o incrustarlo en tu aplicación usando un iframe. Si decides incrustar el micrositio, asegúrate de gestionar [compartición de recursos de origen cruzado (CORS)](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) y las restricciones del navegador adecuadamente.
{% endstep %}
{% endstepper %}

#### Notas

* Si usas este método de autenticación, los usuarios no tendrán credenciales de inicio de sesión para el micrositio.
* El acceso basado en JWT debe controlarse estrictamente. No lo expongas ni lo manipules en JavaScript del lado del cliente.
* Este es un enfoque no estándar: pruébalo exhaustivamente en tu entorno de preproducción antes de desplegar tu programa.
* Si necesitas [soporte](mailto:saasquatch-support@impact.com), incluye la URL de tu micrositio, detalles de implementación y un ejemplo de payload JWT en tu solicitud de soporte.
