[英]How can I fix not defined error? NodeJS, JWT
const express = require("express");
const jwt = require("jsonwebtoken");
const { type } = require("os");
const app = express();
app.get("/api", (req,res) => {
res.json({
message: "Welcome to the API"
});
});
app.post("/api/posts", (req,res) => {
res.json({
message: "Post has been created.."
});
});
app.post("/api/login", verifyToken, (req,res) => {
// Mock User
const user = {
id: 24,
username: "Jonah",
email: "jonah_52@gmail.com"
}
jwt.sign({user}, "secretkey", (err, token) => {
res.json({
token
});
});
});
// Verify Token
function verifyToken(req,res,next) {
// Get authorization header value
const bearerHeader = req.headers["authorization"];
}
// Check if bearer is undefined
if(typeof bearerHeader !== "undefined") {
}else{
// Forbidden
res.sendStatus(403);
}
app.listen(5000, () => console.log("Server is listening on port 5000.."));
I want to make Node.js API Authentication With JWT and when I check this with if/else method I get an error that is saying "res is not defined", how can I defined this "res" and fix the error?我想使用 JWT 进行 Node.js API 身份验证,当我使用 if/else 方法检查时,我得到一个错误,上面写着“res not defined”,我该如何定义这个“res not defined”?
res.sendStatus(403); res.sendStatus(403); ^
^
ReferenceError: res is not defined ReferenceError: res 没有定义
You have some improper bracing in your verifyToken()
function.您的
verifyToken()
function 中有一些不正确的支撑。 Change this:改变这个:
// Verify Token
function verifyToken(req,res,next) {
// Get authorization header value
const bearerHeader = req.headers["authorization"];
}
// Check if bearer is undefined
if(typeof bearerHeader !== "undefined") {
}else{
// Forbidden
res.sendStatus(403);
}
to this:对此:
// Verify Token
function verifyToken(req,res,next) {
// Get authorization header value
const bearerHeader = req.headers["authorization"];
// Check if bearer is undefined
// FIX THIS: need to not just check if it's undefined, but if
// its valid
if(typeof bearerHeader !== "undefined") {
next();
} else {
// Forbidden
res.sendStatus(403);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.