How to use the verify function from jsonwebtoken

Find comprehensive JavaScript jsonwebtoken.verify code examples handpicked from public code repositorys.

jsonwebtoken.verify is a method that verifies the validity of a JSON Web Token (JWT) and returns its decoded payload.

144
145
146
147
148
149
150
151
152
153
154


router.get('/user', passport.authenticate('jwt', {session: false}), (req, res) => {
  const thisSession = req['session'];
  let userToken;
  try {
    userToken = jsonwebtoken.verify(thisSession['passport'].user.jwt, config.get('oidc:publicKey'));
    if (userToken === undefined || userToken.realm_access === undefined || userToken.realm_access.roles === undefined) {
      return res.status(HttpStatus.UNAUTHORIZED).json();
    }
    thisSession.roles = userToken.realm_access.roles;
fork icon5
star icon5
watch icon10

+ 5 other calls in file

338
339
340
341
342
343
344
345
346
347
},
getUser(req) {
  const thisSession = req.session;
  if (thisSession && thisSession['passport'] && thisSession['passport'].user && thisSession['passport'].user.jwt) {
    try {
      return jsonwebtoken.verify(thisSession['passport'].user.jwt, config.get('oidc:publicKey'));
    } catch (e) {
      log.error('error is from verify', e);
      return false;
    }
fork icon5
star icon5
watch icon10

+ 5 other calls in file

How does jsonwebtoken.verify work?

jsonwebtoken.verify(token, secretOrPublicKey, [options], callback) is a method in the jsonwebtoken library that is used to verify the validity of a JSON Web Token (JWT). The method takes three arguments: token: The JWT to be verified. secretOrPublicKey: A string or buffer containing either the secret for HMAC algorithms or the PEM encoded public key for RSA and ECDSA. options: An optional object that can contain options for the verification process such as the expected algorithm and issuer. If the verification is successful, the method will return the decoded payload of the token. If the verification fails, the method will throw an error. It's also possible to use a callback function instead of returning a Promise when calling the method by passing in a fourth argument as the callback. The jsonwebtoken library is commonly used in web applications for authentication and authorization purposes.

58
59
60
61
62
63
64
65
66
67
    message: 'Unauthorized user'
  });
}
let userToken;
try {
  userToken = jsonwebtoken.verify(jwtToken, config.get('oidc:publicKey'));
} catch (e) {
  log.debug('error is from verify', e);
  return res.status(HttpStatus.UNAUTHORIZED).json();
}
fork icon5
star icon5
watch icon10

+ 17 other calls in file

6
7
8
9
10
11
12
13
14
15
16
17


//GET


const getProfile = async (req,res) => {
  const token = req.cookies["access-token"];
  const decodedValues = jwt.verify(token, process.env.SECRET_KEY);
  let foundUser = await User.findOne({ email: decodedValues.email });
  //console.log(decodedValues, "decoded values");
      if(foundUser.userType === "owner"){
        res.redirect("/profile/createPetOwner");
fork icon0
star icon1
watch icon2

+ 15 other calls in file

Ai Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const jwt = require("jsonwebtoken");

// Example JWT to verify
const token =
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";

// Secret for verifying the JWT
const secret = "mysecretkey";

// Verify the token
jwt.verify(token, secret, (err, decoded) => {
  if (err) {
    console.error(err.message);
  } else {
    console.log(decoded);
  }
});

// Output: { sub: '1234567890', name: 'John Doe', iat: 1516239022 }

In this example, we first define a sample JWT to be verified and a secret key that was used to sign it. We then call jwt.verify method passing in the JWT, the secret key and a callback function. If the JWT is valid, the decoded payload will be logged to the console. Otherwise, an error message will be printed.

32
33
34
35
36
37
38
39
40
41
42
        res.status(status).json({ status, message });
    }
});


const verifyToken = token => {
    return jwt.verify(token, process.env.TOKEN_KEY, (err, decode) =>
        decode !== undefined ? decode : err
    );
};

fork icon0
star icon1
watch icon1

+ 4 other calls in file

