Quão especificamente o Laravel cria e verifica um token CSRF?

Estou usando a proteção CSRF do Laravel no meu site público. No entanto, como o Laravel usa uma sessão para manter isso, estou preocupado que um usuário se afaste do computador e retorne à página que deixara aberta anteriormente, apenas para descobrir que as solicitações de ajax não funcionam. As solicitações de ajax não funcionam porque a sessão expirou (e o token não valida mais?). Se esses usuários fossem usuários "logados", eu poderia simplesmente redirecioná-los para a página de login. Como eles são usuários públicos, o usuário é forçado a atualizar a página para recuperá-la (desajeitada).

Ou eu estou errado sobre isso? O token CSRF ainda seria validado pelo Laravel (mesmo após o tempo limite da sessão, a página ainda enviará o token ... mas o que o Laravel fará com ele?). Uma solução ideal seria ter os tokens parcialmente com base em um carimbo de data / hora para que pudéssemos atribuir os limites de expiração dos tokens além dos limites de tempo da sessão. Eu poderia fazer meus tokens de CSRF durarem 2 dias (para que apenas os usuários que se afastarem por 2 dias retornem a uma página morta).

Em última análise, isso me leva à minha pergunta:Onde está o código específico na estrutura do Laravel que lida com isso? Atualmente, estou tentando localizá-lo. Além disso, há uma queda fácil na substituição que eu posso fazer ou resta criar minha própria versão docsrf_token(); para sair para minhas páginas e, em seguida, precisaria criar meu próprio filtro de rota para acompanhá-lo.

questionAnswers(2)

yourAnswerToTheQuestion