有人能指出问题出在哪里吗?,只是通过JWT工作,服务器只是挂起,没有发送任何信息



server.js文件

创建数组并发布用户名和标题

const posts = [
{
username: "liam",
title: "Post 1",
},
{
username: "phil",
title: "Post 2",
},
];

已在下创建路由和请求

app.get("/posts", (req, res) => {
res.json(posts);
});
app.post("/login", (req, res) => {
// auth
const username = req.body.username;
const user = { name: username };
const accessToken = jwt.sign(user, process.env.ACCESS_TOKEN_SECRET);
res.json({ accessToken: accessToken });
});
app.listen(5000);

**请求的.rest文件**

获取请求并将其发布到服务器

GET http://localhost:5000/posts

###
POST http://localhost:5000/login
Content-Type: application/json
{
"username": "liam"
}

好吧,这样试试,

index.js

require('dotenv').config()
const express = require('express');
const app =  express();

const jwt = require('jsonwebtoken')

app.use(express.json());


const posts = [
{
username: "liam",
title: "Post 1",
},
{
username: "phil",
title: "Post 2",
},
];


app.get("/posts", (req, res) => {
res.json(posts);
});
app.post("/login", (req, res) => {
// auth
const username = req.body.username;
const user = { name: username };

const accessToken = jwt.sign(user, process.env.ACCESSTOKEN_SECRET_KEY );
res.json({ accessToken: accessToken });
});

app.listen(5000);

.envu可以像这个一样使用ACCESSTOKEN_SECRET_KEY

ACCESSTOKEN_SECRET_KEY  = a05d60271cc7e98e191c88b2b54e85f1a5ef50d35e6ef534331f0f2eec3489d7f37ba7eed8062c525781d856360c86d0ad49c539837909998134f958f0d428d0 

//这只是一个例子,u可以使用其他值也没有问题,这是为了保护数据/用户/路由

sample.rest

posthttp://localhost:5000/login内容类型:application/json

{"用户名":"liam";}

如果你这样使用它,你肯定会ACCESSTOKEN我认为问题是,也许你没有加载.env变量,秘密私钥必须具有值

最新更新