fix(auth): preserve exact account IDs when decoding JWT claims

This commit is contained in:
2026-10-15 18:08:30 +08:00
parent f9193a3564
commit 60378fea9b
3 changed files with 104 additions and 1 deletions
+3 -1
View File
@@ -1,3 +1,5 @@
import { parseJsonWithSafeIntegers } from '@chongchong/shared'
export interface PlatformJwtClaims {
user_id?: string | number
username?: string
@@ -19,7 +21,7 @@ export function decodeJwtClaims(token: string): PlatformJwtClaims {
const payload = token.split('.')[1]
if (!payload) throw new Error('登录响应中的 accessToken 格式无效')
try {
return JSON.parse(decodeBase64Url(payload)) as PlatformJwtClaims
return parseJsonWithSafeIntegers(decodeBase64Url(payload)) as PlatformJwtClaims
} catch {
throw new Error('登录响应中的 accessToken 无法解析')
}