1 Star 0 Fork 0

LiuFuDan / devcloud

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
token.go 1.41 KB
一键复制 编辑 原始数据 按行查看 历史
package api
import (
"github.com/emicklei/go-restful/v3"
"github.com/infraboard/mcube/http/response"
"gitee.com/liu-fudan/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) 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)
}
1
https://gitee.com/liu-fudan/devcloud.git
git@gitee.com:liu-fudan/devcloud.git
liu-fudan
devcloud
devcloud
055c0a611b21

搜索帮助