当前位置: 首页 > news >正文

系统设计——登录流程

用户登录流程通常包含用户身份验证、令牌生成、以及可能的多因子认证等步骤。以下是一个典型的用户登录流程:

1. 用户发起登录请求

  • 操作:用户在登录页面输入用户名和密码,点击登录按钮。
  • 前端行为:前端将用户输入的用户名和密码通过HTTPS请求发送到服务器的登录接口(例如:POST /api/auth/login)。

2. 服务器验证用户身份

  • 操作
    1. 服务器接收到登录请求后,根据用户名查询数据库中的用户记录。
    2. 服务器使用安全算法(如bcrypt)验证用户输入的密码是否与存储的加密密码匹配。
    3. 如果用户存在且密码匹配,则通过验证;否则,返回错误响应(如“用户名或密码错误”)。

3. 生成访问令牌 (Access Token)

  • 操作
    1. 验证通过后,服务器生成一个访问令牌(Access Token),通常使用JWT(JSON Web Token)或其他加密方式。
    2. 令牌包含用户的身份信息(如用户ID、角色)和令牌的有效期。
    3. 令牌生成后,服务器将其返回给客户端。

4. (可选)多因子认证 (MFA)

  • 操作
    1. 如果系统启用了多因子认证,服务器会要求用户进行第二步验证,如输入短信验证码或通过移动应用验证。
    2. 用户输入二次认证信息后,服务器验证该信息是否正确。
    3. 验证通过后,才会完成登录流程。

5. 客户端存储令牌

  • 操作:前端将服务器返回的访问令牌保存在本地存储(如localStoragesessionStorage)中,用于后续的身份验证。

6. 客户端携带令牌访问受保护的资源

  • 操作
    1. 用户登录成功后,访问系统的受保护页面或API时,前端会在HTTP请求的Authorization头部附上访问令牌。
    2. 服务器在接收到请求时,验证令牌的有效性(是否未过期、签名是否正确)。
    3. 令牌验证通过后,服务器允许访问资源。

7. (可选)签名认证

  • 操作
    1. 在某些关键操作或访问特定资源时,前端会生成签名信息,附加在请求中。
    2. 服务器接收到请求后,验证签名的真实性(通常使用预定义的密钥或非对称加密的公钥)。
    3. 签名验证通过后,服务器允许操作或访问资源。

8. 访问资源

  • 操作:验证成功后,服务器返回所请求的资源,或执行用户请求的操作。

总结

整个登录流程涉及用户身份验证、令牌生成与验证、以及可能的多因子认证或签名认证,确保用户身份的真实性和系统资源的安全性。系统通过令牌管理用户的会话,通过签名保护特定操作或资源的安全。


http://www.mrgr.cn/news/14174.html

相关文章:

  • 【cocos creator】养成游戏简易事件系统,每日随机事件,每日行动点重置,根据数据检测多结局
  • k8s项目的发布
  • 长期使用电脑的程序猿,如何保护眼睛?
  • 【Qt窗口】—— 浮动窗口
  • 关于武汉芯景科技有限公司的实时时钟芯片XJ8339开发指南(兼容DS1339)
  • 爆改YOLOv8|使用RCS-OSA替换C2f暴力涨点
  • 更改网络ip地址时出现错误怎么办
  • 深入理解Spring Boot中的@ConditionalOnProperty注解及其应用
  • Shell教程_Bash中test命令的使用
  • SEO优化租用站群服务器需要考虑哪些?
  • Threejs学习-三维坐标系、相机控件
  • 【Qt 地图开发】
  • 回答评论:使用流遍历文件 list
  • JS WebSocket 深度解析
  • 发现一个程序员最强外设,助你高效开发早日摸鱼!
  • 多处理器的基本概念
  • 深度解读SGM41511电源管理芯片I2C通讯协议REG04寄存器解释
  • apache的主要目录结构及常见的配置选项的详细说明(图例展示)
  • 厨房老鼠检测算法解决方案老鼠检测算法源码样本详细介绍
  • 服务器搭建记录(两台服务器通过一个路由器的LAN口联网)