Administra la IAP con sesiones de la federación de identidades de personal

En esta página, se proporciona orientación para administrar Identity-Aware Proxy (IAP) con sesiones de la federación de identidades de personal.

Cuando configuras un grupo de personal, puedes especificar la duración de la sesión entre Google Cloud y un IdP. Puedes especificar que la duración de la sesión sea de entre 15 minutos y 12 horas. Este parámetro de configuración también es la duración de la cookie de sesión de IAP. La duración predeterminada de la sesión es de una hora.

Cuando vence una sesión, se redirecciona al usuario final al IdP de terceros para que acceda. Si la sesión del IdP de terceros sigue activa, el acceso se realiza de forma silenciosa.

Para obtener más información sobre cómo configurar la duración de la sesión, consulta Administra proveedores de grupos de identidades de personal.

Establece una sesión con una solicitud AJAX

Cuando trabajas con la federación de identidades de personal, también puedes realizar solicitudes de AJAX para establecer una sesión.

IAP se basa en cookies para administrar las sesiones de los usuarios y una secuencia de redireccionamientos para establecer una sesión durante el acceso. Si tu aplicación usa el uso compartido de recursos de origen cruzado (CORS) para realizar solicitudes AJAX desde un dominio de origen hasta un dominio de destino que aloja una aplicación protegida por IAP, primero debes establecer una sesión de IAP en el dominio de destino fuera de banda. No se pueden compartir cookies entre el dominio de origen y el de destino.

Después de establecer una sesión en el dominio de destino, configura tus solicitudes para incluir credenciales, ya que los métodos de JavaScript no adjuntan cookies de forma predeterminada:

  • Para los objetos XMLHttpRequest, establece la propiedad withCredentials en true.
  • Para Fetch API, establece la opción credentials en include o same-origin.

Para las solicitudes AJAX vencidas o no autenticadas, IAP devuelve un código de estado HTTP 401: Unauthorized. Si tus solicitudes AJAX reciben un código de estado 302 en lugar de 401, agrega un encabezado X-Requested-With con un valor de "XMLHttpRequest" para indicar que la solicitud se origina en JavaScript. Para establecer o actualizar la sesión después de recibir una respuesta HTTP 401, abre una ventana nueva para la URL del dominio de destino con ?gcp-iap-mode=DO_SESSION_REFRESH adjunto.

Para obtener más información y muestras de código, consulta Solicitudes AJAX.