gtoken 使用教程

gtoken 使用教程

项目介绍

gtoken 是一个基于 GoFrame 框架的 token 插件,通过服务端验证方式实现 token 认证。它支持单点应用使用内存存储,也支持集群使用 Redis 存储,完全适用于企业生产级使用。gtoken 解决了 JWT 服务端无法退出、无法作废已颁布的令牌、携带大量用户扩展信息导致传输效率降低等问题,并支持服务端自动续期。

项目快速启动

安装 gtoken

首先,确保你已经安装了 GoFrame 框架。然后,通过以下命令安装 gtoken

go get github.com/goflyfox/gtoken

初始化项目

创建一个新的 Go 项目,并在 main.go 文件中引入 gtoken

package main

import (
    "github.com/gogf/gf/frame/g"
    "github.com/gogf/gf/net/ghttp"
    "github.com/goflyfox/gtoken"
)

func main() {
    s := g.Server()
    s.Group("/", func(group *ghttp.RouterGroup) {
        group.Middleware(gtoken.Middleware)
        group.ALL("/user", User)
    })
    s.SetPort(8199)
    s.Run()
}

func User(r *ghttp.Request) {
    r.Response.Write("Hello, World!")
}

配置 gtoken

在项目根目录下创建一个 config.toml 文件,并添加以下配置:

[gtoken]
CacheMode = 2
Timeout = 864000
MaxRefresh = 432000

运行项目

通过以下命令运行项目:

go run main.go

访问 http://localhost:8199/user,你应该能看到 "Hello, World!" 的输出。

应用案例和最佳实践

单点应用

对于单点应用,gtoken 默认使用内存存储 token。你可以通过以下配置启用内存存储:

[gtoken]
CacheMode = 1

集群应用

对于集群应用,gtoken 支持使用 Redis 存储 token。你需要配置 Redis 连接信息:

[gtoken]
CacheMode = 2
RedisAddress = "localhost:6379"
RedisPassword = ""
RedisDB = 0

自动续期

gtoken 支持服务端自动续期功能。你可以通过以下配置启用自动续期:

[gtoken]
Timeout = 864000
MaxRefresh = 432000

典型生态项目

GoFrame

gtoken 是基于 GoFrame 框架开发的,因此与 GoFrame 框架紧密集成。你可以利用 GoFrame 提供的其他功能和插件来增强你的应用。

Redis

对于集群应用,gtoken 使用 Redis 作为存储后端。你可以利用 Redis 的高性能和分布式特性来支持大规模应用。

其他 Go 生态项目

gtoken 可以与其他 Go 生态项目集成,例如 gcachegredis 等,以提供更多的功能和灵活性。

通过以上步骤,你可以快速启动并使用 gtoken 插件,实现高效的 token 认证功能。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值