Browse Source

use host id in jwt claims

Anish Mukherjee 2 years ago
parent
commit
175e371da9
2 changed files with 3 additions and 17 deletions
  1. 2 16
      controllers/node.go
  2. 1 1
      logic/jwts.go

+ 2 - 16
controllers/node.go

@@ -53,7 +53,6 @@ func nodeHandlers(r *mux.Router) {
 func authenticate(response http.ResponseWriter, request *http.Request) {
 
 	var authRequest models.AuthParams
-	var result models.Node
 	var errorResponse = models.ErrorResponse{
 		Code: http.StatusInternalServerError, Message: "W1R3: It's not you it's me.",
 	}
@@ -82,20 +81,7 @@ func authenticate(response http.ResponseWriter, request *http.Request) {
 		logic.ReturnErrorResponse(response, request, errorResponse)
 		return
 	}
-	var err error
-	result, err = logic.GetNodeByID(authRequest.ID)
-	if err != nil {
-		result, err = logic.GetDeletedNodeByID(authRequest.ID)
-		if err != nil {
-			errorResponse.Code = http.StatusBadRequest
-			errorResponse.Message = err.Error()
-			logger.Log(0, request.Header.Get("user"),
-				fmt.Sprintf("failed to get node info [%s]: %v", authRequest.ID, err))
-			logic.ReturnErrorResponse(response, request, errorResponse)
-			return
-		}
-	}
-	host, err := logic.GetHost(result.HostID.String())
+	host, err := logic.GetHost(authRequest.ID)
 	if err != nil {
 		errorResponse.Code = http.StatusBadRequest
 		errorResponse.Message = err.Error()
@@ -114,7 +100,7 @@ func authenticate(response http.ResponseWriter, request *http.Request) {
 		return
 	}
 
-	tokenString, err := logic.CreateJWT(authRequest.ID, authRequest.MacAddress, result.Network)
+	tokenString, err := logic.CreateJWT(authRequest.ID, authRequest.MacAddress, mux.Vars(request)["network"])
 	if tokenString == "" {
 		errorResponse.Code = http.StatusBadRequest
 		errorResponse.Message = "Could not create Token"

+ 1 - 1
logic/jwts.go

@@ -130,7 +130,7 @@ func VerifyUserToken(tokenString string) (username string, networks []string, is
 }
 
 // VerifyToken - [nodes] Only
-func VerifyToken(tokenString string) (nodeID string, mac string, network string, err error) {
+func VerifyToken(tokenString string) (hostID string, mac string, network string, err error) {
 	claims := &models.Claims{}
 
 	// this may be a stupid way of serving up a master key