@hemia/auth-sdk 0.0.14 → 0.0.15

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.
@@ -182,7 +182,7 @@ let AuthService = class AuthService {
182
182
  if (!response.data.data?.access_token) {
183
183
  throw new InternalServerError('No access token received from SSO', 'invalid_token_response');
184
184
  }
185
- const { access_token, refresh_token, id_token, expires_in, session_id } = response.data.data;
185
+ const { access_token, refresh_token, id_token, expires_in, session_id, session_expires_in } = response.data.data;
186
186
  const sessionId = randomBytes(16).toString('hex');
187
187
  const sessionData = {
188
188
  accessToken: access_token,
@@ -192,7 +192,8 @@ let AuthService = class AuthService {
192
192
  createdAt: new Date().toISOString(),
193
193
  sessionId: session_id
194
194
  };
195
- await this.storage.set(`x-session:${sessionId}`, sessionData, expires_in);
195
+ const expiresSession = Date.now() + (session_expires_in ? session_expires_in * 1000 : 0);
196
+ await this.storage.set(`x-session:${sessionId}`, sessionData, expiresSession);
196
197
  return {
197
198
  sessionId,
198
199
  expiresIn: expires_in,
@@ -363,7 +364,7 @@ let AuthService = class AuthService {
363
364
  if (!response.data.data) {
364
365
  throw new InternalServerError('No token data received from SSO during refresh', 'invalid_token_response');
365
366
  }
366
- const { access_token, refresh_token, id_token, expires_in, session_id } = response.data.data;
367
+ const { access_token, refresh_token, id_token, expires_in, session_id, session_expires_in } = response.data.data;
367
368
  const updatedSession = {
368
369
  accessToken: access_token,
369
370
  refreshToken: refresh_token || session.refreshToken,
@@ -372,7 +373,8 @@ let AuthService = class AuthService {
372
373
  sessionId: session_id || '',
373
374
  createdAt: Date.now().toString()
374
375
  };
375
- await this.storage.set(`x-session:${sessionId}`, updatedSession, expires_in);
376
+ const expiresSession = Date.now() + (session_expires_in ? session_expires_in * 1000 : 0);
377
+ await this.storage.set(`x-session:${sessionId}`, updatedSession, expiresSession);
376
378
  return updatedSession;
377
379
  }
378
380
  };
@@ -184,7 +184,7 @@ exports.AuthService = class AuthService {
184
184
  if (!response.data.data?.access_token) {
185
185
  throw new common.InternalServerError('No access token received from SSO', 'invalid_token_response');
186
186
  }
187
- const { access_token, refresh_token, id_token, expires_in, session_id } = response.data.data;
187
+ const { access_token, refresh_token, id_token, expires_in, session_id, session_expires_in } = response.data.data;
188
188
  const sessionId = crypto.randomBytes(16).toString('hex');
189
189
  const sessionData = {
190
190
  accessToken: access_token,
@@ -194,7 +194,8 @@ exports.AuthService = class AuthService {
194
194
  createdAt: new Date().toISOString(),
195
195
  sessionId: session_id
196
196
  };
197
- await this.storage.set(`x-session:${sessionId}`, sessionData, expires_in);
197
+ const expiresSession = Date.now() + (session_expires_in ? session_expires_in * 1000 : 0);
198
+ await this.storage.set(`x-session:${sessionId}`, sessionData, expiresSession);
198
199
  return {
199
200
  sessionId,
200
201
  expiresIn: expires_in,
@@ -365,7 +366,7 @@ exports.AuthService = class AuthService {
365
366
  if (!response.data.data) {
366
367
  throw new common.InternalServerError('No token data received from SSO during refresh', 'invalid_token_response');
367
368
  }
368
- const { access_token, refresh_token, id_token, expires_in, session_id } = response.data.data;
369
+ const { access_token, refresh_token, id_token, expires_in, session_id, session_expires_in } = response.data.data;
369
370
  const updatedSession = {
370
371
  accessToken: access_token,
371
372
  refreshToken: refresh_token || session.refreshToken,
@@ -374,7 +375,8 @@ exports.AuthService = class AuthService {
374
375
  sessionId: session_id || '',
375
376
  createdAt: Date.now().toString()
376
377
  };
377
- await this.storage.set(`x-session:${sessionId}`, updatedSession, expires_in);
378
+ const expiresSession = Date.now() + (session_expires_in ? session_expires_in * 1000 : 0);
379
+ await this.storage.set(`x-session:${sessionId}`, updatedSession, expiresSession);
378
380
  return updatedSession;
379
381
  }
380
382
  };
@@ -6,4 +6,5 @@ export interface ITokenResponse {
6
6
  id_token?: string;
7
7
  scope?: string;
8
8
  session_id?: string;
9
+ session_expires_in?: number;
9
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hemia/auth-sdk",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "description": "Hemia SDK for authentication",
5
5
  "main": "dist/hemia-auth-sdk.js",
6
6
  "module": "dist/hemia-auth-sdk.esm.js",