This commit is contained in:
eson
2023-07-27 10:18:49 +08:00
parent 01cc7da3b4
commit 19ad6625e6
12 changed files with 301 additions and 85 deletions

View File

@@ -74,6 +74,8 @@ var (
CodeAesCbcEncryptionErr = &StatusResponse{5106, "encryption data err"} // 加密数据失败
CodeAesCbcDecryptionErr = &StatusResponse{5107, "decryption data err"} // 解密数据失败
CodeSharedStateErr = &StatusResponse{5201, "shared state server err"} // 状态机错误
)
type Response struct {

View File

@@ -53,7 +53,7 @@ func NormalAfterLogic(w http.ResponseWriter, r *http.Request, resp *Response) {
func RequestParse(w http.ResponseWriter, r *http.Request, state *fsm.StateCluster, LogicRequest any) (*auth.UserInfo, error) {
token, info, err := auth.ParseJwtTokenHeader[auth.UserInfo](r)
token, info, err := auth.ParseJwtTokenHeader[auth.UserInfo](r) //解析Token头, 和payload信息
if err != nil {
logx.Error(err)
return nil, err
@@ -61,15 +61,15 @@ func RequestParse(w http.ResponseWriter, r *http.Request, state *fsm.StateCluste
var secret uint64 = 0
if info.IsUser() {
us, err := state.GetUserState(info.UserId)
us, err := state.GetUserState(info.UserId) //获取缓存的用户状态
if err != nil {
logx.Error(err)
return nil, err
}
secret = us.PwdHash
secret = us.PwdHash // 获取密码的hash做jwt, 便于重置密码的使用
} else if info.IsGuest() {
secret = DefaultJwtSecret
secret = DefaultJwtSecret //获取默认的hash
}
var userinfo *auth.UserInfo
@@ -97,10 +97,10 @@ func RequestParse(w http.ResponseWriter, r *http.Request, state *fsm.StateCluste
logx.Info("unauthorized:", err.Error())
return nil, err
}
} else {
// 如果claims为nil,则认为用户身份为白板用户
userinfo = &auth.UserInfo{UserId: 0, GuestId: 0}
}
} else {
// 白板用户
userinfo = &auth.UserInfo{UserId: 0, GuestId: 0}
}
// 如果端点有请求结构体则使用httpx.Parse方法从HTTP请求体中解析请求数据