Saltar al contenido principal

Estructura de datos de la aplicación

Introducción

En Logto, una aplicación se refiere a un programa de software o servicio específico que está registrado en la plataforma Logto y ha sido autorizado para acceder a información del usuario o realizar acciones en nombre de un usuario. Las aplicaciones se utilizan para identificar la fuente de las solicitudes realizadas a la API de Logto, así como para gestionar el proceso de autenticación y Autorización (Authorization) para los usuarios que acceden a esas aplicaciones.

El uso de aplicaciones en la experiencia de inicio de sesión de Logto permite a los usuarios acceder y gestionar fácilmente sus aplicaciones autorizadas desde un único lugar, con un proceso de autenticación coherente y seguro. Esto ayuda a simplificar la experiencia del usuario y garantiza que solo las personas autorizadas accedan a información sensible o realicen acciones en nombre de la organización.

Las aplicaciones también se utilizan en los registros de auditoría de Logto para rastrear la actividad del usuario e identificar cualquier posible amenaza o violación de seguridad. Al asociar acciones específicas con una aplicación en particular, Logto puede proporcionar información detallada sobre cómo se está accediendo y utilizando los datos, lo que permite a las organizaciones gestionar mejor sus requisitos de seguridad y cumplimiento. Si deseas integrar tu aplicación con Logto, consulta Integrar Logto.

Propiedades

ID de la aplicación

El ID de la aplicación es una clave única generada automáticamente para identificar tu aplicación en Logto, y se referencia como client id en OAuth 2.0.

Tipos de aplicación

Una Aplicación puede ser uno de los siguientes tipos de aplicación:

  • Aplicación nativa es una aplicación que se ejecuta en un entorno nativo. Por ejemplo, aplicación iOS, aplicación Android.
    • Aplicación de flujo de dispositivo es un tipo especial de aplicación nativa para dispositivos con entrada limitada o aplicaciones sin interfaz (por ejemplo, televisores inteligentes, consolas de juegos, herramientas CLI, dispositivos IoT). Utiliza el OAuth 2.0 Device Authorization Grant en lugar del flujo estándar basado en redirección. Consulta Inicio rápido del flujo de dispositivo para más detalles.
  • Aplicación de una sola página es una aplicación que se ejecuta en un navegador web, que actualiza la página con los nuevos datos del servidor sin cargar páginas completas nuevas. Por ejemplo, aplicación React DOM, aplicación Vue.
  • Aplicación web tradicional es una aplicación que renderiza y actualiza páginas solo por el servidor web. Por ejemplo, JSP, PHP.
  • Aplicación máquina a máquina (M2M) es una aplicación que se ejecuta en un entorno de máquina para comunicación directa de servicio a servicio sin interacción del usuario.

Secreto de la aplicación

El secreto de la aplicación es una clave utilizada para autenticar la aplicación en el sistema de autenticación, específicamente para clientes privados (aplicaciones web tradicionales y M2M) como una barrera de seguridad privada.

tip:

Las aplicaciones de una sola página (SPAs) y las aplicaciones nativas no proporcionan un secreto de aplicación. Las SPAs y las aplicaciones nativas son "clientes públicos" y no pueden mantener secretos (el código del navegador o los paquetes de aplicaciones son inspeccionables). En lugar de un secreto de aplicación, Logto las protege con PKCE, validación estricta de URI de redirección / CORS, tokens de acceso de corta duración y rotación de tokens de actualización.

Nombre de la aplicación

El nombre de la aplicación es un nombre legible por humanos de la aplicación y se mostrará en la consola de administración.

El nombre de la aplicación es un componente importante para gestionar aplicaciones en Logto, ya que permite a los administradores identificar y rastrear fácilmente la actividad de aplicaciones individuales dentro de la plataforma.

nota:

Es importante tener en cuenta que el nombre de la aplicación debe elegirse cuidadosamente, ya que será visible para todos los usuarios que tengan acceso a la consola de administración. Debe reflejar con precisión el propósito y la función de la aplicación, además de ser fácil de entender y reconocer.

Descripción

Una breve descripción de la aplicación se mostrará en la página de detalles de la aplicación en la consola de administración. La descripción está destinada a proporcionar a los administradores información adicional sobre la aplicación, como su propósito, funcionalidad y cualquier otro detalle relevante.

URIs de redirección

Los URIs de redirección son una lista de URIs de redirección válidos que han sido preconfigurados para una aplicación. Cuando un usuario inicia sesión en Logto e intenta acceder a la aplicación, se le redirige a uno de los URIs permitidos especificados en la configuración de la aplicación.

