O problema aqui é que, ao executar a solicitação POST original, ela (provavelmente) tem um corpo com os dados de postagem. A ensureAuthenticated
check redireciona para a página de login e, portanto, perde os post-data!
Após a autenticação bem-sucedida, quando você redireciona para o URL original, não há como saber quais pós-dados enviar com a solicitação POST.
Uma maneira de pensar é manter o último URL de solicitação GET usado, armazená-lo na sessão e usá-lo em seu "após o redirecionamento de login" e, assim, retornar à página antes de enviar a solicitação POST. Isso significa que, infelizmente, o usuário precisa preencher o formulário novamente (já que é necessário "reconstruir" os dados do post que você perdeu de alguma forma).
Você pode fazer isso adicionando um manipulador use
no início do aplicativo que armazena a URL no objeto da sessão se a solicitação for do tipo GET. Eu iria fornecer um trecho de código para você, mas infelizmente estou no meu celular em férias, então eu tenho medo que pode ser um pouco difícil de fazer, me desculpe: (