diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2025-10-22 13:59:12 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-22 12:59:12 +0300 |
| commit | 69aeb7889ac136a8e4fbe7de1330298e30345479 (patch) | |
| tree | 6b2cd2d420105dc7ffad3c3649df359f634cae77 /frontend/src/utils/Jwt.ts | |
| parent | feat/rankings: update wr for 3 maps (#279) (diff) | |
| download | lphub-69aeb7889ac136a8e4fbe7de1330298e30345479.tar.gz lphub-69aeb7889ac136a8e4fbe7de1330298e30345479.tar.bz2 lphub-69aeb7889ac136a8e4fbe7de1330298e30345479.zip | |
feat/frontend: switch to vite, update node to v22 (#281)
Diffstat (limited to 'frontend/src/utils/Jwt.ts')
| -rw-r--r-- | frontend/src/utils/Jwt.ts | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/frontend/src/utils/Jwt.ts b/frontend/src/utils/Jwt.ts index ce351fb..a6d1866 100644 --- a/frontend/src/utils/Jwt.ts +++ b/frontend/src/utils/Jwt.ts | |||
| @@ -3,20 +3,20 @@ export function get_user_id_from_token(token: string | undefined): string | unde | |||
| 3 | if (!token) { | 3 | if (!token) { |
| 4 | return undefined; | 4 | return undefined; |
| 5 | } | 5 | } |
| 6 | const parts = token.split('.'); | 6 | const parts = token.split("."); |
| 7 | if (parts.length !== 3) { | 7 | if (parts.length !== 3) { |
| 8 | return undefined; | 8 | return undefined; |
| 9 | } | 9 | } |
| 10 | const base64Url = parts[1]; | 10 | const base64Url = parts[1]; |
| 11 | const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); | 11 | const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/"); |
| 12 | 12 | ||
| 13 | const jsonPayload = decodeURIComponent( | 13 | const jsonPayload = decodeURIComponent( |
| 14 | atob(base64) | 14 | atob(base64) |
| 15 | .split('') | 15 | .split("") |
| 16 | .map(function (c) { | 16 | .map(function (c) { |
| 17 | return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); | 17 | return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2); |
| 18 | }) | 18 | }) |
| 19 | .join('') | 19 | .join("") |
| 20 | ); | 20 | ); |
| 21 | return JSON.parse(jsonPayload).sub; | 21 | return JSON.parse(jsonPayload).sub; |
| 22 | }; | 22 | }; |
| @@ -25,20 +25,20 @@ export function get_user_mod_from_token(token: string | undefined): boolean | un | |||
| 25 | if (!token) { | 25 | if (!token) { |
| 26 | return undefined; | 26 | return undefined; |
| 27 | } | 27 | } |
| 28 | const parts = token.split('.'); | 28 | const parts = token.split("."); |
| 29 | if (parts.length !== 3) { | 29 | if (parts.length !== 3) { |
| 30 | return undefined; | 30 | return undefined; |
| 31 | } | 31 | } |
| 32 | const base64Url = parts[1]; | 32 | const base64Url = parts[1]; |
| 33 | const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); | 33 | const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/"); |
| 34 | 34 | ||
| 35 | const jsonPayload = decodeURIComponent( | 35 | const jsonPayload = decodeURIComponent( |
| 36 | atob(base64) | 36 | atob(base64) |
| 37 | .split('') | 37 | .split("") |
| 38 | .map(function (c) { | 38 | .map(function (c) { |
| 39 | return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); | 39 | return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2); |
| 40 | }) | 40 | }) |
| 41 | .join('') | 41 | .join("") |
| 42 | ); | 42 | ); |
| 43 | return JSON.parse(jsonPayload).mod; | 43 | return JSON.parse(jsonPayload).mod; |
| 44 | }; | 44 | }; |