From cc910dd9e91314aaf131b0c82bfee986e8b91ee1 Mon Sep 17 00:00:00 2001 From: DarkSky Date: Thu, 22 Dec 2022 18:40:14 +0800 Subject: [PATCH] fix: localstorage --- packages/data-services/src/request/token.ts | 25 ++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/data-services/src/request/token.ts b/packages/data-services/src/request/token.ts index 318982738e..34c94226ec 100644 --- a/packages/data-services/src/request/token.ts +++ b/packages/data-services/src/request/token.ts @@ -18,13 +18,9 @@ type LoginParams = { }; type LoginResponse = { - /** - * JWT, expires in a very short time - */ + // JWT, expires in a very short time token: string; - /** - * Refresh token - */ + // Refresh token refresh: string; }; @@ -49,6 +45,19 @@ function b64DecodeUnicode(str: string) { ); } +function getRefreshToken() { + try { + return localStorage.getItem(TOKEN_KEY) || ''; + } catch (_) { + return ''; + } +} +function setRefreshToken(token: string) { + try { + localStorage.setItem(TOKEN_KEY, token); + } catch (_) {} +} + class Token { private readonly _event: AuthorizationEvent; private _accessToken: string; @@ -59,7 +68,7 @@ class Token { constructor(refreshToken?: string) { this._accessToken = ''; - this._refreshToken = refreshToken || localStorage.getItem(TOKEN_KEY) || ''; + this._refreshToken = refreshToken || getRefreshToken(); this._event = new AuthorizationEvent(); this._user = Token.parse(this._accessToken); @@ -71,7 +80,7 @@ class Token { this._refreshToken = login.refresh; this._user = Token.parse(login.token); - window.localStorage.setItem(TOKEN_KEY, login.refresh); + setRefreshToken(login.refresh); } async initToken(token: string) {