Mejor autenticación de Twilio con claves de API
Tiempo de lectura: 5 minutos
Twilio genera un identificador de cadena de cuenta (SID) y un token de autenticación cuando creas una cuenta de Twilio. Con estas credenciales, puedes realizar todas las funciones disponibles en la API de Twilio.
Cada vez que entregues el SID y el token de autenticación de la cuenta a un dispositivo o a un colega, aumentas el riesgo de que esas credenciales se vean comprometidas. Afortunadamente, Twilio proporciona capacidades para minimizar este riesgo. Este artículo cubre:
- tokens de autenticación
- subcuentas
- Claves de API
tokens de autenticación
Cuando creas una nueva cuenta o subcuenta, Twilio genera un SID y un token de autenticación para esa cuenta. Puedes encontrar estas credenciales en la página del panel de control de tu cuenta:
![El panel de control de la cuenta de Twilio con el SID y el token de autenticación de la cuenta se indica con flechas.](/content/dam/twilio-com/global/en/blog/legacy/2021/better-twilio-authentication-csharp-twilio-api-keys/Console_Home.webp)
Estas credenciales se utilizan con frecuencia para comunicarse con Twilio a través de CLI, SDK o el uso directo de la API. Solo hay un token de autenticación de forma predeterminada, por lo que debes evitar compartir este token de autenticación para minimizar el riesgo de que se vea comprometido. Si esto sucede, debes renovarlo mediante la creación de un token de autenticación secundario para que el token filtrado deje de ser útil.
Sigue los pasos a continuación para crear un token de autenticación secundario:
- Haz clic en el enlace Account (Cuenta) en la navegación superior derecha.
- En el submenú, haz clic en API keys & tokens (Claves y tokens API).
- Desplázate hasta la parte inferior de la página y haz clic en Request a Secondary Token (Solicitar un token secundario).
Una vez que tengas un token secundario, puedes convertirlo en el token principal. Esto eliminará el token primario antiguo y lo dejará fuera de uso, como se muestra a continuación.
Lamentablemente, solo puedes renovar estos tokens mediante la consola de Twilio. No es posible renovar tokens de credenciales de API usando la API. Sin embargo, puedes renovar las claves de API, tema que se abordará más adelante en esta publicación.
subcuentas
Las subcuentas son similares a las cuentas, pero son propiedad de la cuenta principal y pueden ser gestionadas por esta. En lugar de utilizar los tokens de autenticación de la cuenta principal, puedes utilizar los tokens de autenticación de la subcuenta. Si el token de autenticación de la subcuenta se ve comprometido, el token no se puede utilizar para acceder a los recursos de la cuenta principal u otras subcuentas.
Puedes crear una subcuenta mediante la consola de Twilio siguiendo estos pasos:
- Haz clic en el enlace Account (Cuenta) en la navegación superior derecha.
- En el submenú, haz clic en Subaccounts (Subcuentas).
- Haz clic en el ícono más (+) si ya tienes otras subcuentas; de lo contrario, haz clic en el botón Create new Subaccount (Crear nueva subcuenta).
- Ingresa un nombre descriptivo para la subcuenta.
- Haz clic en el botón Create (Crear).
También puedes crear subcuentas mediante CLI, SDK y API de Twilio, tal como se documenta en la documentación de Twilio.
Claves de API
Las claves de API son la forma preferida de autenticarse a los servicios de Twilio. Hay dos tipos de claves de API: Claves de API estándar y principales.
Las claves de API estándar te dan acceso a todas las funciones de la API de Twilio, excepto la administración de claves de API, la configuración de cuenta y las subcuentas.
Las claves de API principales tienen el mismo acceso que las claves estándar, pero también pueden administrar las claves de API, la configuración de cuenta y las subcuentas. Las claves de API principales proporcionan el mismo nivel de acceso que si estuvieras utilizando tokens de autenticación.
Puedes crear claves de API mediante la consola de Twilio siguiendo estos pasos:
- Haz clic en el enlace Account (Cuenta) en la navegación superior derecha.
- En el submenú, haz clic en API keys & tokens (Claves y tokens API).
- Haz clic en el botón Create API key (Crear clave de API).
- Ingresa un nombre descriptivo para tu clave de API.
- Selecciona la región más cercana a ti.
- Selecciona si el tipo de clave debe ser estándar o principal.
También puedes crear claves de API estándar mediante CLI, SDK y API, tal como se explica en la documentación de Twilio. Debes autenticarte con un token de autenticación o una clave de API principal para administrar las claves de API.
Renovar las claves de API
Una de las ventajas de utilizar claves de API en lugar de credenciales de API es que puedes utilizar la API para crear y eliminar claves de API. De esta manera, puedes renovar de forma programática las claves de API como medida preventiva.
A continuación, se explica cómo renovar las claves de API mediante la CLI de Twilio y PowerShell:
Nota: Asegúrate de haber instalado la CLI de Twilio antes de ejecutar este código.
ADVERTENCIA: Asegúrate de desarrollar y probar tu aplicación para asegurarte de que la renovación de claves de API se maneje correctamente.
Puedes crear tantas claves de API como necesites, cosa que no sucede con las credenciales de API, ya que solo puedes tener dos tokens (principal y secundario) por cuenta. Por lo tanto, en lugar de pasar credenciales de API a tus compañeros de equipo y aplicaciones, debe darles claves de API. De esta manera, puedes revocar de forma segura las claves de API cuando ya no se utilizan.
Cambia de tokens de autenticación a claves de API
Si ya estás utilizando los tokens de autenticación en tu código, puedes cambiar al uso de claves de API con solo unas pocas líneas de cambios. Ten en cuenta que querrás obtener parte de tu token de autenticación desde la consola de Twilio y guardarlo localmente en variables de entorno para que el código se ejecute. Para obtener más información sobre cómo hacer esto, sigue las instrucciones sobre cómo almacenar las credenciales de Twilio de forma segura.
Así es como se autenticaría y enviaría un SMS con las credenciales de API utilizando C#:
En primer lugar, pasa el SID de tu cuenta como parámetro username
y el token de autenticación como parámetro password
en TwilioClient.Init
. A continuación, envía un mensaje de texto con MessageResource.Create
.
Actualiza los parámetros enviados a TwilioClient.Init
para autenticarte con tu clave de API en lugar de utilizar la credencial de API:
En primer lugar, pasa el SID de la clave de API al parámetro username
en lugar del SID de la cuenta. Luego, pasa el secreto de la clave de API al parámetro password
en lugar del token de autenticación. Por último, pasa el SID de la cuenta al parámetro accountSid
.
Resumen
Puedes autenticarte con la API de Twilio utilizando el ID de cuenta como nombre de usuario y el token de autenticación principal o secundario. Si el token primario se ve comprometido, puedes convertir el token secundario a token primario, lo que hará que el token primario antiguo quede inutilizable.
Puedes proteger tus credenciales mediante la segmentación de tu cuenta en subcuentas. Si un token de autenticación o una clave de API de una subcuenta se ve comprometido, el token solo puede usarse para acceder a los recursos en la subcuenta.
Las claves de API ahora son la forma preferida de autenticarse con la API de Twilio. Puedes crear tantas claves de API como necesites y eliminarlas si están comprometidas o ya no se utilizan.
Niels Swimberghe es un creador de contenido técnico y desarrollador Full Stack belga que trabaja en Estados Unidos. Comunícate con Niels en Twitter @RealSwimburger y sigue su blog sobre .NET, Azure, desarrollo web y más en swimburger.net.
Publicaciones relacionadas
Recursos relacionados
Twilio Docs
Desde API hasta SDK y aplicaciones de muestra
Documentación de referencia de API, SDK, bibliotecas auxiliares, inicios rápidos y tutoriales para su idioma y plataforma.
Centro de Recursos
Los últimos libros electrónicos, informes de la industria y seminarios web
Aprenda de los expertos en participación del cliente para mejorar su propia comunicación.
Ahoy
Centro de la comunidad de desarrolladores de Twilio
Mejores prácticas, ejemplos de códigos e inspiración para crear comunicaciones y experiencias de participación digital.