gf-jwt介绍

基于gin-jwt修改的gf插件,主要用于服务端的token认证,使用简单。

gf-jwt优点

  1. gf-jwt支持jwt服务端退出功能(黑名单机制),避免JWT处于游离态。
  2. gf-jwt使用gogf默认的gcahce功能,支持使用内存存储、redis存储
  3. 可自定义jwt的Payload

gf-jwt使用方法

下载和安装

$ go get github.com/gogf/gf-jwt

导入

$ import "github.com/gogf/gf-jwt"


On this page:


gf-jwt v2

已经支持了 gf2 了

安装

$ go get github.com/gogf/gf-jwt/v2


13 Comments

  1. jwt如果要用内存或者redis那与session有和分别呢

    1. 内存和redis存储指的是黑名单,session这些是jwt用法,可以放在session传到服务端,也可以放header传到服务端

  2. 提了一个 PR 不知可否合并?

    1. 我帮你呼叫大佬 

  3. done  已经merge了

  4. gf2.0版本能不能升级一下

    1. 我去升级下

  5. V2使用jwt 无法go get,github.com/gogf/gf-jwt imports
            github.com/gogf/gf/net/ghttp imports
            go.opentelemetry.io/otel/label: cannot find module providing package go.opentelemetry.io/otel/label
    go: warning: github.com/gomodule/redigo@v2.0.0+incompatible: retracted by module author: Old development version not maintained or published.
    go: to switch to the latest unretracted version, run:
            go get github.com/gomodule/redigo@latest

  6. 感谢大佬更新

  7. 我在使用v2的时候,

    auth := jwt.New(&jwt.GfJWTMiddleware{
    Realm: "test zone",
    Key: []byte("secret key"),
    Timeout: time.Minute * 5,
    MaxRefresh: time.Minute * 5,
    IdentityKey: "id",
    TokenLookup: "header: Authorization, query: token, cookie: jwt",
    TokenHeadName: "Bearer",
    TimeFunc: time.Now,
    Authenticator: Authenticator, //根据登录信息对用户进行身份验证的回调函数
    Unauthorized: Unauthorized, //处理不进行授权的逻辑
    PayloadFunc: PayloadFunc, //登录期间的设置私有载荷的函数,默认设置Authenticator函数回调的所有内容
    IdentityHandler: IdentityHandler, //解析并设置用户身份信息,并设置身份信息至每次请求中
    LoginResponse: LoginResponse,
    })

    LoginResponse 是报错的,v2没有自定义返回了吗?

  8. 如果有多种登录方式该如何处理呢,难不成要在Authenticator里面判断?