Español
  • Token de acceso personal
  • Autenticación

Simplifica la autenticación de API con un token de acceso personal: Un token de API más seguro

Explica cómo funcionan los tokens de acceso personal (PATs), cuándo usarlos, cómo soportar las características de los PAT en tus servicios y cómo se diferencian de las claves API, los tokens API, los tokens portadores, los tokens OAuth y las contraseñas.

Ran
Ran
Product & Design

Deja de perder semanas en la autenticación de usuarios
Lanza aplicaciones seguras más rápido con Logto. Integra la autenticación de usuarios en minutos y concéntrate en tu producto principal.
Comenzar
Product screenshot

Los Tokens de Acceso Personal (PATs) son tokens generados por el usuario que reemplazan las contraseñas para las llamadas de API. Diseñados para usuarios específicos, los PATs proporcionan acceso seguro y controlado a los recursos.

Autenticación sin esfuerzo. Control de acceso granular. Flujos de trabajo simplificados. Estas son solo algunas de las razones por las que los desarrolladores y equipos de producto de todo el mundo confían en los tokens de acceso personal para potenciar la productividad, ya sea gestionando flujos de CI/CD, integrando APIs o accediendo a herramientas.

¿Tienes curiosidad sobre cómo funcionan los PATs, sus beneficios o cuándo usarlos? Esta guía te lo cubre.

¿Qué es un token de acceso personal?

Un token de acceso personal es una forma de autenticación temporal y segura para acceder a tus recursos y servicios personales a través de APIs. Se utiliza principalmente por desarrolladores para simplificar y hacer más eficientes tareas como acceder a APIs o automatizar flujos de trabajo.

Piensa en un token de acceso personal como una "llave" para el acceso a la API, reemplazando la necesidad de una contraseña. A diferencia de la contraseña, los PATs tienen permisos específicos y fechas de expiración, asegurando que se usen solo para su propósito previsto, como acceder a perfiles de usuario o sistemas de facturación, pero no a controles administrativos.

Características clave de los tokens de acceso personal:

  • Amigables para desarrolladores: Los tokens de acceso personal son más fáciles de gestionar que los flujos completos de OAuth, haciéndolos ideales para scripts, automatización o flujos de CI/CD.
  • Múltiples tokens: Los usuarios pueden generar y gestionar múltiples tokens de acceso personal, cada uno dedicado a un servicio o propósito específico.
  • Acceso específico de usuario: A diferencia de las claves API globales, los tokens de acceso personal están vinculados a cuentas de usuario individuales. Esto significa que los miembros del equipo pueden necesitar crear tokens separados para un acceso compartido.
  • Permisos granulares: Con los tokens de acceso personal, puedes definir alcances específicos, otorgando acceso solo a los recursos y acciones requeridas.
  • Acceso temporal: Los tokens de acceso personal se pueden configurar con fechas de expiración, reduciendo la ventana de riesgo en caso de exposición.
  • Revocación fácil: A diferencia de las contraseñas, los tokens de acceso personal se pueden revocar o regenerar sin comprometer las credenciales principales de una cuenta.

Token de acceso personal vs. Token portador vs. Token API

  1. El token de acceso personal es un tipo de token API: Un token de acceso personal es un tipo de token API a nivel de usuario vinculado a una cuenta de usuario. Da permiso para acceder a los recursos del sistema en nombre del usuario. Los PATs son más seguros que las claves API tradicionales porque permiten un control detallado sobre los permisos—como restringir el acceso a repositorios o organizaciones específicas—y pueden incluir fechas de expiración para mayor seguridad.
  2. El token de acceso personal puede usarse como un token portador: Un token portador es una forma de autorizar solicitudes API, a menudo creado dinámicamente usando protocolos como OAuth o JWT. Un token de acceso personal es una versión estática de un token portador, generado manualmente por un usuario (por ejemplo, en GitHub). Por ejemplo, al usar un PAT de GitHub para llamadas API, lo incluyes en el encabezado de la solicitud como authorization: bearer <your-pat>. En este caso, el PAT actúa como un token portador.
  3. El token API es un término amplio: Un token API es un término general para cualquier token utilizado para autenticar solicitudes API. Incluye diferentes tipos, como tokens portadores, tokens OAuth, y tokens de acceso personal. Los PATs y los tokens portadores son simplemente tipos específicos de tokens API.

Elige tus mecanismos de AuthN y AuthZ

