@hemia/auth-sdk 0.0.8 → 0.0.9

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.
@@ -266,12 +266,30 @@ let AuthService = class AuthService {
266
266
  if (!verify) {
267
267
  throw new SessionInvalidError();
268
268
  }
269
- const claims = this.jwtManager.decode(session.accessToken, true);
270
- if (!claims) {
269
+ const claimsAccess = this.jwtManager.decode(session.accessToken, true);
270
+ if (!claimsAccess) {
271
271
  throw new SessionInvalidError();
272
272
  }
273
+ const claimsId = this.jwtManager.decode(session.idToken, true);
273
274
  return {
274
- ...claims
275
+ aud: claimsAccess.aud,
276
+ iss: claimsAccess.iss || '',
277
+ exp: claimsAccess.exp || 0,
278
+ iat: claimsAccess.iat || 0,
279
+ sub: claimsAccess.sub || '',
280
+ user: {
281
+ id: claimsId?.sub || '',
282
+ name: claimsId?.name || '',
283
+ email: claimsId?.email || '',
284
+ given_name: claimsId?.given_name,
285
+ family_name: claimsId?.family_name,
286
+ picture: claimsId?.picture
287
+ },
288
+ permissions: claimsAccess.permissions,
289
+ context: {
290
+ ...claimsAccess['https://hemia.mx/context'],
291
+ ...claimsId?.['https://hemia.mx/context']
292
+ }
275
293
  };
276
294
  }
277
295
  catch (e) {
@@ -268,12 +268,30 @@ exports.AuthService = class AuthService {
268
268
  if (!verify) {
269
269
  throw new SessionInvalidError();
270
270
  }
271
- const claims = this.jwtManager.decode(session.accessToken, true);
272
- if (!claims) {
271
+ const claimsAccess = this.jwtManager.decode(session.accessToken, true);
272
+ if (!claimsAccess) {
273
273
  throw new SessionInvalidError();
274
274
  }
275
+ const claimsId = this.jwtManager.decode(session.idToken, true);
275
276
  return {
276
- ...claims
277
+ aud: claimsAccess.aud,
278
+ iss: claimsAccess.iss || '',
279
+ exp: claimsAccess.exp || 0,
280
+ iat: claimsAccess.iat || 0,
281
+ sub: claimsAccess.sub || '',
282
+ user: {
283
+ id: claimsId?.sub || '',
284
+ name: claimsId?.name || '',
285
+ email: claimsId?.email || '',
286
+ given_name: claimsId?.given_name,
287
+ family_name: claimsId?.family_name,
288
+ picture: claimsId?.picture
289
+ },
290
+ permissions: claimsAccess.permissions,
291
+ context: {
292
+ ...claimsAccess['https://hemia.mx/context'],
293
+ ...claimsId?.['https://hemia.mx/context']
294
+ }
277
295
  };
278
296
  }
279
297
  catch (e) {
@@ -1,6 +1,6 @@
1
1
  import { HMNetworkServices } from '@hemia/network-services';
2
2
  import { JwtManager } from '@hemia/jwt-manager';
3
- import { IAuthConfig, ICallbackResponse, ILoginParams, ISessionStorage, ISessionUser, IStoredState } from '../types';
3
+ import { IAuthConfig, ICallbackResponse, ILoginParams, ISessionStorage, ISessionUser, IStoredState, SessionAccess } from '../types';
4
4
  export declare class AuthService {
5
5
  private readonly config;
6
6
  private readonly storage;
@@ -33,7 +33,7 @@ export declare class AuthService {
33
33
  * @param sessionId Identificador de la sesión
34
34
  * @returns Claims del access token o error si el token no es válido
35
35
  */
36
- getSessionAccess(sessionId: string): Promise<any>;
36
+ getSessionAccess(sessionId: string): Promise<SessionAccess>;
37
37
  /**
38
38
  * Cierra la sesión del usuario tanto en el SSO como localmente.
39
39
  * @param sessionId Identificador de la sesión
@@ -9,3 +9,4 @@ export * from "./jwt-manager.interface";
9
9
  export * from "./standard-claims.interface";
10
10
  export * from "./session-data.interface";
11
11
  export * from "./session-storage.interface";
12
+ export * from "./session-access.interface";
@@ -0,0 +1,20 @@
1
+ export interface SessionAccess {
2
+ sub: string;
3
+ exp: number;
4
+ iat: number;
5
+ iss: string;
6
+ permissions?: string[];
7
+ context?: any;
8
+ user?: AccessUser;
9
+ [key: string]: any;
10
+ }
11
+ interface AccessUser {
12
+ id: string;
13
+ name?: string;
14
+ email?: string;
15
+ given_name?: string;
16
+ family_name?: string;
17
+ picture?: string;
18
+ [key: string]: any;
19
+ }
20
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hemia/auth-sdk",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "Hemia SDK for authentication",
5
5
  "main": "dist/hemia-auth-sdk.js",
6
6
  "module": "dist/hemia-auth-sdk.esm.js",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "devDependencies": {
17
17
  "@hemia/cache-manager": "^0.0.5",
18
- "@hemia/common": "^0.0.2",
18
+ "@hemia/common": "^0.0.5",
19
19
  "@hemia/jwt-manager": "^0.0.4",
20
20
  "@hemia/network-services": "^0.0.3",
21
21
  "@rollup/plugin-commonjs": "^26.0.1",
@@ -43,7 +43,7 @@
43
43
  ],
44
44
  "peerDependencies": {
45
45
  "@hemia/cache-manager": "^0.0.5",
46
- "@hemia/common": "^0.0.2",
46
+ "@hemia/common": "^0.0.5",
47
47
  "@hemia/jwt-manager": "^0.0.4",
48
48
  "@hemia/network-services": "^0.0.3",
49
49
  "inversify": "^7.11.0",