gtoken此版本主要加入了缓存redis支持,便于项目集群部署 介绍基于gf框架的token插件,通过服务端验证方式实现token认证;
安装教程gopath模式: 或者 使用go.mod添加 : 使用说明只需要配置登录路径、登出路径、拦截路径以及登录校验实现即可 // 启动gtoken gtoken := >oken.GfToken{ LoginPath: "/login", LoginBeforeFunc: loginFunc, LogoutPath: "/user/logout", AuthPaths: g.SliceStr{"/user/*", "/system/*"}, } gtoken.Start() 登录方法实现 func Login(r *ghttp.Request) (string, interface{}) { username := r.GetPostString("username") passwd := r.GetPostString("passwd") // TODO 进行登录校验 return username, "" } 逻辑测试可运行api_test.go进行测试并查看结果;验证逻辑说明:
--- PASS: TestSystemUser (0.00s) api_test.go:43: 1. not login and visit user api_test.go:50: {"code":-1,"data":"","msg":"query token fail"} api_test.go:63: 2. execute login and visit user api_test.go:66: {"code":0,"msg":"success","data":"system user"} api_test.go:72: 3. execute logout api_test.go:75: {"code":0,"msg":"success","data":"logout success"} api_test.go:81: 4. visit user api_test.go:86: {"code":-1,"msg":"login timeout or not login","data":""} 感谢 |