La lista de URIs permitidos se utiliza para validar el URI de redirección que se incluye en la solicitud de Autorización (Authorization) enviada por la aplicación a Logto durante el proceso de autenticación. Si el URI de redirección especificado en la solicitud de Autorización (Authorization) coincide con uno de los URIs permitidos en la configuración de la aplicación, el usuario es redirigido a ese URI después de una autenticación exitosa. Si el URI de redirección no está en la lista permitida, el usuario no será redirigido y el proceso de autenticación fallará.

nota:

Es importante asegurarse de que todos los URIs de redirección válidos se agreguen a la lista permitida para una aplicación en Logto, para garantizar que los usuarios puedan acceder exitosamente a la aplicación después de la autenticación.

Puedes consultar el Endpoint de redirección para más información.

Comprendiendo los URIs de redirección en OIDC con el flujo de código de Autorización (Authorization)

Patrones de comodín

Disponibilidad: Aplicación de una sola página, Aplicación web tradicional

Los URIs de redirección admiten patrones de comodín (*) para entornos dinámicos como implementaciones de vista previa. Los comodines se pueden usar en los componentes de nombre de host y ruta de los URIs HTTP/HTTPS.

Reglas:

  • Los comodines solo están permitidos en el nombre de host y la ruta
  • Los comodines no están permitidos en el esquema, puerto, parámetros de consulta o fragmentos de hash
  • Los comodines en el nombre de host deben incluir al menos un punto (por ejemplo, https://*.example.com/callback)

Ejemplos:

  • https://*.example.com/callback - coincide con cualquier subdominio
  • https://preview-*.example.com/callback - coincide con implementaciones de vista previa
  • https://example.com/*/callback - coincide con cualquier segmento de ruta
precaución:

Los URIs de redirección con comodines no son estándar en OIDC y pueden aumentar la superficie de ataque. Úsalos con cuidado y prefiere URIs de redirección exactos siempre que sea posible.

URIs de redirección después del cierre de sesión

Los URIs de redirección después del cierre de sesión son una lista de URIs válidos que han sido preconfigurados para una aplicación para redirigir al usuario después de que haya cerrado sesión en Logto.

El uso de URIs de redirección permitidos después del cierre de sesión para el cierre de sesión es parte de la especificación de cierre de sesión iniciado por RP (Relying Party) en OIDC. Esta especificación proporciona un método estandarizado para que las aplicaciones inicien una solicitud de cierre de sesión para un usuario, que incluye redirigir al usuario a un endpoint preconfigurado después de que haya cerrado sesión.

Cuando un usuario cierra sesión en Logto, su sesión se termina y se le redirige a uno de los URIs permitidos especificados en la configuración de la aplicación. Esto asegura que el usuario sea dirigido solo a endpoints autorizados y válidos después de haber cerrado sesión, ayudando a prevenir el acceso no autorizado y los riesgos de seguridad asociados con redirigir a los usuarios a endpoints desconocidos o no verificados.

Puedes consultar el cierre de sesión iniciado por RP para más información.

Orígenes permitidos por CORS

Los orígenes permitidos por CORS (Cross-origin resource sharing) son una lista de orígenes permitidos desde los cuales una aplicación puede realizar solicitudes al servicio Logto. Cualquier origen que no esté incluido en la lista permitida no podrá realizar solicitudes al servicio Logto.

La lista de orígenes permitidos por CORS se utiliza para restringir el acceso al servicio Logto desde dominios no autorizados y para ayudar a prevenir ataques de falsificación de solicitudes entre sitios (CSRF). Al especificar los orígenes permitidos para una aplicación en Logto, el servicio puede garantizar que solo los dominios autorizados puedan realizar solicitudes al servicio.

nota:

La lista de orígenes permitidos debe contener el origen donde se servirá la aplicación. Esto asegura que las solicitudes de la aplicación sean permitidas, mientras que las solicitudes de orígenes no autorizados sean bloqueadas.

Endpoint de configuración del proveedor OpenID

El endpoint para OpenID Connect Discovery.

Endpoint de Autorización (Authorization)

El Endpoint de Autorización (Authorization) es un término de OIDC, y es un endpoint requerido que se utiliza para iniciar el proceso de autenticación para un usuario. Cuando un usuario intenta acceder a un recurso o aplicación protegida que ha sido registrada en la plataforma Logto, será redirigido al Endpoint de Autorización (Authorization) para autenticar su identidad y obtener Autorización (Authorization) para acceder al recurso solicitado.

Puedes consultar el Endpoint de Autorización (Authorization) para más información.

Endpoint de token

El Endpoint de token es un término de OIDC, es un endpoint de API web que se utiliza por un cliente OIDC para obtener un token de acceso, un Token de ID (ID token) o un token de actualización de un proveedor OIDC.

Cuando un cliente OIDC necesita obtener un token de acceso o un Token de ID (ID token), envía una solicitud al Endpoint de token con un permiso de Autorización (Authorization), que generalmente es un código de Autorización (Authorization) o un token de actualización. El Endpoint de token luego valida el permiso de Autorización (Authorization) y emite un token de acceso o un Token de ID (ID token) al cliente si el permiso es válido.

Puedes consultar el Endpoint de token para más información.

Endpoint de información del usuario

El Endpoint de información del usuario de OpenID Connect.

Emitir siempre token de actualización

Disponibilidad: Web tradicional, SPA

Cuando está habilitado, Logto siempre emitirá tokens de actualización, independientemente de si prompt=consent se presenta en la solicitud de autenticación, ni offline_access se presenta en los Alcances (Scopes).

Sin embargo, esta práctica no se recomienda a menos que sea necesario (generalmente es útil para algunas integraciones de OAuth de terceros que requieren token de actualización), ya que no es compatible con OpenID Connect y puede causar problemas potencialmente.

Rotar token de actualización

Predeterminado: true

Cuando está habilitado, Logto emitirá un nuevo token de actualización para solicitudes de token bajo las siguientes condiciones:

  • Si el token de actualización ha sido rotado (se ha prolongado su TTL emitiendo uno nuevo) durante un año; O
  • Si el token de actualización está cerca de su tiempo de expiración (>=70% de su Tiempo de Vida (TTL) original ha pasado); O
  • Si el cliente es un cliente público, por ejemplo, aplicación nativa o aplicación de una sola página (SPA).
nota:

Para clientes públicos, cuando esta función está habilitada, siempre se emitirá un nuevo token de actualización cuando el cliente esté intercambiando por un nuevo token de acceso usando el token de actualización. Aunque aún puedes desactivar la función para esos clientes públicos, se recomienda encarecidamente mantenerla habilitada por razones de seguridad.

Comprendiendo la rotación de tokens de actualización

Tiempo de vida (TTL) del token de actualización en días

Disponibilidad: No SPA; Predeterminado: 14 días

La duración durante la cual un token de actualización puede usarse para solicitar nuevos tokens de acceso antes de que expire y se vuelva inválido. Las solicitudes de token extenderán el TTL del token de actualización a este valor.

Típicamente, se prefiere un valor más bajo.

Nota: La actualización del TTL no está disponible en SPA (aplicación de una sola página) por razones de seguridad. Esto significa que Logto no extenderá el TTL a través de solicitudes de token. Para mejorar la experiencia del usuario, puedes habilitar la función "Rotar token de actualización", permitiendo que Logto emita un nuevo token de actualización cuando sea necesario.

Token de actualización y vinculación de sesión:

Cuando se emite un token de actualización sin el Alcance (Scope) offline_access en la solicitud de Autorización (Authorization), estará vinculado a la sesión del usuario. La sesión tiene un TTL fijo de 14 días. Después de que la sesión expire, el token de actualización se vuelve inválido independientemente de su propia configuración de TTL.

Para asegurar que la configuración de TTL del token de actualización tenga pleno efecto, asegúrate de incluir el Alcance (Scope) offline_access en tu solicitud de Autorización (Authorization).

URI de cierre de sesión por canal secundario

El endpoint de cierre de sesión por canal secundario de OpenID Connect. Consulta Cierre de sesión federado: Cierre de sesión por canal secundario para más información.

Concesiones máximas permitidas (maxAllowedGrants)

maxAllowedGrants es un campo opcional a nivel de aplicación bajo customClientMetadata que controla el número máximo de concesiones activas concurrentes por usuario para la aplicación actual.

  • Predeterminado: undefined (sin límite)
  • Cuando está configurado: En cada Autorización (Authorization) exitosa, Logto verifica las concesiones activas totales para el usuario en la aplicación actual (a través de navegadores y dispositivos). Si se excede el límite, Logto revoca las concesiones más antiguas.

Esta configuración es útil cuando deseas limitar los dispositivos autenticados concurrentes por aplicación.

nota:

Este campo no es compatible con:

  • Aplicaciones máquina a máquina
  • Aplicaciones protegidas
  • Aplicaciones SAML

Datos personalizados

Información adicional personalizada de la aplicación no listada en las propiedades predefinidas de la aplicación, los usuarios pueden definir sus propios campos de datos personalizados según sus necesidades específicas, como configuraciones y ajustes específicos del negocio.