jwt.go
770 字节
package middleware
import (
"github.com/beego/beego/v2/server/web/context"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
)
type CtxKeyLoginToken struct{}
func JWTAuth(ctx *context.Context) {
tokenStr := ctx.Input.Header("xxxx")
tk := domain.LoginToken{}
err := tk.ParseToken(tokenStr)
if err != nil {
//
return
}
ctx.Input.SetData(CtxKeyLoginToken{}, domain.LoginToken{})
}
func NewCtxLoginToken(ctx *context.Context, tk domain.LoginToken) {
ctx.Input.SetData(CtxKeyLoginToken{}, domain.LoginToken{})
}
func FormCtxLoginToken(ctx *context.Context) (domain.LoginToken, bool) {
val := ctx.Input.GetData(CtxKeyLoginToken{})
if v, ok := val.(domain.LoginToken); ok {
return v, true
}
return domain.LoginToken{}, false
}