flash - node js не принимает ошибку при обработке и не выводит ее на страницу

Пытаюсь обработать ошибку при помощи flash при непрвильно введеном email для смены пароля, но при перессылке на страницу обработчик ошибки пропадает. В чем может быть ошибка?

    router.get('/reset', (req,res)=>{
       res.render('auth/reset'),{
          title: 'Смена пароля',
          error: req.flash('error')
       }
    })
    
    router.post('/reset', (req,res)=>{
       try{
          crypto.randomBytes(32, async(err,buffer)=>{
             if(err){
                req.flash('error', 'Что-то пошло не так, повторите попытку')
                return   res.redirect('/auth/reset')
             }
             const token = buffer.toString('hex')
             const candidate = await User.findOne({email: req.body.email})
             console.log(candidate)
             if(candidate != null){
                candidate.resetToken = token
                candidate.resetTokenExp = Date.now() + 60 * 60 * 1000
                await candidate.save()
                await transport.sendMail(resetEmail(candidate.email, token, candidate.login))
                res.redirect('/auth/login')
             }else{
                await req.flash('error','Пользователь не существует')
                res.redirect('/auth/reset')
                
             }
          })
       }catch(err){
          console.log(err)
       }
    })
    
    module.exports = router


hbs:

<main class="login_main">
   <h1>Смена пароля</h1>
      {{#if error}}
         <p class="bad">{{error}}</p>
      {{/if}}
      <div class="login_reset">
            <form action="/auth/reset" method="POST">
               <input id="login_input1" type="login_reset-input" placeholder="Введите ваш email" name="email" required>
               <button class="btn" type="submit">Сбросить</button>
               <input type="hidden" name="_csrf" value="{{csurf}}">
            </form>
      </div>
</main>

Ответы (1 шт):

Автор решения: nörbörnën

В современном express нет никакого flash

Свойство "flash" не существует в типе

"Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

введите сюда описание изображения

Да и при переадрессации, скорее всего, теряется контекст.

Если вы хотите при переадресации передать какие-то параметры - передавайте их явно и обрабатывайте на в роуте, на который выполнена переадресация

res.redirect('/auth/reset?badlogin=1&reason=user_not_found')
→ Ссылка