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变量,秘密私钥必须具有值