<?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: Sourov Pal</title>
    <description>The latest articles on DEV Community by Sourov Pal (@sourovpal).</description>
    <link>https://dev.to/sourovpal</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%2F1124247%2F5562bda7-18b5-4be0-9552-33e694c00c01.jpg</url>
      <title>DEV Community: Sourov Pal</title>
      <link>https://dev.to/sourovpal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sourovpal"/>
    <language>en</language>
    <item>
      <title>Node js JWT Token Verify Middleware</title>
      <dc:creator>Sourov Pal</dc:creator>
      <pubDate>Tue, 25 Jul 2023 08:49:24 +0000</pubDate>
      <link>https://dev.to/sourovpal/node-js-jwt-token-verify-middleware-2cdo</link>
      <guid>https://dev.to/sourovpal/node-js-jwt-token-verify-middleware-2cdo</guid>
      <description>&lt;p&gt;`const jwt =require("jsonwebtoken");&lt;br&gt;
const JwtToken = require("../models/JwtToken");&lt;/p&gt;

&lt;p&gt;async function JwtTokenVerify(req, res, next) {&lt;br&gt;
  const auhorizationHeader = req.headers.authorization;&lt;br&gt;
  let result;&lt;/p&gt;

&lt;p&gt;if (!auhorizationHeader || auhorizationHeader == '') {&lt;br&gt;
    return res.status(401).json({&lt;br&gt;
      error: true,&lt;br&gt;
      message: "Access token is missing",&lt;br&gt;
    });&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;const token = req.headers.authorization.split(" ")[1];&lt;/p&gt;

&lt;p&gt;try {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const jwt_token = await JwtToken.findOne({$and:[{access_token:token}, {is_active:true}, {deleted_at:null}]});

if (!jwt_token) {
  return res.status(403).json({
    error: true,
    message: "Invalid token",
  });
}

result = await jwt.verify(token, jwt_token.token_secret, {expiresIn: jwt_token.expires_in});

req.decoded = result;

next();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;} catch (error) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (error.name === "JsonWebTokenError") {
  return res.status(403).json({
    error: true,
    message: "Invalid token",
  });
}

if (error.name === "TokenExpiredError") {
  return res.status(403).json({
    error: true,
    message: "Token expired",
  });
}

return res.status(403).json({
  error: true,
  message: "Authentication error",
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;module.exports = JwtTokenVerify;`&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Mongoose Server Selection Error Node js MongoDB</title>
      <dc:creator>Sourov Pal</dc:creator>
      <pubDate>Tue, 25 Jul 2023 08:46:53 +0000</pubDate>
      <link>https://dev.to/sourovpal/mongoose-server-selection-error-node-js-mongodb-2l7c</link>
      <guid>https://dev.to/sourovpal/mongoose-server-selection-error-node-js-mongodb-2l7c</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k84zuVr6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lgcemunqksolwpfwdb7t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k84zuVr6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lgcemunqksolwpfwdb7t.png" alt="Image description" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DATABASE_HOST=mongodb://localhost:27017/&lt;/p&gt;

&lt;h2&gt;
  
  
  Solugion
&lt;/h2&gt;

&lt;p&gt;DATABASE_HOST=mongodb://127.0.0.1:27017/&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Node js express validation checkSchema is not a function</title>
      <dc:creator>Sourov Pal</dc:creator>
      <pubDate>Tue, 25 Jul 2023 08:25:38 +0000</pubDate>
      <link>https://dev.to/sourovpal/node-js-express-validation-checkschema-is-not-a-function-5ape</link>
      <guid>https://dev.to/sourovpal/node-js-express-validation-checkschema-is-not-a-function-5ape</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tp03FL1I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72p8z94wybalcjlxlm3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tp03FL1I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72p8z94wybalcjlxlm3h.png" alt="Image description" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;npm uninstall express-validator&lt;br&gt;
npm install --save &lt;a href="https://express-validator.github.io/docs/6.14.0/"&gt;express-validator@6.14.0&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>#Looking for Laravel Developer Jobs</title>
      <dc:creator>Sourov Pal</dc:creator>
      <pubDate>Fri, 21 Jul 2023 17:04:57 +0000</pubDate>
      <link>https://dev.to/sourovpal/looking-for-laravel-developer-jobs-3lc8</link>
      <guid>https://dev.to/sourovpal/looking-for-laravel-developer-jobs-3lc8</guid>
      <description>&lt;p&gt;I am a laravel developer working as a laravel developer for last five years&lt;br&gt;
I want to work with any company or development team&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
