7 Star 24 Fork 30

go-course / go8

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
token.go 1.81 KB
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2022-10-22 16:16 . 补充restful 客户端
package api
import (
"github.com/emicklei/go-restful/v3"
"github.com/infraboard/mcube/http/response"
"gitee.com/go-course/go8/projects/devcloud/mcenter/apps/token"
)
func (h *handler) IssueToken(r *restful.Request, w *restful.Response) {
req := token.NewIssueTokenRequest()
if err := r.ReadEntity(req); err != nil {
response.Failed(w.ResponseWriter, err)
return
}
tk, err := h.service.IssueToken(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, tk)
}
// Refresh Token必须传递, 判断撤销者身份
func (u *handler) RevolkToken(r *restful.Request, w *restful.Response) {
qs := r.Request.URL.Query()
req := token.NewRevolkTokenRequest()
// 从HTTP Header中获取Access token
req.AccessToken = token.GetTokenFromHTTPHeader(r.Request)
// 从Query string获取Refresh Token
req.RefreshToken = qs.Get("refresh_token")
ins, err := h.service.RevolkToken(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, ins)
}
func (u *handler) ChangeNamespace(r *restful.Request, w *restful.Response) {
req := token.NewChangeNamespaceRequest()
if err := r.ReadEntity(req); err != nil {
response.Failed(w.ResponseWriter, err)
return
}
set, err := h.service.ChangeNamespace(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, set)
}
func (u *handler) ValidateToken(r *restful.Request, w *restful.Response) {
tk := r.Request.Header.Get(token.VALIDATE_TOKEN_HEADER_KEY)
req := token.NewValidateTokenRequest(tk)
resp, err := h.service.ValidateToken(r.Request.Context(), req)
if err != nil {
response.Failed(w.ResponseWriter, err)
return
}
response.Success(w.ResponseWriter, resp)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/go-course/go8.git
git@gitee.com:go-course/go8.git
go-course
go8
go8
6a8978f41a84

搜索帮助

344bd9b3 5694891 D2dac590 5694891