
本文共 2551 字,大约阅读时间需要 8 分钟。
������JWT���������������������������
1. ���������������
���������������������������JSON Web Token��� JWT ������ React ������ cookie������������
npm install jsonwebtokennpm install react-cookies
2. ������JWT���Cookie������
��������������������������������� app.js
������������������������ router.js
���������������������������������JWT���Cookie���������
const jwt = require('jsonwebtoken');
3. ���������������
��� Express.js ������������������������������������������������������������������������������������������������������
app.all('*', (req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With'); // ������ Cookie ��� res.header('Set-Cookie', 'useremail=; Path=/'); next();});
4. JWT token���������������
������������������������������������������������������JWT Token������������������������
const token = jwt.sign(email, 'hmr1028', { expiresIn: '1h' });res.send({ err: 0, msg: '������������', tk: { token }});
5. cookie������
���React���������������JWT Token���
import cookie from 'react-cookies';// ������ token ��� cookie ���cookie.save('useremail', token, { path: '/'});
6. ��������������������� token
��������������� cookie ������ token ���������������������������
// ������ cookie ������ tokenconst tk = cookie.load('useremail');// ��������������������� tokenrequest.headers['Set-Cookie'] = tk ? [tk] : [];
7. ������ token
��������������������������������������� token ���������������
// ��� cookie ��������� tokenconst token = req.headers['Set-Cookie'].find(c => c.startsWith('useremail='))[0].split('=')[1];// ������ tokenconst payload = jwt.decode(token, 'hmr1028');
8. ������������
������ token ���������������������������������������������������������������
if (payload) { // ��������������������������� res.json({...data});} else { // ��������������������������������� res.send(403, { err: 403, msg: '���������������������������������' });}
9. ������������������������
������������������������������������������������������������������������
res.header('Access-Control-Allow-Origin', '*');res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization, yourHeaderFeild, Set-Cookie');
���������������������������������������JWT���������������������������������������������������������������������������
发表评论
最新留言
关于作者
