dauth-md-node 0.2.17 → 1.0.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.
package/README.md CHANGED
@@ -14,7 +14,7 @@ yarn add dauth-md-node
14
14
 
15
15
  ```typescript
16
16
  import express from 'express';
17
- import { dauth } from 'dauth-md-node';
17
+ import { dauth, IRequestDauth } from 'dauth-md-node';
18
18
 
19
19
  const app = express();
20
20
 
@@ -47,7 +47,7 @@ Factory function that returns an Express middleware.
47
47
 
48
48
  1. Extracts the `Authorization` header from the request
49
49
  2. Verifies the JWT locally using the provided `tsk` (Tenant Secret Key)
50
- 3. Fetches the full user object from the DAuth backend (`GET /t-get-user/:domainName`)
50
+ 3. Fetches the full user object from the DAuth backend (`GET /tenant/:domainName/user`)
51
51
  4. Attaches the user to `req.user`
52
52
  5. Calls `next()` on success
53
53
 
@@ -67,26 +67,26 @@ Factory function that returns an Express middleware.
67
67
  When authentication succeeds, `req.user` contains:
68
68
 
69
69
  ```typescript
70
- interface ITenantUser {
70
+ interface IDauthUser {
71
71
  _id: string;
72
- dauthLicense?: string;
73
- sid: string;
74
72
  name: string;
75
73
  lastname: string;
76
74
  nickname: string;
77
75
  email: string;
78
- is_verified: boolean;
76
+ isVerified: boolean;
79
77
  language: string;
80
78
  avatar: { id: string; url: string };
81
79
  role: string;
82
- tel_prefix: string;
83
- tel_suffix: string;
80
+ telPrefix: string;
81
+ telSuffix: string;
84
82
  createdAt: Date;
85
83
  updatedAt: Date;
86
- last_login: Date;
84
+ lastLogin: Date;
87
85
  }
88
86
  ```
89
87
 
88
+ Both `IDauthUser` and `IRequestDauth` are exported from the package for type-safe usage in consumer code.
89
+
90
90
  ## Real-World Integration Example
91
91
 
92
92
  This is the pattern used in `easymediacloud-backend-node`, which delegates all user authentication to dauth.
@@ -95,7 +95,7 @@ This is the pattern used in `easymediacloud-backend-node`, which delegates all u
95
95
 
96
96
  ```typescript
97
97
  // src/middlewares/auth.middleware.ts
98
- import { dauth } from 'dauth-md-node';
98
+ import { dauth, IRequestDauth } from 'dauth-md-node';
99
99
  import config from '../config/config';
100
100
 
101
101
  export const dauth_md = dauth({
@@ -118,15 +118,15 @@ After `dauth_md` populates `req.user`, add your own guards:
118
118
  // src/middlewares/auth.middleware.ts (continued)
119
119
  import { Response, NextFunction } from 'express';
120
120
 
121
- export const is_verified = async (req: IRequestUser, res: Response, next: NextFunction) => {
122
- if (req.user.is_verified === false) {
121
+ export const is_verified = async (req: IRequestDauth, res: Response, next: NextFunction) => {
122
+ if (req.user.isVerified === false) {
123
123
  return res.status(401).send({ status: 'not-verified', message: 'Email not verified' });
124
124
  }
125
125
  next();
126
126
  };
127
127
 
128
- export const ensure_admin = async (req: IRequestUser, res: Response, next: NextFunction) => {
129
- if (req.user.is_verified === false) {
128
+ export const ensure_admin = async (req: IRequestDauth, res: Response, next: NextFunction) => {
129
+ if (req.user.isVerified === false) {
130
130
  return res.status(401).send({ status: 'not-verified', message: 'Email not verified' });
131
131
  }
132
132
  if (req.user.role !== 'admin') {
@@ -159,7 +159,7 @@ export default licenseApi;
159
159
 
160
160
  ```typescript
161
161
  // src/core/licenses/controllers/licenses.controller.ts
162
- export const getMyLicenses = async (req: IRequestUser, res: Response) => {
162
+ export const getMyLicenses = async (req: IRequestDauth, res: Response) => {
163
163
  const userId = req.user._id;
164
164
  const licenses = await License.find({ user: userId });
165
165
  res.status(200).json({ status: 'success', data: licenses });
@@ -364,7 +364,7 @@ function _getUser() {
364
364
  }
365
365
  };
366
366
  _context.next = 3;
367
- return fetch(getServerBasePath() + "/t-get-user/" + domainName, params);
367
+ return fetch(getServerBasePath() + "/tenant/" + domainName + "/user", params);
368
368
  case 3:
369
369
  response = _context.sent;
370
370
  _context.next = 6;
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-md-node.cjs.development.js","sources":["../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = process.env.NODE_ENV === 'development';\n const serverPort = 4012;\n const serverLocalUrl = `http://localhost:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n","import { getServerBasePath } from './utils/config';\nconst fetch = require('node-fetch');\n\nexport async function getUser(token: string, domainName: string) {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-get-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n}\n","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\ninterface ITenantUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n __v: string | any;\n}\n\ninterface IRequestUser extends Request {\n user: ITenantUser;\n files: {\n image: { path: string };\n avatar: { path: string };\n };\n headers: {\n authorization: string;\n };\n}\n\ninterface TCustomResponse extends ExpressResponse {\n status(code: number): any;\n send(body?: any): any;\n}\n\nexport const dauth = ({\n domainName,\n tsk,\n}: {\n domainName: string;\n tsk: string;\n}) => {\n return (\n req: IRequestUser,\n res: TCustomResponse,\n next: NextFunction\n ): Handler | void => {\n if (!req.headers.authorization) {\n return res\n .status(403)\n .send({ status: 'token-not-found', message: 'Token not found' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, tsk as string);\n return getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'user-not-found',\n message: getUserFetch.data.message ?? 'User does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res.status(500).send({\n status: 'error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n return next();\n } else {\n return res.status(501).send({\n status: 'request-error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n return res.status(500).send({\n status: 'server-error',\n message: error.message ?? 'Dauth server error',\n });\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(401).send({\n status: 'token-expired',\n message: error?.message ?? 'Token expired',\n });\n }\n if (error && error?.message === 'invalid signature') {\n return res.status(401).send({\n status: 'tsk-not-invalid',\n message: 'The TSK variable in the backend middleware is not valid',\n });\n }\n return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["apiVersion","getServerBasePath","_ref","serverPort","serverLocalUrl","serverBasePath","fetch","require","getUser","_x","_x2","_getUser","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","domainName","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","sent","json","abrupt","stop","dauth","tsk","req","res","authorization","status","send","message","replace","jwt","verify","then","getUserFetch","_getUserFetch$data$me","_getUserFetch$data$me2","user","_getUserFetch$data$me3","error","_error$message","_error$message3","_error$message2"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-md-node.cjs.development.js","sources":["../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = process.env.NODE_ENV === 'development';\n const serverPort = 4012;\n const serverLocalUrl = `http://localhost:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n","import { getServerBasePath } from './utils/config';\nconst fetch = require('node-fetch');\n\nexport async function getUser(token: string, domainName: string) {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n}\n","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\nexport interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IRequestDauth extends Request {\n user: IDauthUser;\n files: {\n image: { path: string };\n avatar: { path: string };\n };\n headers: {\n authorization: string;\n };\n}\n\ninterface TCustomResponse extends ExpressResponse {\n status(code: number): any;\n send(body?: any): any;\n}\n\nexport const dauth = ({\n domainName,\n tsk,\n}: {\n domainName: string;\n tsk: string;\n}) => {\n return (\n req: IRequestDauth,\n res: TCustomResponse,\n next: NextFunction\n ): Handler | void => {\n if (!req.headers.authorization) {\n return res\n .status(403)\n .send({ status: 'token-not-found', message: 'Token not found' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, tsk as string);\n return getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'user-not-found',\n message: getUserFetch.data.message ?? 'User does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res.status(500).send({\n status: 'error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n return next();\n } else {\n return res.status(501).send({\n status: 'request-error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n return res.status(500).send({\n status: 'server-error',\n message: error.message ?? 'Dauth server error',\n });\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(401).send({\n status: 'token-expired',\n message: error?.message ?? 'Token expired',\n });\n }\n if (error && error?.message === 'invalid signature') {\n return res.status(401).send({\n status: 'tsk-not-invalid',\n message: 'The TSK variable in the backend middleware is not valid',\n });\n }\n return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["apiVersion","getServerBasePath","_ref","serverPort","serverLocalUrl","serverBasePath","fetch","require","getUser","_x","_x2","_getUser","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","domainName","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","sent","json","abrupt","stop","dauth","tsk","req","res","authorization","status","send","message","replace","jwt","verify","then","getUserFetch","_getUserFetch$data$me","_getUserFetch$data$me2","user","_getUserFetch$data$me3","error","_error$message","_error$message3","_error$message2"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=(t=require("jsonwebtoken"))&&"object"==typeof t&&"default"in t?t.default:t;function r(){r=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=Object.create((e&&e.prototype instanceof g?e:g).prototype),i=new P(n||[]);return a(o,"_invoke",{value:_(t,r,i)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var x={};l(x,u,(function(){return this}));var b=Object.getPrototypeOf,L=b&&b(b(G([])));L&&L!==n&&o.call(L,u)&&(x=L);var E=w.prototype=g.prototype=Object.create(x);function j(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(n,a,i,u){var s=f(t[n],t,a);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&o.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){c.value=t,i(c)}),(function(t){return r("throw",t,i,u)}))}u(s.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new e((function(e,n){r(t,o,e,n)}))}return n=n?n.then(a,a):a()}})}function _(e,r,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var s=O(u,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=f(e,r,n);if("normal"===c.type){if(o=n.done?v:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=v,n.method="throw",n.arg=c.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function N(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function G(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n<e.length;)if(o.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=w,a(E,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:m,configurable:!0}),m.displayName=l(w,c,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},j(k.prototype),l(k.prototype,s,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new k(h(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},j(E),l(E,c,"Generator"),l(E,u,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=G,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(N),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return u.type="throw",u.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),c=o.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),N(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;N(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:G(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function n(t,e,r,n,o,a,i){try{var u=t[a](i),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,a){var i=t.apply(e,r);function u(t){n(i,o,a,u,s,"next",t)}function s(t){n(i,o,a,u,s,"throw",t)}u(void 0)}))}}function a(t){return"https://"+t.domainName+".dauth.ovh/api/v1"}var i=require("node-fetch");function u(){return(u=o(r().mark((function t(e,n){var o,u;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",headers:{Authorization:e,"Content-Type":"application/json"}},t.next=3,i(a({domainName:n})+"/t-get-user/"+n,o);case 3:return u=t.sent,t.next=6,u.json();case 6:return t.abrupt("return",{response:u,data:t.sent});case 8:case"end":return t.stop()}}),t)})))).apply(this,arguments)}exports.dauth=function(t){var r=t.domainName,n=t.tsk;return function(t,o,a){if(!t.headers.authorization)return o.status(403).send({status:"token-not-found",message:"Token not found"});var i=t.headers.authorization.replace(/['"]+/g,"");try{return e.verify(i,n),function(t,e){return u.apply(this,arguments)}(i,r).then((function(e){var r,n,i;return 404===e.response.status?o.status(404).send({status:"user-not-found",message:null!=(r=e.data.message)?r:"User does not exist"}):500===e.response.status?o.status(500).send({status:"error",message:null!=(n=e.data.message)?n:"Dauth server error"}):200===e.response.status?(t.user=e.data.user,a()):o.status(501).send({status:"request-error",message:null!=(i=e.data.message)?i:"Dauth server error"})})).catch((function(t){var e;return o.status(500).send({status:"server-error",message:null!=(e=t.message)?e:"Dauth server error"})}))}catch(t){var s,c;return t&&"jwt expired"===(null==t?void 0:t.message)?o.status(401).send({status:"token-expired",message:null!=(c=null==t?void 0:t.message)?c:"Token expired"}):t&&"invalid signature"===(null==t?void 0:t.message)?o.status(401).send({status:"tsk-not-invalid",message:"The TSK variable in the backend middleware is not valid"}):o.status(401).send({status:"token-invalid",message:null!=(s=null==t?void 0:t.message)?s:"Token invalid"})}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=(t=require("jsonwebtoken"))&&"object"==typeof t&&"default"in t?t.default:t;function r(){r=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=Object.create((e&&e.prototype instanceof g?e:g).prototype),i=new P(n||[]);return a(o,"_invoke",{value:_(t,r,i)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var x={};l(x,u,(function(){return this}));var b=Object.getPrototypeOf,L=b&&b(b(G([])));L&&L!==n&&o.call(L,u)&&(x=L);var E=w.prototype=g.prototype=Object.create(x);function j(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(n,a,i,u){var s=f(t[n],t,a);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&o.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){c.value=t,i(c)}),(function(t){return r("throw",t,i,u)}))}u(s.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new e((function(e,n){r(t,o,e,n)}))}return n=n?n.then(a,a):a()}})}function _(e,r,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var s=O(u,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=f(e,r,n);if("normal"===c.type){if(o=n.done?v:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=v,n.method="throw",n.arg=c.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function N(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function G(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n<e.length;)if(o.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=w,a(E,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:m,configurable:!0}),m.displayName=l(w,c,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},j(k.prototype),l(k.prototype,s,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new k(h(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},j(E),l(E,c,"Generator"),l(E,u,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=G,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(N),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return u.type="throw",u.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),c=o.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),N(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;N(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:G(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function n(t,e,r,n,o,a,i){try{var u=t[a](i),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,a){var i=t.apply(e,r);function u(t){n(i,o,a,u,s,"next",t)}function s(t){n(i,o,a,u,s,"throw",t)}u(void 0)}))}}function a(t){return"https://"+t.domainName+".dauth.ovh/api/v1"}var i=require("node-fetch");function u(){return(u=o(r().mark((function t(e,n){var o,u;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",headers:{Authorization:e,"Content-Type":"application/json"}},t.next=3,i(a({domainName:n})+"/tenant/"+n+"/user",o);case 3:return u=t.sent,t.next=6,u.json();case 6:return t.abrupt("return",{response:u,data:t.sent});case 8:case"end":return t.stop()}}),t)})))).apply(this,arguments)}exports.dauth=function(t){var r=t.domainName,n=t.tsk;return function(t,o,a){if(!t.headers.authorization)return o.status(403).send({status:"token-not-found",message:"Token not found"});var i=t.headers.authorization.replace(/['"]+/g,"");try{return e.verify(i,n),function(t,e){return u.apply(this,arguments)}(i,r).then((function(e){var r,n,i;return 404===e.response.status?o.status(404).send({status:"user-not-found",message:null!=(r=e.data.message)?r:"User does not exist"}):500===e.response.status?o.status(500).send({status:"error",message:null!=(n=e.data.message)?n:"Dauth server error"}):200===e.response.status?(t.user=e.data.user,a()):o.status(501).send({status:"request-error",message:null!=(i=e.data.message)?i:"Dauth server error"})})).catch((function(t){var e;return o.status(500).send({status:"server-error",message:null!=(e=t.message)?e:"Dauth server error"})}))}catch(t){var s,c;return t&&"jwt expired"===(null==t?void 0:t.message)?o.status(401).send({status:"token-expired",message:null!=(c=null==t?void 0:t.message)?c:"Token expired"}):t&&"invalid signature"===(null==t?void 0:t.message)?o.status(401).send({status:"tsk-not-invalid",message:"The TSK variable in the backend middleware is not valid"}):o.status(401).send({status:"token-invalid",message:null!=(s=null==t?void 0:t.message)?s:"Token invalid"})}}};
2
2
  //# sourceMappingURL=dauth-md-node.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-md-node.cjs.production.min.js","sources":["../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = process.env.NODE_ENV === 'development';\n const serverPort = 4012;\n const serverLocalUrl = `http://localhost:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n","import { getServerBasePath } from './utils/config';\nconst fetch = require('node-fetch');\n\nexport async function getUser(token: string, domainName: string) {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-get-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n}\n","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\ninterface ITenantUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n __v: string | any;\n}\n\ninterface IRequestUser extends Request {\n user: ITenantUser;\n files: {\n image: { path: string };\n avatar: { path: string };\n };\n headers: {\n authorization: string;\n };\n}\n\ninterface TCustomResponse extends ExpressResponse {\n status(code: number): any;\n send(body?: any): any;\n}\n\nexport const dauth = ({\n domainName,\n tsk,\n}: {\n domainName: string;\n tsk: string;\n}) => {\n return (\n req: IRequestUser,\n res: TCustomResponse,\n next: NextFunction\n ): Handler | void => {\n if (!req.headers.authorization) {\n return res\n .status(403)\n .send({ status: 'token-not-found', message: 'Token not found' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, tsk as string);\n return getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'user-not-found',\n message: getUserFetch.data.message ?? 'User does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res.status(500).send({\n status: 'error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n return next();\n } else {\n return res.status(501).send({\n status: 'request-error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n return res.status(500).send({\n status: 'server-error',\n message: error.message ?? 'Dauth server error',\n });\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(401).send({\n status: 'token-expired',\n message: error?.message ?? 'Token expired',\n });\n }\n if (error && error?.message === 'invalid signature') {\n return res.status(401).send({\n status: 'tsk-not-invalid',\n message: 'The TSK variable in the backend middleware is not valid',\n });\n }\n return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["getServerBasePath","_ref","domainName","fetch","require","_getUser","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","sent","json","abrupt","data","stop","apply","arguments","tsk","req","res","authorization","status","send","message","replace","jwt","verify","_x","_x2","getUser","then","getUserFetch","_getUserFetch$data$me","_getUserFetch$data$me2","_getUserFetch$data$me3","user","error","_error$message","_error$message3","_error$message2"],"mappings":"w0NAGgBA,EAAiBC,GAM/B,iBAN4CA,EAAVC,+BCFpC,IAAMC,EAAQC,QAAQ,cAgBrB,SAAAC,IAAA,OAAAA,EAAAC,EAAAC,IAAAC,MAdM,SAAAC,EAAuBC,EAAeR,GAAkB,IAAAS,EAAAC,EAAA,OAAAL,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAO5D,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,cAAeT,EACfU,eAAgB,qBAEnBN,EAAAE,OACsBb,EAClBH,EAAkB,CAAEE,WAAAA,mBAA4BA,EACnDS,GACD,OAHa,OAARC,EAAQE,EAAAO,KAAAP,EAAAE,OAIKJ,EAASU,OAAM,OAAxB,OAAAR,EAAAS,gBACH,CAAEX,SAAAA,EAAUY,KADTV,EAAAO,OACe,OAAA,UAAA,OAAAP,EAAAW,UAAAhB,QAC1BiB,WAAAC,yBC+BoB,SAAH1B,OAChBC,EAAUD,EAAVC,WACA0B,EAAG3B,EAAH2B,IAKA,OAAO,SACLC,EACAC,EACAd,GAEA,IAAKa,EAAIX,QAAQa,cACf,OAAOD,EACJE,OAAO,KACPC,KAAK,CAAED,OAAQ,kBAAmBE,QAAS,oBAEhD,IAAMxB,EAAQmB,EAAIX,QAAQa,cAAcI,QAAQ,SAAU,IAC1D,IAEE,OADAC,EAAIC,OAAO3B,EAAOkB,YDhEKU,EAAAC,GAAA,OAAAlC,EAAAqB,WAAAC,WCiEhBa,CAAQ9B,EAAOR,GACnBuC,MAAK,SAACC,GACqC,IAAAC,EAKOC,EAQ1CC,EAbP,OAAqC,MAAjCH,EAAa9B,SAASoB,OACjBF,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,iBACRE,eAAOS,EAAED,EAAalB,KAAKU,SAAOS,EAAI,wBAEE,MAAjCD,EAAa9B,SAASoB,OACxBF,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,QACRE,eAAOU,EAAEF,EAAalB,KAAKU,SAAOU,EAAI,uBAEE,MAAjCF,EAAa9B,SAASoB,QAC/BH,EAAIiB,KAAOJ,EAAalB,KAAKsB,KACtB9B,KAEAc,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOW,EAAEH,EAAalB,KAAKU,SAAOW,EAAI,iCAIrC,SAACE,SACN,OAAOjB,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,eACRE,eAAOc,EAAED,EAAMb,SAAOc,EAAI,0BAGhC,MAAOD,GAAO,IAAAE,EACiCC,EAA/C,OAAIH,GAA4B,uBAAnBA,SAAAA,EAAOb,SACXJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOgB,QAAEH,SAAAA,EAAOb,SAAOgB,EAAI,kBAG3BH,GAA4B,6BAAnBA,SAAAA,EAAOb,SACXJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,kBACRE,QAAS,4DAGNJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOe,QAAEF,SAAAA,EAAOb,SAAOe,EAAI"}
1
+ {"version":3,"file":"dauth-md-node.cjs.production.min.js","sources":["../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = process.env.NODE_ENV === 'development';\n const serverPort = 4012;\n const serverLocalUrl = `http://localhost:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n","import { getServerBasePath } from './utils/config';\nconst fetch = require('node-fetch');\n\nexport async function getUser(token: string, domainName: string) {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n}\n","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\nexport interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IRequestDauth extends Request {\n user: IDauthUser;\n files: {\n image: { path: string };\n avatar: { path: string };\n };\n headers: {\n authorization: string;\n };\n}\n\ninterface TCustomResponse extends ExpressResponse {\n status(code: number): any;\n send(body?: any): any;\n}\n\nexport const dauth = ({\n domainName,\n tsk,\n}: {\n domainName: string;\n tsk: string;\n}) => {\n return (\n req: IRequestDauth,\n res: TCustomResponse,\n next: NextFunction\n ): Handler | void => {\n if (!req.headers.authorization) {\n return res\n .status(403)\n .send({ status: 'token-not-found', message: 'Token not found' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, tsk as string);\n return getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'user-not-found',\n message: getUserFetch.data.message ?? 'User does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res.status(500).send({\n status: 'error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n return next();\n } else {\n return res.status(501).send({\n status: 'request-error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n return res.status(500).send({\n status: 'server-error',\n message: error.message ?? 'Dauth server error',\n });\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(401).send({\n status: 'token-expired',\n message: error?.message ?? 'Token expired',\n });\n }\n if (error && error?.message === 'invalid signature') {\n return res.status(401).send({\n status: 'tsk-not-invalid',\n message: 'The TSK variable in the backend middleware is not valid',\n });\n }\n return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["getServerBasePath","_ref","domainName","fetch","require","_getUser","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","sent","json","abrupt","data","stop","apply","arguments","tsk","req","res","authorization","status","send","message","replace","jwt","verify","_x","_x2","getUser","then","getUserFetch","_getUserFetch$data$me","_getUserFetch$data$me2","_getUserFetch$data$me3","user","error","_error$message","_error$message3","_error$message2"],"mappings":"w0NAGgBA,EAAiBC,GAM/B,iBAN4CA,EAAVC,+BCFpC,IAAMC,EAAQC,QAAQ,cAgBrB,SAAAC,IAAA,OAAAA,EAAAC,EAAAC,IAAAC,MAdM,SAAAC,EAAuBC,EAAeR,GAAkB,IAAAS,EAAAC,EAAA,OAAAL,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAO5D,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,cAAeT,EACfU,eAAgB,qBAEnBN,EAAAE,OACsBb,EAClBH,EAAkB,CAAEE,WAAAA,eAAwBA,UAC/CS,GACD,OAHa,OAARC,EAAQE,EAAAO,KAAAP,EAAAE,OAIKJ,EAASU,OAAM,OAAxB,OAAAR,EAAAS,gBACH,CAAEX,SAAAA,EAAUY,KADTV,EAAAO,OACe,OAAA,UAAA,OAAAP,EAAAW,UAAAhB,QAC1BiB,WAAAC,yBC4BoB,SAAH1B,OAChBC,EAAUD,EAAVC,WACA0B,EAAG3B,EAAH2B,IAKA,OAAO,SACLC,EACAC,EACAd,GAEA,IAAKa,EAAIX,QAAQa,cACf,OAAOD,EACJE,OAAO,KACPC,KAAK,CAAED,OAAQ,kBAAmBE,QAAS,oBAEhD,IAAMxB,EAAQmB,EAAIX,QAAQa,cAAcI,QAAQ,SAAU,IAC1D,IAEE,OADAC,EAAIC,OAAO3B,EAAOkB,YD7DKU,EAAAC,GAAA,OAAAlC,EAAAqB,WAAAC,WC8DhBa,CAAQ9B,EAAOR,GACnBuC,MAAK,SAACC,GACqC,IAAAC,EAKOC,EAQ1CC,EAbP,OAAqC,MAAjCH,EAAa9B,SAASoB,OACjBF,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,iBACRE,eAAOS,EAAED,EAAalB,KAAKU,SAAOS,EAAI,wBAEE,MAAjCD,EAAa9B,SAASoB,OACxBF,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,QACRE,eAAOU,EAAEF,EAAalB,KAAKU,SAAOU,EAAI,uBAEE,MAAjCF,EAAa9B,SAASoB,QAC/BH,EAAIiB,KAAOJ,EAAalB,KAAKsB,KACtB9B,KAEAc,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOW,EAAEH,EAAalB,KAAKU,SAAOW,EAAI,iCAIrC,SAACE,SACN,OAAOjB,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,eACRE,eAAOc,EAAED,EAAMb,SAAOc,EAAI,0BAGhC,MAAOD,GAAO,IAAAE,EACiCC,EAA/C,OAAIH,GAA4B,uBAAnBA,SAAAA,EAAOb,SACXJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOgB,QAAEH,SAAAA,EAAOb,SAAOgB,EAAI,kBAG3BH,GAA4B,6BAAnBA,SAAAA,EAAOb,SACXJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,kBACRE,QAAS,4DAGNJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOe,QAAEF,SAAAA,EAAOb,SAAOe,EAAI"}
@@ -364,7 +364,7 @@ function _getUser() {
364
364
  _context.next = 3;
365
365
  return fetch(getServerBasePath({
366
366
  domainName: domainName
367
- }) + "/t-get-user/" + domainName, params);
367
+ }) + "/tenant/" + domainName + "/user", params);
368
368
  case 3:
369
369
  response = _context.sent;
370
370
  _context.next = 6;
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-md-node.esm.js","sources":["../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = process.env.NODE_ENV === 'development';\n const serverPort = 4012;\n const serverLocalUrl = `http://localhost:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n","import { getServerBasePath } from './utils/config';\nconst fetch = require('node-fetch');\n\nexport async function getUser(token: string, domainName: string) {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-get-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n}\n","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\ninterface ITenantUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n __v: string | any;\n}\n\ninterface IRequestUser extends Request {\n user: ITenantUser;\n files: {\n image: { path: string };\n avatar: { path: string };\n };\n headers: {\n authorization: string;\n };\n}\n\ninterface TCustomResponse extends ExpressResponse {\n status(code: number): any;\n send(body?: any): any;\n}\n\nexport const dauth = ({\n domainName,\n tsk,\n}: {\n domainName: string;\n tsk: string;\n}) => {\n return (\n req: IRequestUser,\n res: TCustomResponse,\n next: NextFunction\n ): Handler | void => {\n if (!req.headers.authorization) {\n return res\n .status(403)\n .send({ status: 'token-not-found', message: 'Token not found' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, tsk as string);\n return getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'user-not-found',\n message: getUserFetch.data.message ?? 'User does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res.status(500).send({\n status: 'error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n return next();\n } else {\n return res.status(501).send({\n status: 'request-error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n return res.status(500).send({\n status: 'server-error',\n message: error.message ?? 'Dauth server error',\n });\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(401).send({\n status: 'token-expired',\n message: error?.message ?? 'Token expired',\n });\n }\n if (error && error?.message === 'invalid signature') {\n return res.status(401).send({\n status: 'tsk-not-invalid',\n message: 'The TSK variable in the backend middleware is not valid',\n });\n }\n return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["apiVersion","serverDomain","getServerBasePath","_ref","domainName","isLocalhost","process","env","NODE_ENV","serverPort","serverLocalUrl","serverProdUrl","serverBasePath","fetch","require","getUser","_x","_x2","_getUser","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","sent","json","abrupt","stop","dauth","tsk","req","res","authorization","status","send","message","replace","jwt","verify","then","getUserFetch","_getUserFetch$data$me","_getUserFetch$data$me2","user","_getUserFetch$data$me3","error","_error$message","_error$message3","_error$message2"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-md-node.esm.js","sources":["../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = process.env.NODE_ENV === 'development';\n const serverPort = 4012;\n const serverLocalUrl = `http://localhost:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n","import { getServerBasePath } from './utils/config';\nconst fetch = require('node-fetch');\n\nexport async function getUser(token: string, domainName: string) {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n}\n","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\nexport interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IRequestDauth extends Request {\n user: IDauthUser;\n files: {\n image: { path: string };\n avatar: { path: string };\n };\n headers: {\n authorization: string;\n };\n}\n\ninterface TCustomResponse extends ExpressResponse {\n status(code: number): any;\n send(body?: any): any;\n}\n\nexport const dauth = ({\n domainName,\n tsk,\n}: {\n domainName: string;\n tsk: string;\n}) => {\n return (\n req: IRequestDauth,\n res: TCustomResponse,\n next: NextFunction\n ): Handler | void => {\n if (!req.headers.authorization) {\n return res\n .status(403)\n .send({ status: 'token-not-found', message: 'Token not found' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, tsk as string);\n return getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'user-not-found',\n message: getUserFetch.data.message ?? 'User does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res.status(500).send({\n status: 'error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n return next();\n } else {\n return res.status(501).send({\n status: 'request-error',\n message: getUserFetch.data.message ?? 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n return res.status(500).send({\n status: 'server-error',\n message: error.message ?? 'Dauth server error',\n });\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(401).send({\n status: 'token-expired',\n message: error?.message ?? 'Token expired',\n });\n }\n if (error && error?.message === 'invalid signature') {\n return res.status(401).send({\n status: 'tsk-not-invalid',\n message: 'The TSK variable in the backend middleware is not valid',\n });\n }\n return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["apiVersion","serverDomain","getServerBasePath","_ref","domainName","isLocalhost","process","env","NODE_ENV","serverPort","serverLocalUrl","serverProdUrl","serverBasePath","fetch","require","getUser","_x","_x2","_getUser","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","sent","json","abrupt","stop","dauth","tsk","req","res","authorization","status","send","message","replace","jwt","verify","then","getUserFetch","_getUserFetch$data$me","_getUserFetch$data$me2","user","_getUserFetch$data$me3","error","_error$message","_error$message3","_error$message2"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,28 +1,25 @@
1
1
  import { Request, NextFunction, Response as ExpressResponse, Handler } from 'express';
2
- interface ITenantUser {
2
+ export interface IDauthUser {
3
3
  _id: string;
4
- dauthLicense?: string;
5
- sid: string;
6
4
  name: string;
7
5
  lastname: string;
8
6
  nickname: string;
9
7
  email: string;
10
- is_verified: boolean;
8
+ isVerified: boolean;
11
9
  language: string;
12
10
  avatar: {
13
11
  id: string;
14
12
  url: string;
15
13
  };
16
14
  role: string;
17
- tel_prefix: string;
18
- tel_suffix: string;
15
+ telPrefix: string;
16
+ telSuffix: string;
19
17
  createdAt: Date;
20
18
  updatedAt: Date;
21
- last_login: Date;
22
- __v: string | any;
19
+ lastLogin: Date;
23
20
  }
24
- interface IRequestUser extends Request {
25
- user: ITenantUser;
21
+ export interface IRequestDauth extends Request {
22
+ user: IDauthUser;
26
23
  files: {
27
24
  image: {
28
25
  path: string;
@@ -42,5 +39,5 @@ interface TCustomResponse extends ExpressResponse {
42
39
  export declare const dauth: ({ domainName, tsk, }: {
43
40
  domainName: string;
44
41
  tsk: string;
45
- }) => (req: IRequestUser, res: TCustomResponse, next: NextFunction) => Handler | void;
42
+ }) => (req: IRequestDauth, res: TCustomResponse, next: NextFunction) => Handler | void;
46
43
  export {};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.17",
2
+ "version": "1.0.0",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -10,7 +10,7 @@ export async function getUser(token: string, domainName: string) {
10
10
  },
11
11
  };
12
12
  const response = await fetch(
13
- `${getServerBasePath({ domainName })}/t-get-user/${domainName}`,
13
+ `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,
14
14
  params
15
15
  );
16
16
  const data = await response.json();
package/src/index.ts CHANGED
@@ -7,31 +7,28 @@ import {
7
7
  import jwt from 'jsonwebtoken';
8
8
  import { getUser } from './api/dauth.api';
9
9
 
10
- interface ITenantUser {
10
+ export interface IDauthUser {
11
11
  _id: string;
12
- dauthLicense?: string;
13
- sid: string;
14
12
  name: string;
15
13
  lastname: string;
16
14
  nickname: string;
17
15
  email: string;
18
- is_verified: boolean;
16
+ isVerified: boolean;
19
17
  language: string;
20
18
  avatar: {
21
19
  id: string;
22
20
  url: string;
23
21
  };
24
22
  role: string;
25
- tel_prefix: string;
26
- tel_suffix: string;
23
+ telPrefix: string;
24
+ telSuffix: string;
27
25
  createdAt: Date;
28
26
  updatedAt: Date;
29
- last_login: Date;
30
- __v: string | any;
27
+ lastLogin: Date;
31
28
  }
32
29
 
33
- interface IRequestUser extends Request {
34
- user: ITenantUser;
30
+ export interface IRequestDauth extends Request {
31
+ user: IDauthUser;
35
32
  files: {
36
33
  image: { path: string };
37
34
  avatar: { path: string };
@@ -54,7 +51,7 @@ export const dauth = ({
54
51
  tsk: string;
55
52
  }) => {
56
53
  return (
57
- req: IRequestUser,
54
+ req: IRequestDauth,
58
55
  res: TCustomResponse,
59
56
  next: NextFunction
60
57
  ): Handler | void => {