Added frontend

This commit is contained in:
2026-04-03 11:51:36 +02:00
parent 12678f8241
commit 29ee01afba
30 changed files with 1 additions and 337 deletions
+40
View File
@@ -0,0 +1,40 @@
package security
import (
"crypto/rand"
"crypto/sha256"
"crypto/subtle"
"encoding/hex"
"fmt"
)
func generateToken() (rawToken string, err error) {
bytes := make([]byte, 32)
if _, err = rand.Read(bytes); err != nil {
return "", err
}
return "quay_" + hex.EncodeToString(bytes), nil
}
func hashToken(rawToken string) string {
sum := sha256.Sum256([]byte(rawToken))
return hex.EncodeToString(sum[:])
}
func CreateDeployToken() (rawToken, hashedToken string, err error) {
rawToken, err = generateToken()
if err != nil {
return "", "", fmt.Errorf("failed to generate token: %w", err)
}
hashedToken = hashToken(rawToken)
return rawToken, hashedToken, nil
}
func CompareDeployTokens(incomingRawToken, storedHashedToken string) bool {
incomingHash := hashToken(incomingRawToken)
return subtle.ConstantTimeCompare(
[]byte(incomingHash),
[]byte(storedHashedToken),
) == 1
}