Para implementar la protección CSRF, necesitas un token que es secreto en el sentido de que no puede ser calculado por un atacante. Puede usar una modificación de la patrón de token cifrado del chasis OWASP CSRF cheat .
Puede usar una clave secreta compartida entre el front-end y el back-end o una clave pública / privada, almacenando la clave pública en el front-end y la clave privada en el back-end. Luego, encripta la identificación del usuario y la marca de tiempo en el front-end para usarlo como su token CSRF y verificarlo en el back-end. En lugar del cifrado, puede firmar los datos utilizando un HMAC o un firma digital . Todas las opciones (cifrado asimétrico, cifrado simétrico, HMAC y firmas digitales) producirán las propiedades de token deseadas de ser fáciles de verificar pero efectivamente imposibles de predecir.
El documento OWASP sugiere que cifre la identificación del usuario, la marca de tiempo y un nonce, pero creo que el nonce no es necesario. Consulte esta pregunta y el comentario en página de discusión OWASP para obtener más información.