mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 01:07:41 +08:00
fix order of returned var in controller.SecurityCheck
This commit is contained in:
@@ -182,24 +182,24 @@ func TestSecurityCheck(t *testing.T) {
|
|||||||
database.InitializeDatabase()
|
database.InitializeDatabase()
|
||||||
os.Setenv("MASTER_KEY", "secretkey")
|
os.Setenv("MASTER_KEY", "secretkey")
|
||||||
t.Run("NoNetwork", func(t *testing.T) {
|
t.Run("NoNetwork", func(t *testing.T) {
|
||||||
err, networks, username := SecurityCheck(false, "", "Bearer secretkey")
|
networks, username, err := SecurityCheck(false, "", "Bearer secretkey")
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
t.Log(networks, username)
|
t.Log(networks, username)
|
||||||
})
|
})
|
||||||
t.Run("WithNetwork", func(t *testing.T) {
|
t.Run("WithNetwork", func(t *testing.T) {
|
||||||
err, networks, username := SecurityCheck(false, "skynet", "Bearer secretkey")
|
networks, username, err := SecurityCheck(false, "skynet", "Bearer secretkey")
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
t.Log(networks, username)
|
t.Log(networks, username)
|
||||||
})
|
})
|
||||||
t.Run("BadNet", func(t *testing.T) {
|
t.Run("BadNet", func(t *testing.T) {
|
||||||
t.Skip()
|
t.Skip()
|
||||||
err, networks, username := SecurityCheck(false, "badnet", "Bearer secretkey")
|
networks, username, err := SecurityCheck(false, "badnet", "Bearer secretkey")
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
t.Log(err)
|
t.Log(err)
|
||||||
t.Log(networks, username)
|
t.Log(networks, username)
|
||||||
})
|
})
|
||||||
t.Run("BadToken", func(t *testing.T) {
|
t.Run("BadToken", func(t *testing.T) {
|
||||||
err, networks, username := SecurityCheck(false, "skynet", "Bearer badkey")
|
networks, username, err := SecurityCheck(false, "skynet", "Bearer badkey")
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
t.Log(err)
|
t.Log(err)
|
||||||
t.Log(networks, username)
|
t.Log(networks, username)
|
||||||
|
@@ -31,7 +31,7 @@ func securityCheck(reqAdmin bool, next http.Handler) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err, networks, username := SecurityCheck(reqAdmin, params["networkname"], bearerToken)
|
networks, username, err := SecurityCheck(reqAdmin, params["networkname"], bearerToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if strings.Contains(err.Error(), "does not exist") {
|
if strings.Contains(err.Error(), "does not exist") {
|
||||||
errorResponse.Code = http.StatusNotFound
|
errorResponse.Code = http.StatusNotFound
|
||||||
@@ -53,7 +53,7 @@ func securityCheck(reqAdmin bool, next http.Handler) http.HandlerFunc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SecurityCheck - checks token stuff
|
// SecurityCheck - checks token stuff
|
||||||
func SecurityCheck(reqAdmin bool, netname string, token string) (error, []string, string) {
|
func SecurityCheck(reqAdmin bool, netname string, token string) ([]string, string, error) {
|
||||||
|
|
||||||
var hasBearer = true
|
var hasBearer = true
|
||||||
var tokenSplit = strings.Split(token, " ")
|
var tokenSplit = strings.Split(token, " ")
|
||||||
@@ -72,10 +72,10 @@ func SecurityCheck(reqAdmin bool, netname string, token string) (error, []string
|
|||||||
userName, networks, isadmin, err := logic.VerifyUserToken(authToken)
|
userName, networks, isadmin, err := logic.VerifyUserToken(authToken)
|
||||||
username = userName
|
username = userName
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.New("error verifying user token"), nil, username
|
return nil, username, errors.New("error verifying user token")
|
||||||
}
|
}
|
||||||
if !isadmin && reqAdmin {
|
if !isadmin && reqAdmin {
|
||||||
return errors.New("you are unauthorized to access this endpoint"), nil, username
|
return nil, username, errors.New("you are unauthorized to access this endpoint")
|
||||||
}
|
}
|
||||||
userNetworks = networks
|
userNetworks = networks
|
||||||
if isadmin {
|
if isadmin {
|
||||||
@@ -83,10 +83,10 @@ func SecurityCheck(reqAdmin bool, netname string, token string) (error, []string
|
|||||||
} else {
|
} else {
|
||||||
networkexists, err := functions.NetworkExists(netname)
|
networkexists, err := functions.NetworkExists(netname)
|
||||||
if err != nil && !database.IsEmptyRecord(err) {
|
if err != nil && !database.IsEmptyRecord(err) {
|
||||||
return err, nil, ""
|
return nil, "", err
|
||||||
}
|
}
|
||||||
if netname != "" && !networkexists {
|
if netname != "" && !networkexists {
|
||||||
return errors.New("this network does not exist"), nil, ""
|
return nil, "", errors.New("this network does not exist")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if isMasterAuthenticated {
|
} else if isMasterAuthenticated {
|
||||||
@@ -95,7 +95,7 @@ func SecurityCheck(reqAdmin bool, netname string, token string) (error, []string
|
|||||||
if len(userNetworks) == 0 {
|
if len(userNetworks) == 0 {
|
||||||
userNetworks = append(userNetworks, NO_NETWORKS_PRESENT)
|
userNetworks = append(userNetworks, NO_NETWORKS_PRESENT)
|
||||||
}
|
}
|
||||||
return nil, userNetworks, username
|
return userNetworks, username, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Consider a more secure way of setting master key
|
// Consider a more secure way of setting master key
|
||||||
|
Reference in New Issue
Block a user