官方示例
官方基于最新的v2.x版本提供了示例,从以下角度演示了如何快速搭建单体API Service:
开始实战
提示:为了行文紧凑,方便大家理解。与核心知识点无关的代码会直接省略或用会三个竖着的.简化。文章最后会提供GitHub地址,开源项目。
1. GToken实现单点登录
1. 查看自己的版本
首先,我们要确定自己安装的gf版本,通过gf version命令就可以查看了。
查看版本
注意:gtoken v1.5.0
全面适配GoFrame v2.0.0 ; GoFrame v1.X.X 请使用GfToken v1.4.X相关版本
根据自己的版本安装合适的gtoken
2. 安装最新版gtoken
go get github.com/goflyfox/gtoken
3. 安装指定版本gtoken
@指定的版本号就可以了:
go get github.com/goflyfox/gtoken@v1.4.1
2. 自定义中间件
我们以编写gtoken中间件为例,带大家写一个自己的中间件:
在我们的app/middleware目录下新建token.go文件
编写gtoken中间件的目的:
-
全局校验用户的登录状态
-
登录后的用户将用户名、id这类用户信息写入到Context上下中,方便全局调用
-
在中间件中统一进行账号判断,比如:是否被拉黑等判断操作
我们来看具体的实现:
package middleware
const (
CtxAccountId = "account_id" //token获取
.
.
.
)
type TokenInfo struct {
Id