|
|
@@ -6,16 +6,15 @@ package auth |
|
|
|
|
|
|
|
import ( |
|
|
|
"crypto/subtle" |
|
|
|
"encoding/hex" |
|
|
|
"fmt" |
|
|
|
"time" |
|
|
|
|
|
|
|
"code.gitea.io/gitea/models/db" |
|
|
|
"code.gitea.io/gitea/modules/base" |
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
"code.gitea.io/gitea/modules/timeutil" |
|
|
|
"code.gitea.io/gitea/modules/util" |
|
|
|
|
|
|
|
gouuid "github.com/google/uuid" |
|
|
|
lru "github.com/hashicorp/golang-lru" |
|
|
|
) |
|
|
|
|
|
|
@@ -100,8 +99,12 @@ func NewAccessToken(t *AccessToken) error { |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
token, err := util.CryptoRandomBytes(20) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
t.TokenSalt = salt |
|
|
|
t.Token = base.EncodeSha1(gouuid.New().String()) |
|
|
|
t.Token = hex.EncodeToString(token) |
|
|
|
t.TokenHash = HashToken(t.Token, t.TokenSalt) |
|
|
|
t.TokenLastEight = t.Token[len(t.Token)-8:] |
|
|
|
_, err = db.GetEngine(db.DefaultContext).Insert(t) |