<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Md Yeasin Arafath</title>
    <description>The latest articles on DEV Community by Md Yeasin Arafath (@yeasin72).</description>
    <link>https://dev.to/yeasin72</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F550900%2F7753cfab-d470-4f0e-b8f3-01722e6f514b.jpeg</url>
      <title>DEV Community: Md Yeasin Arafath</title>
      <link>https://dev.to/yeasin72</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yeasin72"/>
    <language>en</language>
    <item>
      <title>jsonwebtoken javascript</title>
      <dc:creator>Md Yeasin Arafath</dc:creator>
      <pubDate>Thu, 31 Dec 2020 18:25:05 +0000</pubDate>
      <link>https://dev.to/yeasin72/jsonwebtoken-javascript-34ad</link>
      <guid>https://dev.to/yeasin72/jsonwebtoken-javascript-34ad</guid>
      <description>&lt;p&gt;I can't verify the token. I got result undefined&lt;/p&gt;

&lt;p&gt;// @type    POST&lt;br&gt;
// &lt;a class="comment-mentioned-user" href="https://dev.to/route"&gt;@route&lt;/a&gt;
   /login&lt;br&gt;
// @desc    route after login&lt;br&gt;
// @access  PUBLIC&lt;br&gt;
router.post('/', (req, res) =&amp;gt; {&lt;br&gt;
    const email = req.body.email;&lt;br&gt;
    const password = req.body.password;&lt;br&gt;
    Person.findOne({ email })&lt;br&gt;
        .then(person =&amp;gt; {&lt;br&gt;
            if (!person) {&lt;br&gt;
                res.render('login', {errmsg: 'User not found'});&lt;br&gt;
            }else{&lt;br&gt;
                bcrypt.compare(password, person.password)&lt;br&gt;
                    .then(isCorrect =&amp;gt; {&lt;br&gt;
                        if (isCorrect) {&lt;br&gt;
                            const payload = {&lt;br&gt;
                                id: person.id,&lt;br&gt;
                                name: person.name,&lt;br&gt;
                                email: person.email&lt;br&gt;
                            }&lt;br&gt;
                            jwt.sign(payload, keys.mongodb.secret, {expiresIn: 3600}, (err, token) =&amp;gt; {&lt;br&gt;
                                console.log(token);&lt;br&gt;
                                // res.redirect('/account');&lt;br&gt;
                                res.redirect('/login/account')&lt;br&gt;
                            });&lt;br&gt;
                        }else{&lt;br&gt;
                            res.render('login', {errmsg: 'password not valid'});&lt;br&gt;
                        }&lt;br&gt;
                    })&lt;br&gt;
                    .catch(err =&amp;gt; {&lt;br&gt;
                        console.log(err);&lt;br&gt;
                    });&lt;br&gt;
            }&lt;br&gt;
        })&lt;br&gt;
        .catch(err =&amp;gt; {&lt;br&gt;
            console.log(err);&lt;br&gt;
        });&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;// @type    GET&lt;br&gt;
// &lt;a class="comment-mentioned-user" href="https://dev.to/route"&gt;@route&lt;/a&gt;
   /login/account&lt;br&gt;
// @desc    route after login&lt;br&gt;
// @access  PRIVET&lt;/p&gt;

&lt;p&gt;router.get('/account', authCheck, (req, res) =&amp;gt; {&lt;br&gt;
    jwt.verify(req.token, keys.mongodb.secret, (err, data) =&amp;gt; {&lt;br&gt;
        if (err) {&lt;br&gt;
            res.send('err inside route');&lt;br&gt;
        }else{&lt;br&gt;
            res.send('protected route');&lt;br&gt;
        }&lt;br&gt;
    })&lt;br&gt;
    console.log(req.user);&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;function authCheck(req, res, next){&lt;br&gt;
    const bearerHeader = req.headers['authorization'];&lt;br&gt;
    if (typeof bearerHeader !== 'undefined') {&lt;br&gt;
        const bearer = bearerHeader.split(' ');&lt;br&gt;
        const bearerToken = bearer[1];&lt;br&gt;
        req.token = bearerToken;&lt;br&gt;
        next();&lt;br&gt;
    }else{&lt;br&gt;
        res.send('not working');&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

</description>
      <category>npm</category>
      <category>express</category>
      <category>node</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
