gpt4 book ai didi

javascript - 在 Header 中传递 JWT

转载 作者:搜寻专家 更新时间:2023-10-31 23:40:16 25 4
gpt4 key购买 nike

我正在使用 NodeJs 学习 JWT。我坚持在 header 中传递 JWT 实际上我不知道该怎么做。

index.js 文件

var express = require('express'),
app = express(),
routes = require('./routes'),
bodyParser = require('body-parser'),
path = require('path'),
ejs = require('ejs'),
jwt = require('jsonwebtoken');

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

app.post('/home',routes.loginUser);

app.get('/', function(req, res) {
res.render('index');
});

app.get('/home',function(req, res) {
jwt.verify(req.token, 'qwertyu6456asdfghj', function(err, data) {
if (err) {
res.sendStatus(403);
}
});
});

app.listen(3000,function(){
console.log("Server running at Port 3000");
});

routes/index.js 文件

var  jwt = require('jsonwebtoken');

exports.home = function(req, res){
res.render('home',{error: false});
};

exports.loginUser = function(req, res) {
var uname = req.body.Username;
var pwd = req.body.Password;

if(uname && pwd === 'admin'){
res.render('home');

var token = jwt.sign({ user: uname }, 'qwertyuiopasdfghj');
console.log('Authentication is done successfully.....');
console.log(token);
}

response.json({
authsuccess: true,
description: 'Sending the Access Token',
token: token
});
};

当我运行应用程序时,我在 console.log 中获取了 token ,但是如何在 header 中传递 token 并将其存储在浏览器的 localStorage 中?

最佳答案

所以你想将 token 发送到前端而不是在正文中。

推荐方法是使用 cookie。可以在cookie中设置token,前后端自动访问。

res.cookie('tokenKey', 'ajsbjabcjcTOKENajbdcjabdcjdc');

使用授权 header 也是一种好方法,但同样,在前端,您必须从 header 中获取 token ,然后保存在本地存储或 cookie 中,如果是 cookie,则不必这样做。

res.header(field [, value]);

关于javascript - 在 Header 中传递 JWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com