mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Merge pull request #619 from majst01/simplify-split
Use strings.Cut to simplify logic
This commit is contained in:
		
						commit
						e918ea89a3
					
				
							
								
								
									
										16
									
								
								api_key.go
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								api_key.go
									
									
									
									
									
								
							| @ -13,7 +13,6 @@ import ( | ||||
| const ( | ||||
| 	apiPrefixLength = 7 | ||||
| 	apiKeyLength    = 32 | ||||
| 	apiKeyParts     = 2 | ||||
| 
 | ||||
| 	errAPIKeyFailedToParse = Error("Failed to parse ApiKey") | ||||
| ) | ||||
| @ -115,9 +114,9 @@ func (h *Headscale) ExpireAPIKey(key *APIKey) error { | ||||
| } | ||||
| 
 | ||||
| func (h *Headscale) ValidateAPIKey(keyStr string) (bool, error) { | ||||
| 	prefix, hash, err := splitAPIKey(keyStr) | ||||
| 	if err != nil { | ||||
| 		return false, fmt.Errorf("failed to validate api key: %w", err) | ||||
| 	prefix, hash, found := strings.Cut(keyStr, ".") | ||||
| 	if !found { | ||||
| 		return false, errAPIKeyFailedToParse | ||||
| 	} | ||||
| 
 | ||||
| 	key, err := h.GetAPIKey(prefix) | ||||
| @ -136,15 +135,6 @@ func (h *Headscale) ValidateAPIKey(keyStr string) (bool, error) { | ||||
| 	return true, nil | ||||
| } | ||||
| 
 | ||||
| func splitAPIKey(key string) (string, string, error) { | ||||
| 	parts := strings.Split(key, ".") | ||||
| 	if len(parts) != apiKeyParts { | ||||
| 		return "", "", errAPIKeyFailedToParse | ||||
| 	} | ||||
| 
 | ||||
| 	return parts[0], parts[1], nil | ||||
| } | ||||
| 
 | ||||
| func (key *APIKey) toProto() *v1.ApiKey { | ||||
| 	protoKey := v1.ApiKey{ | ||||
| 		Id:     key.ID, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user