Oi Francis, tudo bem?
Fico feliz em saber que você está aproveitando o curso de Spring Boot 3 e aprendendo bastante.
Sobre o processo de recuperação de senha geralmente segue um padrão semelhante ao de uso de tokens, mas com algumas diferenças. Tem alguns passos que você pode seguir.
Quando o usuário solicita a recuperação de senha, você gera um token único e o associa a esse usuário em seu banco de dados.
Em seguida, você envia um e-mail para o usuário com um link que inclui esse token. O link deve levar a uma página onde o usuário possa inserir uma nova senha.
Quando o usuário clica no link e chega à página, você verifica se o token é válido (ou seja, se está associado a um usuário e ainda não expirou). Se for válido, o usuário pode inserir uma nova senha.
Quando o usuário envia a nova senha, você a salva no banco de dados (devidamente criptografada, é claro), invalida o token e informa ao usuário que a senha foi alterada com sucesso.
Este é um exemplo simplificado e pode haver outros detalhes que você queira considerar, como o que fazer se o token não for válido ou se o usuário não solicitar a recuperação de senha. E também, cê pode querer adicionar outras camadas de segurança, como a verificação de dois fatores.
Um abraço e bons estudos.