Sto costruendo un sito web e lungo la strada ho incontrato molte cose che non sapevo e speravo di ottenere un aiuto nella comprensione di alcuni di loro.
Ho iniziato a costruire un sito web usando Flask e il linguaggio dei modelli di Jinja. Questo è stato molto intuitivo e facile da capire: il cliente fa una richiesta, il server verifica tutte le richieste e poi fornisce l'intera pagina di lavoro in un colpo solo.
Quindi volevo aggiornare il mio frontend per usare ReactJS. Dalla mia ricerca ho scoperto che potrei fare il percorso di rendering lato server se ho usato una libreria come python-react
, ma ho optato invece per il rendering lato client. Ciò significava un paio di cose
- Avrò bisogno di un server di frontend (ad es. node.js) per il rendering del frontend
- Dovrò ridefinire il mio backend di Flask per comportarsi come un'API
Quindi, quando un cliente fa una richiesta, per esempio, sulla home page, il processo sarà simile a questo (se ho capito bene?):
Supponendo che io sia corretto fino a questo punto, la mia domanda è, come appare il diagramma sopra nel caso di invio di un modulo?
Un modulo richiede che un token CSRF sia incorporato in esso al momento del rendering, ovvero il token viene creato sul server Frontend. Ma poi, come fa il Backend a verificare quel token? Anche l'autenticazione deve avvenire sul server Frontend? Non sono chiaro su come si integrano frontend e backend.