Antes de adoptar un token de acceso personal, es crucial entender su papel dentro del panorama más amplio de los métodos de autenticación. Con varios mecanismos para elegir, es importante saber cómo se comparan. A continuación se presenta una tabla completa que describe las diferencias clave entre tokens de acceso personal (PATs), Contraseñas, Claves API, y tokens OAuth para ayudarte a tomar una decisión informada.

  1. Token de acceso personal: Un método de autenticación liviano ideal para tareas automatizadas o acceso a API. Proporciona un control preciso y detallado sobre los permisos, asegurando un acceso seguro y a medida.
  2. Contraseña: Un enfoque de autenticación tradicional utilizado para acceder a cuentas personales a través de una interfaz de usuario. Otorga los mismos permisos que el propietario de la cuenta, sin ofrecer granularidad adicional.
  3. Token OAuth: El método más seguro para otorgar a servicios de terceros un acceso limitado. Permite a los usuarios definir alcances de acceso específicos sin exponer sus credenciales, asegurando tanto seguridad como flexibilidad.
  4. Clave API: Usadas típicamente para automatizar el acceso a API, las claves API están vinculadas a cuentas de servicio más que a cuentas personales. Sin embargo, carecen de los controles detallados de permiso disponibles con PATs o OAuth.
CaracterísticaContraseñaToken de acceso personalToken OAuthClave API
DefiniciónLos usuarios se autentican con un identificador y contraseña.Un token para acceder a recursos o APIs específicos, a menudo con permisos limitados.Un sistema donde los usuarios otorgan a apps de terceros acceso a sus datos sin compartir credenciales. Ej., inicio de sesión con GoogleUna cadena única usada por clientes para autenticar solicitudes API.
Limitación de alcanceTípicamente otorga acceso completo a la cuenta del usuario una vez iniciada la sesión.Permite un control detallado sobre los permisos.Permite al usuario definir qué puede acceder la app de terceros.Típicamente otorga acceso a recursos específicos de API. Sin control granular.
RevocaciónDifícil de revocar sin cambiar la contraseña, afectando a múltiples servicios.Fácilmente revocado por el usuario o administrador.Se puede revocar sin afectar las credenciales del usuario.Se puede revocar o regenerar a nivel del servicio API.
ExpiraciónNo expira a menos que lo cambie el usuario.A menudo de larga duración, pero configurable para expirar.Los tokens de acceso expiran después de un tiempo establecido; los tokens de actualización pueden extender el acceso.A menudo de larga duración, pero puede ser rotado o limitado por el proveedor de API.
Facilidad de usoFácil de recordar pero arriesgado si se maneja incorrectamente.Simple de generar y usar para tareas automatizadas.Requiere interacción inicial del usuario pero ofrece una delegación de acceso segura.Fácil de usar en solicitudes pero no ideal para autenticación orientada al usuario.
Mejor paraUsuarios del lado del cliente para inicio de sesión básico y verificación.Automatización, acceso restringido a recursos API, y desarrollo en flujos de CI/CD.Aplicaciones de terceros que necesitan acceso limitado a datos de usuario sin almacenar contraseñas.Servicios de backend, comunicación servidor a servidor, y APIs públicas.
Riesgo de seguridadSi es robada, otorga acceso completo a la cuenta.Si se filtra, solo otorga acceso a recursos especificados. Puede ser revocado fácilmente.Si se filtra, las apps de terceros pueden realizar acciones dentro del alcance otorgado.Si es robada, se utiliza típicamente para acceso servidor a servidor.

¿Cómo funciona un token de acceso personal?

Los tokens de acceso personal funcionan de manera similar a los tokens de acceso OAuth, pero son típicamente cadenas sin datos legibles por el usuario sobre su contenido. Cuando te autenticas con un servicio como GitHub, puedes generar un PAT vinculado a tu cuenta de usuario y asignarle permisos específicos. Este token sirve como una alternativa segura al uso de una contraseña al hacer solicitudes, como acceder a un repositorio privado a través de una API.

Típicamente, un PAT se incluye en los encabezados de la solicitud, como se muestra en este ejemplo:

Al enviar tu PAT de esta manera, el servicio puede verificar tu identidad, evaluar los permisos vinculados a tu token, y proporcionar los datos solicitados o realizar la acción especificada.

