Hay varios métodos para generar UUID . El método 4 implica el uso de 122 bits de un generador aleatorio. Si ese generador es criptográficamente fuerte , entonces el UUID es una buena clave secreta. Pero puede ser difícil determinar si una implementación específica de la generación UUID usa el método 4 con un PRNG fuerte. En general, los UUID están destinados a singularidad , no a imprevisibilidad . Para un token de autenticación secreto, realmente necesita este último. Por ejemplo, si se usa un UUID "tipo 1" (combinación de la dirección MAC del sistema y la hora actual), los atacantes pueden inferir fácilmente qué UUID producirá su sistema para otros usuarios.
Dicho esto, en un sistema dado, podría usar manualmente un PRNG fuerte para obtener una secuencia impredecible de 128 bits, que sería una especie de UUID con las características necesarias.
Proporcionar el token de autenticación como parte de una URL que los usuarios pueden marcar tiene otro problema, y es que los usuarios lo marcarán como . El almacenamiento de valores secretos en una computadora de escritorio tiene algo de cuidado. Los navegadores aplican ese cuidado por las cookies, no por la URL. En particular, la URL se puede mostrar (y normalmente lo hará). Esto sería un problema exactamente en el mismo sentido que no le gustaría una página web que muestre su contraseña: las personas que tengan un vistazo en su pantalla pueden obtener demasiada información.
Además, los marcadores están sincronizados (cuando usas dicha función) mientras que las cookies no están . La URL a la que se accede también la convierte en su "historial" guardado. Esto es parte del bit de "cuidado extra" del que estaba hablando. En general, las URL tienden a viajar y se copian mucho más que las cookies, y están menos protegidas contra inspecciones no deseadas. Esto los hace menos apropiados para los valores secretos, como un token de autenticación.