DEV Community

Cover image for Secure our website using JWT (JSON Web Token) in nodeJS or expressJS
Deepak Jaiswal
Deepak Jaiswal

Posted on • Edited on

3 1 1 1 1

Secure our website using JWT (JSON Web Token) in nodeJS or expressJS

here we are using JWT to secure our application or website from unauthenticated user they try to access our data.

In npmjs a library named is

jsonwebtoken

npm i jsonwebtoken

if we only check user isAuthenticated or not we simply pass the middleware in between request and response

auth.js

`export default function getTokenFromUser(req: Request) {
  const authorization = req.headers.token;
  var decoded = jwt.verify(authorization, 'secret');
  if (!decoded) {
    throw new TokenError("No Authorization Header");
  }
  try {
    const token = decoded?.split("User data ")[1];
    return token;
  } catch {
    throw new TokenError("Invalid Token Format");
  }
}`
Enter fullscreen mode Exit fullscreen mode

we simple pass this auth of in between req,res

app.post('/api/post',auth,(req,res)=>{
//if some operation on code we use middleware
const token=jwt.sign({
  data: 'your data to store as token'
}, 'secret', { expiresIn: '1h' });

res.header('token',token).send("success")
});
Enter fullscreen mode Exit fullscreen mode

we ensure that you can save your secret key in your config file.

SurveyJS custom survey software

JavaScript UI Libraries for Surveys and Forms

SurveyJS lets you build a JSON-based form management system that integrates with any backend, giving you full control over your data and no user limits. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more.

Learn more

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Engage with a wealth of insights in this thoughtful article, valued within the supportive DEV Community. Coders of every background are welcome to join in and add to our collective wisdom.

A sincere "thank you" often brightens someone’s day. Share your gratitude in the comments below!

On DEV, the act of sharing knowledge eases our journey and fortifies our community ties. Found value in this? A quick thank you to the author can make a significant impact.

Okay