DEV Community

Falcon
Falcon

Posted on

Implementa Auth0 Tokens como un campeón

En los últimos años he venido trabajando con el intercambio de tokens entre servicios, 3-parties, encontrando beneficios y puntos de mejora en como implementar este intercambio.

Si usted es un fanátic@ a las buenas prácticas, les quiero compartir ciertas recomendaciones al usar tokens usando Auth0:

Considerar métodos de verificación secundaria: puede ser necesario agregar un sistema de verificación de token secundario que garantice que los tokens se generaron desde su servidor para cumplir con sus requisitos.

Entre más secreto mejor: la clave de firma debe tratarse como cualquier otra credencial y revelarse solo a los servicios que la necesitan. No exponga los token a cualquiera, recuerde que los token dan permisos y autorizaciones.

Agregue justo lo necesario en los payloads: los tokens se firman para proteger contra la manipulación y se decodifican fácilmente. Agregue la cantidad mínima de claims al payload para obtener el mejor rendimiento y seguridad.

Cada token debe tener caducidad: técnicamente, una vez que se firma un token, es válido para siempre, a menos que se cambie la clave de firma o se establezca explícitamente el vencimiento. Esto podría plantear problemas potenciales, así que tenga una estrategia para caducar y/o revocar tokens.

Cachee y reutilice: reduzca los requests de ida y vuelta innecesarios que amplían el contexto de ataque de su aplicación y optimice los límites de token del plan (cuando corresponda) almacenando tokens de acceso obtenidos del servidor de autorización. En lugar de solicitar un token nuevo, use el token almacenado durante futuras llamadas hasta que caduque. La forma en que almacene tokens dependerá de las características de su aplicación: las soluciones típicas incluyen bases de datos (para aplicaciones que necesitan realizar llamadas API independientemente de la presencia de una sesión) y sesiones HTTP (para aplicaciones que tienen una ventana de actividad limitada a una sesión interactiva ).

Siempre con HTTPS: no envíes tokens a través de conexiones que no sean HTTPS, ya que esas solicitudes pueden ser interceptadas y los tokens pueden verse comprometidos.

Espero que estos consejos les sea de provecho, la configuración e identidad de nuestros tokens son aspectos cruciales en la seguridad de nuestras aplicaciones. Un mal uso de ellos, podría impactar negativamente el negocio.

Discussion (0)