Soy nuevo en el problema CSRF y estoy estudiando cómo se implementa la protección CSRF en aplicaciones populares como Facebook, Instagram, etc. Ahora estoy estudiando cómo se usa la protección CSRF en la implementación de OAuth.
Algunos servicios (Instagram, Todoist) permiten pasar un argumento adicional cuando se solicita una URL de autorización de OAuth. Este argumento se describe en Instagram:
Puede proporcionar un parámetro de estado opcional para llevar a través de un estado específico del servidor. Por ejemplo, puede usar esto para protegerse contra problemas CSRF.
Cuando elaboré con un code
diferente el token CSRF en forma en la página donde el usuario (dis) permite el acceso a su cuenta, es el mismo en todas las solicitudes, incluso si proporciono un valor diferente para code
. ¿Esta bien?
¿Tiene una idea de cómo transforman code
en el token CSRF y cómo se usa este token para la protección CSRF? Por favor, ¿podría explicar cómo funciona?
EDIT1
Encontré que un token CSRF por sesión probablemente no sea un problema y generar un token único por solicitud conduce al problema de la aplicación (botón de retroceso, etc.), fuente - enlace
Pero aún no sé cómo se usa o transforma el parámetro code
mencionado anteriormente en el token CSRF.