Browse Source

fix jwt parsing

abhishek9686 1 year ago
parent
commit
d08c5b6995
2 changed files with 9 additions and 1 deletions
  1. 8 1
      logic/jwts.go
  2. 1 0
      logic/security.go

+ 8 - 1
logic/jwts.go

@@ -87,9 +87,16 @@ func VerifyJWT(bearerToken string) (username string, issuperadmin, isadmin bool,
 	return VerifyUserToken(token)
 }
 
-func GetUserNameFromToken(tokenString string) (username string, err error) {
+func GetUserNameFromToken(authtoken string) (username string, err error) {
 	claims := &models.UserClaims{}
+	var tokenSplit = strings.Split(authtoken, " ")
+	var tokenString = ""
 
+	if len(tokenSplit) < 2 {
+		return "", Unauthorized_Err
+	} else {
+		tokenString = tokenSplit[1]
+	}
 	if tokenString == servercfg.GetMasterKey() && servercfg.GetMasterKey() != "" {
 		return MasterUser, nil
 	}

+ 1 - 0
logic/security.go

@@ -154,6 +154,7 @@ func SecurityCheck(reqAdmin bool, next http.Handler) http.HandlerFunc {
 		w.Header().Set("IS_GLOBAL_ACCESS", r.Header.Get("IS_GLOBAL_ACCESS"))
 		if err != nil {
 			w.Header().Set("ACCESS_PERM", err.Error())
+
 		}
 		r.Header.Set("user", username)
 		next.ServeHTTP(w, r)