GToken 自定义错误返回

GToken 默认返回码及配置项如下:

  1. 正常操作成功返回0
  2. 未登录访问需要登录资源返回401
  3. 程序异常返回-99,如编解码错误等
SUCCESS      = 0  // 正常
FAIL         = -1  // 失败
ERROR        = -99  // 异常
UNAUTHORIZED = -401  // 未认证

完整返回报文对应结构体 gtoken.Resp

type Resp struct {
   
    Code int         `json:"code"`
    Msg  string      `json:"msg"`
    Data interface{
   } `json:"data"`
}

假如说我们需要登录成功 Code 修改为 200 ,Data 修改为 token ,在 LoginAfterFunc() 加入相关逻辑。

我们先来看一下 GToken 源码:

// Login 登录
func (m 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在GoFrame 2.4版本中集成gtoken 1.5,你可以按照以下步骤进行: 1. 安装gtoken:使用`go get`命令安装或更新gtoken到1.5版本: ``` go get -u github.com/gogf/gf-jwt/v2 ``` 2. 在你的GoFrame项目中导入gtoken包: ```go import ( "github.com/gogf/gf-jwt/v2" ) ``` 3. 创建gtoken对象并添加到GoFrame的中间件链中: ```go func main() { s := g.Server() s.Use(gtoken.Middleware()) // ... } ``` 4. 配置gtoken: 在GoFrame的配置文件中添加以下gtoken的配置项,示例: ```ini [jwt] # 密钥,注意要保密 secret = "your-secret-key" # 过期时间,单位为秒 expire = 3600 # 刷新时间,单位为秒 refresh = 7200 # 是否启用自动续签 autoRenew = true # 是否启用多点登录限制 multiLogin = false ``` 5. 使用gtoken进行认证和授权: 在需要进行认证和授权的接口中,使用`gtoken.RequireAuth()`进行认证和`gtoken.RequirePermission()`进行授权,示例: ```go func main() { s := g.Server() s.BindHandler("/api/user", gtoken.RequireAuth(), getUserHandler) s.BindHandler("/api/admin", gtoken.RequirePermission("admin"), adminHandler) // ... } func getUserHandler(r *ghttp.Request) { // 获取当前登录用户信息 user := gtoken.GetTokenData(r).(*gtoken.Token) r.Response.Write(user.GetString("username")) } func adminHandler(r *ghttp.Request) { // 只有具有"admin"权限的用户才能访问 r.Response.Write("Welcome, admin!") } ``` 在上述代码中,我们使用gtoken提供的中间件和方法来实现认证和授权功能。你可以根据自己的需求在接口中使用`gtoken.RequireAuth()`进行认证,使用`gtoken.RequirePermission()`进行授权。同时,你也可以使用`gtoken.GetTokenData()`方法获取当前登录用户的信息。 这样,你就成功集成了gtoken 1.5到GoFrame 2.4版本中,实现了基于JWT的认证和授权功能。记得根据实际需求进行配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值