From 9883ceffe6f4d909fcba0eb3e44f377fcd992e90 Mon Sep 17 00:00:00 2001 From: ivamp Date: Sat, 24 Aug 2024 02:54:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20js-base64=20=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E6=97=A0=E6=B3=95=E6=AD=A3=E5=B8=B8=20decode=20?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/stores/user.ts | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 71641f6..64a7efe 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "big.js": "^6.2.1", "core-js": "^3.37.1", "eslint-plugin-prettier": "^5.2.1", + "js-base64": "^3.7.7", "pinia-plugin-persistedstate": "^3.2.1", "roboto-fontface": "*", "vue": "^3.4.31", diff --git a/src/stores/user.ts b/src/stores/user.ts index 42e72b8..fd55c90 100644 --- a/src/stores/user.ts +++ b/src/stores/user.ts @@ -1,6 +1,7 @@ import { defineStore } from "pinia"; import axios from "axios"; import config from "@/config/config"; +import { Base64 } from "js-base64"; let timer: any = null; @@ -27,7 +28,8 @@ export const useUserStore = defineStore("user", { expiredAt: number, ) { const idTokenParts = idToken.split("."); - const idTokenPayload = JSON.parse(atob(idTokenParts[1])); + + const idTokenPayload = JSON.parse(Base64.decode(idTokenParts[1])); expiredAt = Date.now() + expiredAt * 1000; this.expired_at = expiredAt;