簡體   English   中英

"<i>How do I render a pug template on success and failure of authentication(passport.js) with variables from the pug template?<\/i>如何使用哈巴狗模板中的變量在身份驗證(passport.js)成功和失敗時呈現哈巴狗模板?<\/b> <i>(express, passport.js, pug)<\/i> (快遞,passport.js,哈巴狗)<\/b>"

[英]How do I render a pug template on success and failure of authentication(passport.js) with variables from the pug template? (express, passport.js, pug)

我正在使用passport.js 開發登錄系統,並使用pug 模板進行表達。 我正在嘗試使用失敗消息呈現登錄頁面,如果成功,我想將用戶重定向回他們去過的最后一頁,其中的 URL 作為隱藏輸入傳遞到 pug 模板中。 然后我想獲取該隱藏輸入的值並將其放在successRedirect<\/code>中,但是它說req is not defined<\/code> :

router.post("/login", body('backurl').trim().escape(), passport.authenticate("local", {
    successRedirect: (req.body.backurl),
    failWithError: true
}), function(err, req, res, next) {
    return res.render('login', { message: 'Unable to login, the password or the username are wrong' })
}

您可以使用 get() 請求呈現視圖。 使用 post() 請求,您應該重定向,如果您想向用戶顯示消息,您可以使用 express-flash 包。

router.post("/login", (req, res, next) => {
   passport.authenticate("local", (err, user) => {
        if (!user) {
          req.flash('error', { msg: 'Unable to login, the password or the username are wrong')
          return res.redirect('/login');
        }
        res.redirect(req.body.backurl);
   }
});

通過這種方式,您可以獲得有關附加內容的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM