fix(auth): encode snowflake user ids as strings in session and /user-info

Registered users get snowflake ids above JS MAX_SAFE_INTEGER.
/user-info emitted them as JSON numbers and login stored uint64 in
the session. Both now use decimal strings. Tests cover admin vs
non-admin cookie access to /user/self, /user-info, and /upload/my.
This commit is contained in:
ryan
2026-09-02 19:56:10 +08:00
parent c27da41b64
commit df6aa9ff4d
7 changed files with 339 additions and 25 deletions
+1 -1
View File
@@ -128,7 +128,7 @@ func SetLoginSession(ctx context.Context, c *gin.Context, user *contracts.UserDT
session.Clear()
rotateSessionID(session)
session.Set(UserIDKey, user.ID)
session.Set(UserIDKey, strconv.FormatUint(user.ID, 10))
session.Set(UserNameKey, user.Username)
if len(extras) > 0 {
for key, value := range extras[0] {