supaapps-auth 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -97,20 +97,15 @@ class AuthManager {
97
97
  return __awaiter(this, void 0, void 0, function* () {
98
98
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
99
99
  try {
100
- const accessToken = localStorage.getItem('access_token');
100
+ let accessToken = localStorage.getItem('access_token');
101
101
  if (!accessToken) {
102
- throw new Error('No access token found');
102
+ accessToken = yield this.refreshAccessToken();
103
103
  }
104
- // decode access token and check if it's expired
105
- const decodedToken = accessToken
106
- ? JSON.parse(atob(accessToken.split('.')[1]))
107
- : null;
108
- if (decodedToken) {
104
+ else {
105
+ const decodedToken = accessToken ? JSON.parse(atob(accessToken.split('.')[1])) : null;
109
106
  const currentTime = Date.now() / 1000;
110
- if (decodedToken.exp < currentTime) {
111
- // refreshing expired token
112
- const newAccessToken = yield this.refreshAccessToken();
113
- return resolve(newAccessToken);
107
+ if (decodedToken && decodedToken.exp < currentTime) {
108
+ accessToken = yield this.refreshAccessToken();
114
109
  }
115
110
  }
116
111
  resolve(accessToken);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supaapps-auth",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -91,30 +91,28 @@ export class AuthManager {
91
91
  }
92
92
  });
93
93
  }
94
+
94
95
  private async checkAccessToken(): Promise<string> {
95
96
  return new Promise(async (resolve, reject) => {
96
97
  try {
97
- const accessToken: string | null = localStorage.getItem('access_token');
98
+ let accessToken: string | null = localStorage.getItem('access_token');
99
+
98
100
  if (!accessToken) {
99
- throw new Error('No access token found');
100
- }
101
- // decode access token and check if it's expired
102
- const decodedToken = accessToken
103
- ? JSON.parse(atob(accessToken.split('.')[1]))
104
- : null;
105
- if (decodedToken) {
101
+ accessToken = await this.refreshAccessToken();
102
+ } else {
103
+ const decodedToken = accessToken ? JSON.parse(atob(accessToken.split('.')[1])) : null;
106
104
  const currentTime = Date.now() / 1000;
107
- if (decodedToken.exp < currentTime) {
108
- // refreshing expired token
109
- const newAccessToken = await this.refreshAccessToken();
110
- return resolve(newAccessToken);
105
+
106
+ if (decodedToken && decodedToken.exp < currentTime) {
107
+ accessToken = await this.refreshAccessToken();
111
108
  }
112
109
  }
110
+
113
111
  resolve(accessToken);
114
112
  } catch (error) {
115
113
  reject(error);
116
114
  }
117
- })
115
+ });
118
116
  }
119
117
 
120
118
  public async mustBeLoggedIn(): Promise<boolean> {