我正在使用带有Express应用程序的NodeJ来开发用于浏览器和手机的Web。我正在使用JWT,因为它似乎是标准的,而且我读到会话在手机(没有浏览器)中不能很好地工作。我在使用“ jsonwebtoken”配置的后端中有以下代码:
'use strict';
const jwt = require('jsonwebtoken');
const path = require('path');
const fs = require('fs');
const privateKEY = fs.readFileSync(path.join(__dirname, 'private.key'), 'utf8');
const publicKEY = fs.readFileSync(path.join(__dirname, 'public.key'), 'utf8');
module.exports = {
sign: (payload) => {
var signOptions = {
expiresIn: process.env.TOKEN_EXPIRE_TIME,
algorithm: "RS256"
};
return jwt.sign(payload, privateKEY, signOptions);
},
verify: (token) => {
var verifyOptions = {
expiresIn: process.env.TOKEN_EXPIRE_TIME,
algorithm: ["RS256"]
};
try {
return jwt.verify(token, publicKEY, verifyOptions);
} catch (err) {
return false;
}
},
decode: (token) => {
return jwt.decode(token, {
complete: true
});
}
};
但是我不知道哪种方法可以实现前端。我需要知道如何为两种设备(localStorage,sessionStorage,Cookie或其他设备)存储令牌,以及使链接(html中的href标记)从该存储方法发送令牌的好方法是什么。
答案 0 :(得分:1)
JWT令牌在前端的存储类型完全取决于您的应用程序要求以及您要如何处理用户的登录/注销会话。
请参阅article,了解JWT的用法,如有需要,请鼓掌
如果您不清楚这一点,则可以在关闭浏览器后usr localStorage,因为存储在其中的数据将保留事件-如果不打扰您的需求。
要从链接发送令牌-您可以做两件事-
我希望有帮助。