fix: (rbac) user profile phone
This commit is contained in:
parent
7006c0b256
commit
2acae3582a
|
@ -104,6 +104,7 @@ func authorize(user Account) (m map[string]interface{}, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
m = util.MapStr{
|
m = util.MapStr{
|
||||||
"access_token": tokenString,
|
"access_token": tokenString,
|
||||||
"username": user.Username,
|
"username": user.Username,
|
||||||
|
@ -133,6 +134,7 @@ func Login(username string, password string) (m map[string]interface{}, err erro
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
TokenMap[user.ID] = Token{ExpireIn: time.Now().Unix() + 86400}
|
||||||
err = orm.Save(GenerateEvent(event.ActivityMetadata{
|
err = orm.Save(GenerateEvent(event.ActivityMetadata{
|
||||||
Category: "platform",
|
Category: "platform",
|
||||||
Group: "rbac",
|
Group: "rbac",
|
||||||
|
@ -185,23 +187,36 @@ func ValidateLogin(authorizationHeader string) (clams *UserClaims, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
tokenString := fields[1]
|
tokenString := fields[1]
|
||||||
|
|
||||||
token, err := jwt.ParseWithClaims(tokenString, &UserClaims{}, func(token *jwt.Token) (interface{}, error) {
|
token, err := jwt.ParseWithClaims(tokenString, &UserClaims{}, func(token *jwt.Token) (interface{}, error) {
|
||||||
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
||||||
return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"])
|
return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"])
|
||||||
}
|
}
|
||||||
|
|
||||||
return []byte(Secret), nil
|
return []byte(Secret), nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if clams, ok := token.Claims.(*UserClaims); ok && token.Valid {
|
clams, ok := token.Claims.(*UserClaims)
|
||||||
return clams, nil
|
|
||||||
}
|
|
||||||
if clams.UserId == "" {
|
if clams.UserId == "" {
|
||||||
err = errors.New("user id is empty")
|
err = errors.New("user id is empty")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
fmt.Println("user token", clams.UserId, TokenMap[clams.UserId])
|
||||||
|
tokenVal, ok := TokenMap[clams.UserId]
|
||||||
|
if !ok {
|
||||||
|
err = errors.New("token is invalid")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if tokenVal.ExpireIn < time.Now().Unix() {
|
||||||
|
err = errors.New("token is expire in")
|
||||||
|
delete(TokenMap, clams.UserId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if ok && token.Valid {
|
||||||
|
return clams, nil
|
||||||
|
}
|
||||||
return
|
return
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
package enum
|
|
||||||
|
|
||||||
type Menu struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
|
|
||||||
Privilege string `json:"privilege,omitempty"`
|
|
||||||
}
|
|
|
@ -6,6 +6,15 @@ var ClusterApis = make(map[string][]string)
|
||||||
var IndexApis = make([]string, 50)
|
var IndexApis = make([]string, 50)
|
||||||
|
|
||||||
var RoleMap = make(map[string]Role)
|
var RoleMap = make(map[string]Role)
|
||||||
|
|
||||||
|
type Token struct {
|
||||||
|
JwtStr string `json:"jwt_str"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
ExpireIn int64 `json:"expire_in"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var TokenMap = make(map[string]Token)
|
||||||
|
|
||||||
var EsApiRoutes = core.NewRouter()
|
var EsApiRoutes = core.NewRouter()
|
||||||
|
|
||||||
type Role struct {
|
type Role struct {
|
||||||
|
|
|
@ -27,7 +27,8 @@ func DeleteUser(localUser *User, id string) (err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
fmt.Println("tokenmap", TokenMap)
|
||||||
|
delete(TokenMap, id)
|
||||||
err = orm.Save(GenerateEvent(event.ActivityMetadata{
|
err = orm.Save(GenerateEvent(event.ActivityMetadata{
|
||||||
Category: "platform",
|
Category: "platform",
|
||||||
Group: "rbac",
|
Group: "rbac",
|
||||||
|
|
|
@ -111,6 +111,7 @@ func (h Account) Profile(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
"username": "admin",
|
"username": "admin",
|
||||||
"email": "admin@infini.ltd",
|
"email": "admin@infini.ltd",
|
||||||
"name": "admin",
|
"name": "admin",
|
||||||
|
"phone": "13011111111",
|
||||||
}
|
}
|
||||||
h.WriteOKJSON(w, core.FoundResponse(reqUser.UserId, u))
|
h.WriteOKJSON(w, core.FoundResponse(reqUser.UserId, u))
|
||||||
} else {
|
} else {
|
||||||
|
@ -124,6 +125,7 @@ func (h Account) Profile(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
"username": user.Username,
|
"username": user.Username,
|
||||||
"email": user.Email,
|
"email": user.Email,
|
||||||
"name": user.Name,
|
"name": user.Name,
|
||||||
|
"phone": user.Phone,
|
||||||
}
|
}
|
||||||
h.WriteOKJSON(w, core.FoundResponse(reqUser.UserId, u))
|
h.WriteOKJSON(w, core.FoundResponse(reqUser.UserId, u))
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ func Init(cfg *config.AppConfig) {
|
||||||
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index/_search"), m.IndexRequired(handler.HandleSearchDocumentAction, "doc.search"))
|
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index/_search"), m.IndexRequired(handler.HandleSearchDocumentAction, "doc.search"))
|
||||||
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index"), m.IndexRequired(handler.HandleAddDocumentAction, "doc.create"))
|
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index"), m.IndexRequired(handler.HandleAddDocumentAction, "doc.create"))
|
||||||
api.HandleAPIMethod(api.PUT, path.Join(esPrefix, "doc/:index/:docId"), m.IndexRequired(handler.HandleUpdateDocumentAction, "doc.update"))
|
api.HandleAPIMethod(api.PUT, path.Join(esPrefix, "doc/:index/:docId"), m.IndexRequired(handler.HandleUpdateDocumentAction, "doc.update"))
|
||||||
api.HandleAPIMethod(api.DELETE, path.Join(esPrefix, "doc/:index/:docId"), m.ClusterRequired(handler.HandleDeleteDocumentAction, "doc.delete"))
|
api.HandleAPIMethod(api.DELETE, path.Join(esPrefix, "doc/:index/:docId"), m.IndexRequired(handler.HandleDeleteDocumentAction, "doc.delete"))
|
||||||
api.HandleAPIMethod(api.GET, path.Join(esPrefix, "doc/_validate"), handler.ValidateDocIDAction)
|
api.HandleAPIMethod(api.GET, path.Join(esPrefix, "doc/_validate"), handler.ValidateDocIDAction)
|
||||||
|
|
||||||
api.HandleAPIMethod(api.POST, path.Join(pathPrefix, "rebuild/*id"), handler.HandleReindexAction)
|
api.HandleAPIMethod(api.POST, path.Join(pathPrefix, "rebuild/*id"), handler.HandleReindexAction)
|
||||||
|
|
|
@ -19,6 +19,7 @@ type Rbac struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
||||||
r := Rbac{}
|
r := Rbac{}
|
||||||
api.HandleAPIMethod(api.GET, "/permission/:type", r.ListPermission)
|
api.HandleAPIMethod(api.GET, "/permission/:type", r.ListPermission)
|
||||||
api.HandleAPIMethod(api.POST, "/role/:type", m.PermissionRequired(r.CreateRole, enum.RoleAll))
|
api.HandleAPIMethod(api.POST, "/role/:type", m.PermissionRequired(r.CreateRole, enum.RoleAll))
|
||||||
|
|
Loading…
Reference in New Issue