¿Cómo usar un token de acceso personal?

  • Generar un token de acceso personal: Comienza creando un token de acceso personal a través de la plataforma que estás usando. Y seleccionando alcances específicos para definir sus permisos de acceso (alcances).
  • Autenticar solicitudes de API: Con tu token de acceso personal listo, úsalo para autenticar solicitudes a servicios que necesiten acceso seguro. Incluye el token como un token portador en el encabezado de autorización de tus solicitudes API.
  • Revocar un token de acceso personal: Si necesitas desactivar tu token, simplemente revócalo a través de la configuración de autenticación de la plataforma. Una vez revocado, cualquier solicitud API hecha con ese token será automáticamente denegada.

¿Cuándo debo usar tokens de acceso personal?

Los tokens de acceso personal sobresalen en escenarios donde necesitas proporcionar acceso seguro, amigable para desarrolladores y con alcances definidos a tus APIs. Aquí hay algunos casos de uso ideales:

  • Tareas automáticas: Perfecto para scripts o herramientas que necesitan obtener datos de APIs sin requerir que desarrolladores incrusten credenciales sensibles.
  • Control de permisos granular: Habilita un acceso preciso al otorgar a scripts o herramientas permisos limitados, como acceso a repositorios específicos, sin exponer privilegios completos de cuenta.
  • Acceso temporal: Ideal para situaciones sensibles al tiempo, donde restringir la duración del acceso minimiza riesgos de seguridad.
  • Acceso simplificado para desarrolladores: Una forma conveniente de otorgar acceso a desarrolladores individuales sin la complejidad de configurar un flujo completo de autorización OAuth.
  • Integración de terceros: Optimiza la funcionalidad con herramientas externas al limitar el acceso a acciones específicas predefinidas. Por ejemplo, cuando una empresa utiliza una herramienta de gestión de proyectos, la integración de terceros puede permitir a los miembros del equipo crear tareas o actualizar estados directamente desde un chat de Slack sin necesidad de acceso completo a la herramienta de gestión de proyectos.

GitHub está impulsando el uso de tokens de acceso personal desde 2013, que se están volviendo populares por ser simples y flexibles. Muchas herramientas para desarrolladores y plataformas SaaS soportan PATs, haciéndolos fáciles de usar y una elección favorita para los desarrolladores:

  • GitHub/GitLab/Azure DevOps (Herramientas de desarrollo): Ayuda con la automatización de CI/CD, conexión a otras herramientas, y gestión de repositorios de código.

    github-personal-access-token.png

  • Figma (Herramientas de diseño): Facilita la colaboración en diseños usando integraciones de API.

    figma-personal-access-token.png

  • Atlassian Jira / Asana (Gestión de proyectos): Facilita la creación, actualización o eliminación de tareas, gestión de sprints, y organización de proyectos usando APIs.

    jira-personal-access-token-admin.png

¿Puedo compartir un token de acceso personal con otros usuarios?

Respuesta corta—No, no deberías.

Los tokens están destinados a estar vinculados a una cuenta individual y nunca deberían compartirse. Si otros requieren acceso, es mejor generar tokens únicos con sus permisos o configurar roles de usuario para evitar riesgos de seguridad. El uso indebido de tokens puede llevar a un acceso no deseado, datos comprometidos o violaciones de privacidad. Mantén los tokens privados y revoca cualquiera que sospeches que está comprometido.

Habilita tu aplicación para generar tokens de acceso personal con Logto

Ya sea que estés ofreciendo servicios B2B o desarrollando productos de IA de vanguardia, implementar autenticación y autorización amigable para desarrolladores es esencial. Un token de acceso personal puede desbloquear nuevas oportunidades para tu negocio.

Logto, una solución integral de Gestión de Identidad y Acceso de Clientes (CIAM), te permite crear, gestionar y revocar fácilmente tokens de acceso personal. Aquí te mostramos cómo puedes empezar:

  1. Navega a Logto Console > Gestión de Usuarios.
  2. Accede al perfil de un usuario específico para gestionar sus tokens de acceso personal.

personal-acess-tokens-management.webp

Con Logto, puedes:

  • Generar nuevos tokens de acceso personal.
  • Gestionar múltiples tokens para un solo usuario.
  • Establecer fechas de expiración personalizadas para los tokens.
  • Renombrar tokens para una mejor organización.
  • Revocar tokens cuando ya no sean necesarios.

logto-create-personal-access-token.png

Además, puedes habilitar a los usuarios para autogestionar sus tokens de acceso personal en su página de configuración de perfil a través de las Management APIs de Logto.