Skip to content

Commit f047ee0

Browse files
authored
Use random bytes to generate access token (#21959)
1 parent 9607750 commit f047ee0

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

models/auth/token.go

+6-3
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@ package auth
66

77
import (
88
"crypto/subtle"
9+
"encoding/hex"
910
"fmt"
1011
"time"
1112

1213
"code.gitea.io/gitea/models/db"
13-
"code.gitea.io/gitea/modules/base"
1414
"code.gitea.io/gitea/modules/setting"
1515
"code.gitea.io/gitea/modules/timeutil"
1616
"code.gitea.io/gitea/modules/util"
1717

18-
gouuid "github.com/google/uuid"
1918
lru "github.com/hashicorp/golang-lru"
2019
)
2120

@@ -100,8 +99,12 @@ func NewAccessToken(t *AccessToken) error {
10099
if err != nil {
101100
return err
102101
}
102+
token, err := util.CryptoRandomBytes(20)
103+
if err != nil {
104+
return err
105+
}
103106
t.TokenSalt = salt
104-
t.Token = base.EncodeSha1(gouuid.New().String())
107+
t.Token = hex.EncodeToString(token)
105108
t.TokenHash = HashToken(t.Token, t.TokenSalt)
106109
t.TokenLastEight = t.Token[len(t.Token)-8:]
107110
_, err = db.GetEngine(db.DefaultContext).Insert(t)

0 commit comments

Comments
 (0)