Estructura de datos de la aplicación
Introducción
En Logto, una aplicación se refiere a un programa o servicio de software específico que está registrado en la plataforma Logto y ha recibido autorización para acceder a la 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 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 solo lugar, con un proceso de autenticación coherente y seguro. Esto ayuda a agilizar 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 posibles amenazas o brechas de seguridad. Al asociar acciones específicas con una aplicación en particular, Logto puede proporcionar información detallada sobre cómo se accede y utiliza la información, permitiendo 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
Application ID es una clave única autogenerada para identificar tu aplicación en Logto, y se hace 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 app que se ejecuta en un entorno nativo. Ejemplo: app iOS, app Android.
- Aplicación de una sola página (SPA) es una app que se ejecuta en un navegador web, que actualiza la página con nuevos datos del servidor sin cargar páginas completas nuevas. Ejemplo: app React DOM, app Vue.
- Aplicación web tradicional es una app que renderiza y actualiza páginas únicamente por el servidor web. 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 entre servicios sin interacción del usuario.
Secreto de la aplicación
Application secret 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.
Las aplicaciones de una sola página (SPA) y las aplicaciones nativas no proporcionan secreto de aplicación. Las SPA y las aplicaciones nativas son "clientes públicos" y no pueden mantener secretos (el código del navegador o los paquetes de la app 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
Application name es el nombre legible para humanos de la aplicación y se mostrará en la consola de administración.
El Application name es un componente importante para la gestión de aplicaciones en Logto, ya que permite a los administradores identificar y rastrear fácilmente la actividad de aplicaciones individuales dentro de la plataforma.
Es importante tener en cuenta que el Application name 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
Redirect URIs son una lista de URIs de redirección válidas que han sido preconfiguradas para una aplicación. Cuando un usuario inicia sesión en Logto e intenta acceder a la aplicación, es redirigido a una de las URIs permitidas especificadas en la configuración de la aplicación.
La lista de URIs permitidas se utiliza para validar el URI de redirección que se incluye en la solicitud de autorización 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 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á.
Es importante asegurarse de que todos los URIs de redirección válidos estén añadidos a la lista permitida para una aplicación en Logto, para garantizar que los usuarios puedan acceder correctamente a la aplicación después de la autenticación.
Puedes consultar el Redirection endpoint para más información.
Comprendiendo los URIs de redirección en OIDC con Authorization Code Flow
Patrones comodín
Disponibilidad: Aplicación de una sola página, aplicación web tradicional
Los URIs de redirección admiten patrones comodín (*) para entornos dinámicos como despliegues de vista previa. Los comodines pueden usarse en los componentes de hostname y pathname de los URIs HTTP / HTTPS.
Reglas:
- Los comodines solo están permitidos en el hostname y pathname
- Los comodines no están permitidos en el esquema, puerto, parámetros de consulta o fragmentos hash
- Los comodines en el hostname deben incluir al menos un punto (por ejemplo,
https://*.example.com/callback)
Ejemplos:
https://*.example.com/callback- coincide con cualquier subdominiohttps://preview-*.example.com/callback- coincide con despliegues de vista previahttps://example.com/*/callback- coincide con cualquier segmento de ruta
Los URIs de redirección con comodín no son estándar OIDC y pueden aumentar la superficie de ataque. Úsalos con precaución y prefiere URIs de redirección exactos siempre que sea posible.
URIs de redirección post cierre de sesión
Post sign-out redirect URIs son una lista de URIs válidas que han sido preconfiguradas para una aplicación para redirigir al usuario después de que haya cerrado sesión en Logto.
El uso de Post Sign-out Redirect URIs permitidos para el cierre de sesión forma parte de la especificación de Logout iniciado por la parte confiable (RP-Initiated Logout) 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, lo 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 es redirigido a uno de los URIs permitidos especificados en la configuración de la aplicación. Esto garantiza que el usuario solo sea dirigido a endpoints autorizados y válidos después de cerrar sesión, ayudando a prevenir accesos no autorizados y riesgos de seguridad asociados con redirigir usuarios a endpoints desconocidos o no verificados.
Puedes consultar el RP-initiated logout 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.
La lista de orígenes permitidos debe contener el origen donde se servirá la aplicación. Esto garantiza que las solicitudes de la aplicación estén 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 Endpoint 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 protegido o aplicación que ha sido registrada en la plataforma Logto, será redirigido al Authorization Endpoint para autenticar su identidad y obtener autorización para acceder al recurso solicitado.
Puedes consultar el Authorization Endpoint para más información.
Endpoint de token
Token Endpoint es un término de OIDC, es un endpoint de API web que utiliza un cliente OIDC para obtener un token de acceso, un token de ID 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, envía una solicitud al Token Endpoint con una concesión de autorización, que normalmente es un código de autorización o un token de actualización. El Token Endpoint valida la concesión de autorización y emite un token de acceso o un token de ID al cliente si la concesión es válida.
Puedes consultar el Token Endpoint para más información.
Endpoint de Userinfo
El endpoint UserInfo 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 está presente en la solicitud de autenticación, o si offline_access está presente en los alcances.
Sin embargo, esta práctica no se recomienda a menos que sea necesario (normalmente es útil para algunas integraciones OAuth de terceros que requieren token de actualización), ya que no es compatible con OpenID Connect y puede causar problemas potenciales.
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 transcurrido); O
- Si el cliente es un cliente público, por ejemplo, aplicación nativa o aplicación de una sola página (SPA).
Para clientes públicos, cuando esta función está habilitada, siempre se emitirá un nuevo token de actualización cuando el cliente intercambie 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.
Normalmente, 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 mediante 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.
Cuando se emite un token de actualización sin el alcance offline_access en la solicitud de autorización, 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 asegurarte de que la configuración de TTL del token de actualización tenga efecto completo, asegúrate de incluir el alcance offline_access en tu solicitud de autorización.
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.
Datos personalizados
Información adicional personalizada de la aplicación que no está incluida 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.