@taleswords/common 1.0.6 → 1.0.8

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.
@@ -0,0 +1,5 @@
1
+ export interface JWTPayload {
2
+ email: string;
3
+ userId: string;
4
+ }
5
+ //# sourceMappingURL=globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../src/constants/globals.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/constants/globals.ts"],"names":[],"mappings":""}
package/build/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export * from './middlewares/current-user.js';
9
9
  export * from './middlewares/error-handler.js';
10
10
  export * from './middlewares/require-auth.js';
11
11
  export * from './middlewares/validation-request.js';
12
+ export * from './services/authentication.service.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AAEnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AAEnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AAEnD,cAAc,sCAAsC,CAAA"}
package/build/index.js CHANGED
@@ -9,4 +9,5 @@ export * from './middlewares/current-user.js';
9
9
  export * from './middlewares/error-handler.js';
10
10
  export * from './middlewares/require-auth.js';
11
11
  export * from './middlewares/validation-request.js';
12
+ export * from './services/authentication.service.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AAEnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AAEnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AAEnD,cAAc,sCAAsC,CAAA"}
@@ -1,9 +1,3 @@
1
1
  import type { Request, Response, NextFunction } from 'express';
2
- declare global {
3
- interface Req extends Request {
4
- session?: any;
5
- currentUser: any;
6
- }
7
- }
8
- export declare const currentUser: (jwtKey: string) => (req: Req, res: Response, next: NextFunction) => void;
2
+ export declare const currentUser: (JWT_KEY: string) => (req: Request, res: Response, next: NextFunction) => void;
9
3
  //# sourceMappingURL=current-user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,GAAI,SAAQ,OAAO;QACzB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,WAAW,EAAE,GAAG,CAAA;KACnB;CACJ;AAED,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,MAElC,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,MAAM,YAAY,SAgBzB,CAAA"}
1
+ {"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE9D,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,MAEnC,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,SAgBzB,CAAA"}
@@ -1,11 +1,11 @@
1
1
  import jwt from 'jsonwebtoken';
2
- export const currentUser = (jwtKey) => {
2
+ export const currentUser = (JWT_KEY) => {
3
3
  return (req, res, next) => {
4
4
  if (!req.session?.jwt) {
5
5
  return next();
6
6
  }
7
7
  try {
8
- const payload = jwt.verify(req.session.jwt, jwtKey);
8
+ const payload = jwt.verify(req.session.jwt, JWT_KEY);
9
9
  req.currentUser = payload;
10
10
  }
11
11
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAA;AAU9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,OAAO,CACH,GAAQ,EACR,GAAa,EACb,IAAkB,EACpB,EAAE;QACA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,EAAE,CAAA;QACjB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CACtB,GAAG,CAAC,OAAO,CAAC,GAAG,EACf,MAAM,CACT,CAAA;YAED,GAAG,CAAC,WAAW,GAAG,OAAO,CAAA;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,CAAA;QACb,CAAC;IACL,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAA;AAG9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;IAC3C,OAAO,CACH,GAAY,EACZ,GAAa,EACb,IAAkB,EACpB,EAAE;QACA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,EAAE,CAAA;QACjB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CACtB,GAAG,CAAC,OAAO,CAAC,GAAG,EACf,OAAO,CACV,CAAA;YAED,GAAG,CAAC,WAAW,GAAG,OAAO,CAAA;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,CAAA;QACb,CAAC;IACL,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { Response, NextFunction } from 'express';
2
- export declare const requireAuth: (req: Req, res: Response, next: NextFunction) => Promise<void>;
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ export declare const requireAuth: (req: Request, res: Response, next: NextFunction) => Promise<void>;
3
3
  //# sourceMappingURL=require-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGrD,eAAO,MAAM,WAAW,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,kBAK5E,CAAA"}
1
+ {"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG9D,eAAO,MAAM,WAAW,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,kBAKhF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"require-auth.js","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC7E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,EAAE,CAAA;AACV,CAAC,CAAA"}
1
+ {"version":3,"file":"require-auth.js","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IACjF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,EAAE,CAAA;AACV,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { JWTPayload } from '../constants/globals.js';
2
+ export declare class AuthenticationService {
3
+ generateJWT(payload: JWTPayload, JWT_KEY: string): string;
4
+ pwdToHash(password: string): Promise<string>;
5
+ pwdCompare(storedPassword: string, suppliedPassword: string): Promise<Boolean>;
6
+ verifyJWT(jwtToken: string, JWT_KEY: string): JWTPayload;
7
+ }
8
+ //# sourceMappingURL=authentication.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.service.d.ts","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKzD,qBAAa,qBAAqB;IACvB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAI1C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpF,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;CAGlE"}
@@ -0,0 +1,25 @@
1
+ import jwt from 'jsonwebtoken';
2
+ import { scrypt, randomBytes } from 'crypto';
3
+ import { promisify } from 'util';
4
+ const scryptAsync = promisify(scrypt);
5
+ export class AuthenticationService {
6
+ generateJWT(payload, JWT_KEY) {
7
+ return jwt.sign(payload, JWT_KEY);
8
+ }
9
+ async pwdToHash(password) {
10
+ const salt = randomBytes(8).toString('hex');
11
+ const buf = (await scryptAsync(password, salt, 64));
12
+ return `${buf.toString('hex')}.${salt}`;
13
+ }
14
+ async pwdCompare(storedPassword, suppliedPassword) {
15
+ const [hashedPassword, salt] = storedPassword.split('.');
16
+ if (!salt)
17
+ return false;
18
+ const buf = (await scryptAsync(suppliedPassword, salt, 64));
19
+ return buf.toString('hex') === hashedPassword;
20
+ }
21
+ verifyJWT(jwtToken, JWT_KEY) {
22
+ return jwt.verify(jwtToken, JWT_KEY);
23
+ }
24
+ }
25
+ //# sourceMappingURL=authentication.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;AAErC,MAAM,OAAO,qBAAqB;IACvB,WAAW,CAAC,OAAmB,EAAE,OAAe;QACnD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,QAAgB;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAW,CAAA;QAE7D,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;IAC3C,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,gBAAwB;QACpE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEvB,MAAM,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAW,CAAA;QAErE,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,cAAc,CAAA;IACjD,CAAC;IAEM,SAAS,CAAC,QAAgB,EAAE,OAAe;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAe,CAAA;IACtD,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taleswords/common",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "author": "",