changing auth params to ID from MacAddress

This commit is contained in:
afeiszli 2022-05-23 10:57:42 -04:00 committed by 0xdcarns
parent c19dad4ae6
commit a2a9e2b788
2 changed files with 9 additions and 26 deletions

View file

@ -38,9 +38,6 @@ func nodeHandlers(r *mux.Router) {
func authenticate(response http.ResponseWriter, request *http.Request) { func authenticate(response http.ResponseWriter, request *http.Request) {
var params = mux.Vars(request)
networkname := params["network"]
var authRequest models.AuthParams var authRequest models.AuthParams
var result models.Node var result models.Node
var errorResponse = models.ErrorResponse{ var errorResponse = models.ErrorResponse{
@ -58,8 +55,8 @@ func authenticate(response http.ResponseWriter, request *http.Request) {
return return
} else { } else {
errorResponse.Code = http.StatusBadRequest errorResponse.Code = http.StatusBadRequest
if authRequest.MacAddress == "" { if authRequest.ID == "" {
errorResponse.Message = "W1R3: MacAddress can't be empty" errorResponse.Message = "W1R3: ID can't be empty"
returnErrorResponse(response, request, errorResponse) returnErrorResponse(response, request, errorResponse)
return return
} else if authRequest.Password == "" { } else if authRequest.Password == "" {
@ -67,22 +64,8 @@ func authenticate(response http.ResponseWriter, request *http.Request) {
returnErrorResponse(response, request, errorResponse) returnErrorResponse(response, request, errorResponse)
return return
} else { } else {
var err error
collection, err := database.FetchRecords(database.NODES_TABLE_NAME) result, err = logic.GetNodeByID(authRequest.ID)
if err != nil {
errorResponse.Code = http.StatusBadRequest
errorResponse.Message = err.Error()
returnErrorResponse(response, request, errorResponse)
return
}
for _, value := range collection {
if err := json.Unmarshal([]byte(value), &result); err != nil {
continue
}
if (result.ID == authRequest.ID || result.MacAddress == authRequest.MacAddress) && result.IsPending != "yes" && result.Network == networkname {
break
}
}
if err != nil { if err != nil {
errorResponse.Code = http.StatusBadRequest errorResponse.Code = http.StatusBadRequest
@ -109,10 +92,10 @@ func authenticate(response http.ResponseWriter, request *http.Request) {
var successResponse = models.SuccessResponse{ var successResponse = models.SuccessResponse{
Code: http.StatusOK, Code: http.StatusOK,
Message: "W1R3: Device " + authRequest.MacAddress + " Authorized", Message: "W1R3: Device " + authRequest.ID + " Authorized",
Response: models.SuccessfulLoginResponse{ Response: models.SuccessfulLoginResponse{
AuthToken: tokenString, AuthToken: tokenString,
MacAddress: authRequest.MacAddress, ID: authRequest.ID,
}, },
} }
successJSONResponse, jsonError := json.Marshal(successResponse) successJSONResponse, jsonError := json.Marshal(successResponse)

View file

@ -61,8 +61,8 @@ type Claims struct {
// SuccessfulLoginResponse is struct to send the request response // SuccessfulLoginResponse is struct to send the request response
type SuccessfulLoginResponse struct { type SuccessfulLoginResponse struct {
MacAddress string ID string
AuthToken string AuthToken string
} }
// ErrorResponse is struct for error // ErrorResponse is struct for error