当前位置:   article > 正文

JWT 的认证流程_jwt认证流程

jwt认证流程

1、用户使用用户名和密码登录

2、服务器验证用户凭据

3、一旦凭据验证成功,服务器会创建一个 JWT 并返回给用户

4、用户将 JWT 存储在本地,通常是 cookie 或者 localStorage

5、用户每次向服务器发送请求时,都会在请求头中包含 JWT

6、服务器会验证 JWT ,如果验证通过,则会处理请求,返回数据

7、如果用户注销或者 JWT 过期,服务器会拒绝请求

以下是 JWT 在服务端的认证示例:

  1. const jwt = require('jsonwebtoken');
  2. const secret = 'your-secret-key';
  3. // 用户登录
  4. app.post('/login', (req, res) => {
  5. const { username, password } = req.body;
  6. // 验证用户名和密码
  7. const user = authenticate(username, password);
  8. if (user) {
  9. // 创建 JWT
  10. const token = jwt.sign({ id: user.id }, secret);
  11. // 将 JWT 发送给用户
  12. res.json({ token });
  13. } else {
  14. res.status(401).send('Invalid credentials');
  15. }
  16. });
  17. // 用户请求资源
  18. app.get('/resource', (req, res) => {
  19. const token = req.headers['authorization'];
  20. // 验证 JWT
  21. jwt.verify(token, secret, (err, decoded) => {
  22. if (err) {
  23. res.status(401).send('Invalid token');
  24. } else {
  25. // 处理请求
  26. res.json({ resource: 'Here is your resource' });
  27. }
  28. });
  29. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/642136
推荐阅读
相关标签
  

闽ICP备14008679号