diff --git a/management/server/personal_access_token.go b/management/server/personal_access_token.go index 291312794..e4be53a2c 100644 --- a/management/server/personal_access_token.go +++ b/management/server/personal_access_token.go @@ -15,7 +15,7 @@ import ( type PersonalAccessToken struct { ID string Description string - HashedToken [32]byte + HashedToken string ExpirationDate time.Time // scope could be added in future CreatedBy string @@ -39,7 +39,7 @@ func CreateNewPAT(description string, expirationInDays int, createdBy string) (* }, plainToken } -func generateNewToken() ([32]byte, string) { +func generateNewToken() (string, string) { secret := randStringRunes(30) checksum := crc32.ChecksumIEEE([]byte(secret)) @@ -47,7 +47,7 @@ func generateNewToken() ([32]byte, string) { paddedChecksum := fmt.Sprintf("%06s", encodedChecksum) plainToken := "nbp_" + secret + paddedChecksum hashedToken := sha256.Sum256([]byte(plainToken)) - return hashedToken, plainToken + return string(hashedToken[:]), plainToken } var letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") diff --git a/management/server/personal_access_token_test.go b/management/server/personal_access_token_test.go index 59d5fc116..712de1f72 100644 --- a/management/server/personal_access_token_test.go +++ b/management/server/personal_access_token_test.go @@ -12,8 +12,8 @@ import ( func TestPAT_GenerateToken_Hashing(t *testing.T) { hashedToken, plainToken := generateNewToken() - - assert.Equal(t, hashedToken, sha256.Sum256([]byte(plainToken))) + expectedToken := sha256.Sum256([]byte(plainToken)) + assert.Equal(t, hashedToken, string(expectedToken[:])) } func TestPAT_GenerateToken_Prefix(t *testing.T) {