📄️ 3.1.前置说明
我们需要实现用户会话管理功能,包括登录和用户信息获取。JWT是一种用于用户身份验证的现代解决方案,通过HTTP头部传递,不依赖Cookie,并且支持跨域。JWT由Header、Payload和Signature组成,在前后端分离项目中广泛使用。
📄️ 3.2.登录
登录功能通过接收用户名和密码,验证成功生成Token返回。采用GoFrame框架,遵循三板斧开发原则,包括Api生成Controller,编写核心Logic逻辑。通过JwtKey生成签名,Token有效期为六小时。在Controller中调用核心逻辑实现登录功能,并测试接口确保功能正常。
📄️ 3.3.获取用户信息
用户信息接口需要登录后才能访问,并通过中间件统一验证Token的有效性。GoFrame框架提供了灵活的中间件机制,支持请求前后操作。通过Auth中间件验证HTTP请求中的Token,在Logic中解析Token获取用户信息,并通过定义Api和Controller调用控制器进行接口注册,实现用户信息接口的访问控制和权限认证。
📄️ 3.4.总结
使用GoFrame完成用户会话管理,实现登录和用户信息获取功能。通过声明用户结构体生成Token,以及Token解析用户信息接口,深入理解GoFrame。引入中间件完成用户权限认证,并应用于分组路由。在使用JWT时,介绍解决退出登录问题的黑白名单机制,讨论其优劣和实现方式。