66
67
68
69
70
71
72
73
74
75
const refreshToken = cookie.refreshToken;
const user = await User.findOne({ refreshToken });
if (!user) {
    throw new Error(" No Refresh token present in db or not matched")
};
jwt.verify(refreshToken, process.env.JWT_SECRET, (err, decoded) => {
  if (err || user.id !== decoded.id) {
    throw new Error("There is something wrong with refresh token");
  }
  const accessToken = generateToken(user?.id);
fork icon0
star icon1
watch icon1

248
249
250
251
252
253
254
255
256
257
const decoded = await promisify(jwt.verify)(
  refreshToken,
  process.env.REFRESH_SECRET
);

// jwt.verify(refreshToken, process.env.ACCESS_SECRET, (err, decoded) => {
//   if (err) {
//     return res.status(403).json({
//       status: "fail",
//       error: err,
fork icon0
star icon1
watch icon1

6
7
8
9
10
11
12
13
14
15
if (authToken != undefined) {
    const bearer = authToken.split(' ')
    var token = bearer[1]

    try {
        var decoded = jwt.verify(token, secret)
        if (decoded.role == 1) {
            next()
        } else {
            res.status(403)
fork icon0
star icon1
watch icon1

10
11
12
13
14
15
16
17
18
19
if (!token) {
  return res.status(403).send({
    message: "No token provided!"
  });
}
jwt.verify(token, config.secret, (err, decoded) => {
  if (err) {
    return res.status(401).send({
      message: "Unauthorized!"
    });
fork icon0
star icon0
watch icon1

309
310
311
312
313
314
315
316
317
318
startStandaloneServer(server, {
  listen: { port: 4000 },
  context: async ({ req, res }) => {
    const auth = req ? req.headers.authorization : null
    if (auth && auth.startsWith('bearer ')) {
      const decodedToken = jwt.verify(
        auth.substring(7), process.env.JWT_SECRET
      )
      const currentUser = await User
        .findById(decodedToken.id)
fork icon0
star icon0
watch icon1

80
81
82
83
84
85
86
87
88
89
90
91
};


//app.use(confirmHeaders);


function confirmtoken(token) {
  return jwt.verify(token, "TOP_SECRET", function (err, verifiedJwt) {
    return verifiedJwt;
  });
}

fork icon0
star icon0
watch icon1

+ 5 other calls in file

2
3
4
5
6
7
8
9
10
11
12
13
14
const auth = async (req, resp, next) => {
    const token = req.cookies.ujwt;


    try {


        const userInfo = await jwt.verify(token, process.env.UKEY);
        const user = await User.findOne({ _id: userInfo._id })


        const tk = user.Tokens.filter(ele => {
            return ele.token == token
fork icon0
star icon0
watch icon1

4
5
6
7
8
9
10
11
12
13
const bearerHeader = req.headers['authorization'];
try {
    if (typeof bearerHeader !== 'undefined') {
        const bearerToken = bearerHeader.split(' ');
        const token = bearerToken[1];
        jwt.verify(token, SECRET_KEY = "THISISPRIVATEKEYFORUSERUSINGECCOMERCE", (err, payload) => {
            if (err) {
                return res.send('Token is not Valid');
            }
            req.user = payload.payload;
fork icon0
star icon0
watch icon1

31
32
33
34
35
36
37
38
39
40
	}
};
const register = async (req, res) => {
	try {
		console.log(req.body);
		const { email, password } = jwt.verify(req.body.token, process.env.JWT_SECRET);
		const hashedPassword = await hashPassword(password);
		const user = await new User({
			name: uuidv4(),
			email,
fork icon0
star icon0
watch icon1

81
82
83
84
85
86
87
88
89
90

if (req.headers.authorization) {
  // console.log(req.headers.authorization)
  //retorna o token (bearer)
  const token = getToken(req)
  const decoded = jwt.verify(token, 'umSecretExemplo')

  currentUser = await User.findById(decoded.id)
  console.log(`current user: ${currentUser}`)
  currentUser.password = undefined
fork icon0
star icon0
watch icon1

125
126
127
128
129
130
131
132
133
134
135


// Authentication Admin
app.post('/auth', jsonParser, function (req, res, next) {
    try {
        const token = req.headers.authorization.split(' ')[1]
        var decoded = jwt.verify(token, secret);
        res.json({ status: 'ok', decoded })
    } catch (err) {
        res.json({ status: 'err', message: err.message })
    }
fork icon0
star icon0
watch icon1

+ 2 other calls in file

278
279
280
281
282
283
284
285
286
287
const clientIP = await server.getClientIP(socket);

log.info("auth", `Login by token. IP=${clientIP}`);

try {
    let decoded = jwt.verify(token, jwtSecret);

    log.info("auth", "Username from JWT: " + decoded.username);

    let user = await R.findOne("user", " username = ? AND active = 1 ", [
fork icon0
star icon0
watch icon1

+ 2 other calls in file

150
151
152
153
154
155
156
157
158
159
  cookie = false;
}

const category = await getDb().collection("category").find().toArray();
if (req.cookies.userjwt) {
  const userId = await jwt.verify(
    req.cookies.userjwt,
    process.env.JWT_SECRET
  ).userId;
  let cartExist = await getDb()
fork icon0
star icon0
watch icon1

+ 13 other calls in file

342
343
344
345
346
347
348
349
350
351
const token = authorization.split(" ")[1];
if (!token || token === "undefined") {
  return res.status(401).send({ error: "Access Denied" });
}
try {
  const { userId } = jwt.verify(token, process.env.JWT_KEY);
  const resetPasswordToken = await tokenModel.findOne({ userId });
  if (!resetPasswordToken)
    return res.status(401).send({ error: "Access Denied" });
  const user = await userModel.findOne({ userId, isNotSpam: true });
fork icon0
star icon0
watch icon1

+ 3 other calls in file

120
121
122
123
124
125
126
127
128
129
console.log(99999, token);
  if (token === undefined) {
    return  res.send('Bạn phải đăng nhập lại'); 
  }
  try {
    jwt.verify(token, token_secret);
    return next();
    
  } catch (err) {
    // kiểm tra refresh token
fork icon0
star icon0
watch icon1

+ 7 other calls in file