dauth-md-node 0.2.0 → 0.2.1

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.
@@ -438,6 +438,12 @@ var dauth = function dauth(_ref) {
438
438
  message: (_error$message2 = error == null ? void 0 : error.message) != null ? _error$message2 : 'Token expired'
439
439
  });
440
440
  }
441
+ if (error && (error == null ? void 0 : error.message) === 'invalid signature') {
442
+ return res.status(401).send({
443
+ status: 'ask-not-invalid',
444
+ message: 'The ASK variable in the backend middleware is not valid'
445
+ });
446
+ }
441
447
  return res.status(401).send({
442
448
  status: 'token-invalid',
443
449
  message: (_error$message3 = error == null ? void 0 : error.message) != null ? _error$message3 : 'Token invalid'
@@ -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":["const isLocalhost = process.env.NODE_ENV === 'development';\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\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 ask,\n}: {\n domainName: string;\n ask: 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 const verify = jwt.verify(token, ask as string);\n if (!verify) return;\n 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 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 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","ask","req","res","authorization","status","send","message","replace","verify","jwt","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":["const isLocalhost = process.env.NODE_ENV === 'development';\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\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 ask,\n}: {\n domainName: string;\n ask: 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 const verify = jwt.verify(token, ask as string);\n if (!verify) return;\n 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 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: 'ask-not-invalid',\n message: 'The ASK 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","ask","req","res","authorization","status","send","message","replace","verify","jwt","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 h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function l(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=l;var p="suspendedStart",v="executing",d="completed",y={};function g(){}function m(){}function w(){}var x={};h(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){h(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,h=c.value;return h&&"object"==typeof h&&o.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(h).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===v)throw new Error("Generator is already running");if(o===d){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=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var c=f(e,r,n);if("normal"===c.type){if(o=n.done?d:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=d,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 N(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 T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,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=h(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,h(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},j(k.prototype),h(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(l(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},j(E),h(E,c,"Generator"),h(E,u,(function(){return this})),h(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(T),!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),T(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;T(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.ask;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{if(!e.verify(i,n))return;(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",error:t})}))}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"}):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})+"/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.ask;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{if(!e.verify(i,n))return;(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",error:t})}))}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:"ask-not-invalid",message:"The ASK 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":["const isLocalhost = process.env.NODE_ENV === 'development';\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\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 ask,\n}: {\n domainName: string;\n ask: 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 const verify = jwt.verify(token, ask as string);\n if (!verify) return;\n 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 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 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","ask","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":"w0NAIgBA,EAAiBC,GAK/B,iBAL4CA,EAAVC,+BCHpC,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,IADeC,EAAIC,OAAO3B,EAAOkB,GACpB,iBDjEUU,EAAAC,GAAA,OAAAlC,EAAAqB,WAAAC,YCkEvBa,CAAQ9B,EAAOR,GACZuC,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,qBAC1BD,MAAAA,OAGN,MAAOA,GAAO,IAAAE,EACiCC,EAA/C,OAAIH,GAA4B,uBAAnBA,SAAAA,EAAOb,SACXJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRE,eAAOgB,QAAEH,SAAAA,EAAOb,SAAOgB,EAAI,kBAGxBpB,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":["const isLocalhost = process.env.NODE_ENV === 'development';\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\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 ask,\n}: {\n domainName: string;\n ask: 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 const verify = jwt.verify(token, ask as string);\n if (!verify) return;\n 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 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: 'ask-not-invalid',\n message: 'The ASK 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","ask","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":"w0NAIgBA,EAAiBC,GAK/B,iBAL4CA,EAAVC,+BCHpC,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,IADeC,EAAIC,OAAO3B,EAAOkB,GACpB,iBDjEUU,EAAAC,GAAA,OAAAlC,EAAAqB,WAAAC,YCkEvBa,CAAQ9B,EAAOR,GACZuC,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,qBAC1BD,MAAAA,OAGN,MAAOA,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"}
@@ -438,6 +438,12 @@ var dauth = function dauth(_ref) {
438
438
  message: (_error$message2 = error == null ? void 0 : error.message) != null ? _error$message2 : 'Token expired'
439
439
  });
440
440
  }
441
+ if (error && (error == null ? void 0 : error.message) === 'invalid signature') {
442
+ return res.status(401).send({
443
+ status: 'ask-not-invalid',
444
+ message: 'The ASK variable in the backend middleware is not valid'
445
+ });
446
+ }
441
447
  return res.status(401).send({
442
448
  status: 'token-invalid',
443
449
  message: (_error$message3 = error == null ? void 0 : error.message) != null ? _error$message3 : 'Token invalid'
@@ -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":["const isLocalhost = process.env.NODE_ENV === 'development';\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\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 ask,\n}: {\n domainName: string;\n ask: 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 const verify = jwt.verify(token, ask as string);\n if (!verify) return;\n 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 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 return res.status(401).send({\n status: 'token-invalid',\n message: error?.message ?? 'Token invalid',\n });\n }\n };\n};\n"],"names":["isLocalhost","process","env","NODE_ENV","apiVersion","serverDomain","getServerBasePath","_ref","domainName","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","ask","req","res","authorization","status","send","message","replace","verify","jwt","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":["const isLocalhost = process.env.NODE_ENV === 'development';\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\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 ask,\n}: {\n domainName: string;\n ask: 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 const verify = jwt.verify(token, ask as string);\n if (!verify) return;\n 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 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: 'ask-not-invalid',\n message: 'The ASK 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":["isLocalhost","process","env","NODE_ENV","apiVersion","serverDomain","getServerBasePath","_ref","domainName","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","ask","req","res","authorization","status","send","message","replace","verify","jwt","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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.0",
2
+ "version": "0.2.01",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -103,6 +103,12 @@ export const dauth = ({
103
103
  message: error?.message ?? 'Token expired',
104
104
  });
105
105
  }
106
+ if (error && error?.message === 'invalid signature') {
107
+ return res.status(401).send({
108
+ status: 'ask-not-invalid',
109
+ message: 'The ASK variable in the backend middleware is not valid',
110
+ });
111
+ }
106
112
  return res.status(401).send({
107
113
  status: 'token-invalid',
108
114
  message: error?.message ?? 'Token invalid',