dromanis.finora.functions.common 1.0.2 → 1.0.4

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.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  A set of common utilities used across different AWS Lambda functions in the Dromanis Finora ecosystem.
4
4
 
5
5
  ## Features
6
- - **userAuthenticator**: Easily add JWT authentication to your AWS Lambda functions.
6
+ - **userAuthenticator**: Easily add JWT authentication to your AWS Lambda functions with decoded token access.
7
7
  - **corsHandler**: Handle CORS headers and OPTIONS requests for API Gateway responses.
8
8
  - TypeScript-first, fully typed for safety and autocompletion.
9
9
  - Includes automated tests and Husky hooks for code quality.
@@ -29,10 +29,15 @@ export const handler = async (event: APIGatewayProxyEvent) => {
29
29
  if (result.statusCode !== 200) {
30
30
  return result;
31
31
  }
32
+
33
+ // Access the decoded token payload
34
+ const userData = result.decodedToken;
35
+ console.log('User:', userData.user, 'Role:', userData.role);
36
+
32
37
  // Proceed with your logic
33
38
  return {
34
39
  statusCode: 200,
35
- body: JSON.stringify({ message: 'Success!' })
40
+ body: JSON.stringify({ message: 'Success!', user: userData.user })
36
41
  };
37
42
  };
38
43
  ```
@@ -1,9 +1,15 @@
1
1
  import { APIGatewayProxyEvent } from 'aws-lambda';
2
+ import jwt from 'jsonwebtoken';
2
3
  export declare class userAuthenticator {
3
4
  constructor();
4
5
  authenticate(event: APIGatewayProxyEvent): {
5
6
  statusCode: number;
6
7
  body: string;
8
+ decodedToken?: never;
9
+ } | {
10
+ statusCode: number;
11
+ body: string;
12
+ decodedToken: string | jwt.JwtPayload;
7
13
  };
8
14
  }
9
15
  //# sourceMappingURL=userAuthenticator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"userAuthenticator.d.ts","sourceRoot":"","sources":["../src/userAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,qBAAa,iBAAiB;;IAK1B,YAAY,CAAC,KAAK,EAAE,oBAAoB;;;;CA6B3C"}
1
+ {"version":3,"file":"userAuthenticator.d.ts","sourceRoot":"","sources":["../src/userAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,GAAG,MAAM,cAAc,CAAC;AAE/B,qBAAa,iBAAiB;;IAK1B,YAAY,CAAC,KAAK,EAAE,oBAAoB;;;;;;;;;CA8B3C"}
@@ -26,10 +26,11 @@ class userAuthenticator {
26
26
  };
27
27
  }
28
28
  try {
29
- jsonwebtoken_1.default.verify(token, secret);
29
+ const decoded = jsonwebtoken_1.default.verify(token, secret);
30
30
  return {
31
31
  statusCode: 200,
32
- body: JSON.stringify({ message: 'Authenticated' })
32
+ body: JSON.stringify({ message: 'Authenticated' }),
33
+ decodedToken: decoded
33
34
  };
34
35
  }
35
36
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"userAuthenticator.js","sourceRoot":"","sources":["../src/userAuthenticator.ts"],"names":[],"mappings":";;;;;;AACA,gEAA+B;AAE/B,MAAa,iBAAiB;IAC1B;QACI,iCAAiC;IACrC,CAAC;IAED,YAAY,CAAC,KAA2B;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;aAC7E,CAAC;QACN,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;aAC/D,CAAC;QACN,CAAC;QACD,IAAI,CAAC;YACD,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;aACrD,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;aAC9D,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAlCD,8CAkCC"}
1
+ {"version":3,"file":"userAuthenticator.js","sourceRoot":"","sources":["../src/userAuthenticator.ts"],"names":[],"mappings":";;;;;;AACA,gEAA+B;AAE/B,MAAa,iBAAiB;IAC1B;QACI,iCAAiC;IACrC,CAAC;IAED,YAAY,CAAC,KAA2B;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;aAC7E,CAAC;QACN,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;aAC/D,CAAC;QACN,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;gBAClD,YAAY,EAAE,OAAO;aACxB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO;gBACH,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;aAC9D,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAnCD,8CAmCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dromanis.finora.functions.common",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",