dauth-md-node 0.1.72 → 0.1.73
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/dist/api/dauth.api.d.ts +4 -0
- package/dist/dauth-md-node.cjs.development.js +23 -19
- package/dist/dauth-md-node.cjs.development.js.map +1 -1
- package/dist/dauth-md-node.cjs.production.min.js +1 -1
- package/dist/dauth-md-node.cjs.production.min.js.map +1 -1
- package/dist/dauth-md-node.esm.js +23 -19
- package/dist/dauth-md-node.esm.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/package.json +1 -1
- package/src/api/dauth.api.ts +17 -0
- package/src/index.ts +32 -38
|
@@ -339,24 +339,24 @@ function _asyncToGenerator(fn) {
|
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
var fetch = /*#__PURE__*/require('node-fetch');
|
|
342
|
-
function getUser(_x) {
|
|
342
|
+
function getUser(_x, _x2) {
|
|
343
343
|
return _getUser.apply(this, arguments);
|
|
344
344
|
}
|
|
345
345
|
function _getUser() {
|
|
346
|
-
_getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token) {
|
|
346
|
+
_getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token, domainName) {
|
|
347
347
|
var params, response, data;
|
|
348
348
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
349
349
|
while (1) switch (_context.prev = _context.next) {
|
|
350
350
|
case 0:
|
|
351
351
|
params = {
|
|
352
|
-
method:
|
|
352
|
+
method: 'GET',
|
|
353
353
|
headers: {
|
|
354
354
|
Authorization: token,
|
|
355
|
-
|
|
355
|
+
'Content-Type': 'application/json'
|
|
356
356
|
}
|
|
357
357
|
};
|
|
358
358
|
_context.next = 3;
|
|
359
|
-
return fetch("http://localhost:4012/api/v1/get-tenant-user/
|
|
359
|
+
return fetch("http://localhost:4012/api/v1/get-tenant-user/" + domainName, params);
|
|
360
360
|
case 3:
|
|
361
361
|
response = _context.sent;
|
|
362
362
|
_context.next = 6;
|
|
@@ -375,8 +375,10 @@ function _getUser() {
|
|
|
375
375
|
}));
|
|
376
376
|
return _getUser.apply(this, arguments);
|
|
377
377
|
}
|
|
378
|
+
|
|
378
379
|
var dauth = function dauth(_ref) {
|
|
379
|
-
var ssid = _ref.ssid
|
|
380
|
+
var ssid = _ref.ssid,
|
|
381
|
+
domainName = _ref.domainName;
|
|
380
382
|
return function (req, res, next) {
|
|
381
383
|
if (!req.headers.authorization) {
|
|
382
384
|
return res.status(403).send({
|
|
@@ -386,44 +388,46 @@ var dauth = function dauth(_ref) {
|
|
|
386
388
|
}
|
|
387
389
|
var token = req.headers.authorization.replace(/['"]+/g, '');
|
|
388
390
|
try {
|
|
389
|
-
|
|
390
|
-
req.user = payload;
|
|
391
|
-
getUser(token).then(function (getUserFetch) {
|
|
391
|
+
jwt.verify(token, ssid);
|
|
392
|
+
// req.user = payload;
|
|
393
|
+
getUser(token, domainName).then(function (getUserFetch) {
|
|
392
394
|
if (getUserFetch.response.status === 404) {
|
|
393
395
|
return res.status(404).send({
|
|
394
396
|
status: 'domain-not-found',
|
|
395
397
|
message: 'Dauth domain does not exist'
|
|
396
398
|
});
|
|
397
|
-
}
|
|
398
|
-
if (getUserFetch.response.status === 500) {
|
|
399
|
+
} else if (getUserFetch.response.status === 500) {
|
|
399
400
|
return res.status(500).send({
|
|
400
401
|
status: 'error',
|
|
401
402
|
message: 'Dauth server error'
|
|
402
403
|
});
|
|
404
|
+
} else if (getUserFetch.response.status === 200) {
|
|
405
|
+
req.user = getUserFetch.data.user;
|
|
406
|
+
// console.log('node-fetch npm', req.user);
|
|
407
|
+
return next();
|
|
408
|
+
} else {
|
|
409
|
+
return res.status(501).send({
|
|
410
|
+
status: 'error',
|
|
411
|
+
message: 'Dauth server error'
|
|
412
|
+
});
|
|
403
413
|
}
|
|
404
|
-
if (getUserFetch.response.status === 200) {
|
|
405
|
-
req.user = getUserFetch.data;
|
|
406
|
-
console.log('node-fetch npm', req.user);
|
|
407
|
-
}
|
|
408
|
-
return next();
|
|
409
414
|
})["catch"](function (error) {
|
|
410
415
|
console.log('getDauthUser error', error);
|
|
411
416
|
return next();
|
|
412
417
|
});
|
|
413
|
-
return next();
|
|
414
418
|
} catch (error) {
|
|
415
419
|
if (error && (error == null ? void 0 : error.message) === 'jwt expired') {
|
|
416
420
|
return res.status(500).send({
|
|
417
421
|
status: 'token-expired',
|
|
418
422
|
message: 'El token ha expirado',
|
|
419
|
-
error: error,
|
|
423
|
+
// error: error,
|
|
420
424
|
mdKey: 'ensure_auth'
|
|
421
425
|
});
|
|
422
426
|
}
|
|
423
427
|
return res.status(500).send({
|
|
424
428
|
status: 'token-invalid',
|
|
425
429
|
message: 'El token no es válido',
|
|
426
|
-
error: error,
|
|
430
|
+
// error: error,
|
|
427
431
|
mdKey: 'ensure_auth'
|
|
428
432
|
});
|
|
429
433
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-md-node.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"dauth-md-node.cjs.development.js","sources":["../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["const 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 `http://localhost:4012/api/v1/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n}","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport mongoose from 'mongoose';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\nexport interface IAccessToken {\n _id: string | mongoose.Types.ObjectId;\n sid: string;\n name: string;\n lastname: string;\n email: string;\n createToken?: number;\n exp?: number;\n iat?: number;\n}\n\ninterface IRequestUser extends Request {\n user: IAccessToken;\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 = ({ ssid, domainName }: { ssid: string, domainName: string }) => {\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', mdKey: 'ensure_auth' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, ssid as string) as IAccessToken;\n // req.user = payload;\n getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'domain-not-found',\n message: 'Dauth domain does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res\n .status(500)\n .send({ status: 'error', message: 'Dauth server error' });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n // console.log('node-fetch npm', req.user);\n return next();\n } else {\n return res.status(501).send({\n status: 'error',\n message: 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n console.log('getDauthUser error', error);\n return next();\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(500).send({\n status: 'token-expired',\n message: 'El token ha expirado',\n // error: error,\n mdKey: 'ensure_auth',\n });\n }\n return res.status(500).send({\n status: 'token-invalid',\n message: 'El token no es válido',\n // error: error,\n mdKey: 'ensure_auth',\n });\n }\n };\n};\n"],"names":["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","_ref","ssid","req","res","authorization","status","send","mdKey","replace","jwt","verify","then","getUserFetch","message","user","error","console","log"],"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,
|
|
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 f(t,e,r,n){var o=Object.create((e&&e.prototype instanceof g?e:g).prototype),i=new N(n||[]);return a(o,"_invoke",{value:k(t,r,i)}),o}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var x={};h(x,u,(function(){return this}));var b=Object.getPrototypeOf,L=b&&b(b(T([])));L&&L!==n&&o.call(L,u)&&(x=L);var E=w.prototype=g.prototype=Object.create(x);function _(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(n,a,i,u){var s=l(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 k(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=l(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=l(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 P(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 G(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function T(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.prototype),h(j.prototype,s,(function(){return this})),e.AsyncIterator=j,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new j(f(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},_(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=T,N.prototype={constructor:N,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(G),!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),G(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;G(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:T(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)}))}}var a=require("node-fetch");function i(){return(i=o(r().mark((function t(e,n){var o,i;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,a("http://localhost:4012/api/v1/get-tenant-user/"+n,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})))).apply(this,arguments)}exports.dauth=function(t){var r=t.ssid,n=t.domainName;return function(t,o,a){if(!t.headers.authorization)return o.status(403).send({status:"token-not-found",mdKey:"ensure_auth"});var u=t.headers.authorization.replace(/['"]+/g,"");try{e.verify(u,r),function(t,e){return i.apply(this,arguments)}(u,n).then((function(e){return 404===e.response.status?o.status(404).send({status:"domain-not-found",message:"Dauth domain does not exist"}):500===e.response.status?o.status(500).send({status:"error",message:"Dauth server error"}):200===e.response.status?(t.user=e.data.user,a()):o.status(501).send({status:"error",message:"Dauth server error"})})).catch((function(t){return console.log("getDauthUser error",t),a()}))}catch(t){return t&&"jwt expired"===(null==t?void 0:t.message)?o.status(500).send({status:"token-expired",message:"El token ha expirado",mdKey:"ensure_auth"}):o.status(500).send({status:"token-invalid",message:"El token no es válido",mdKey:"ensure_auth"})}}};
|
|
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/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"dauth-md-node.cjs.production.min.js","sources":["../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["const 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 `http://localhost:4012/api/v1/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n}","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport mongoose from 'mongoose';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\nexport interface IAccessToken {\n _id: string | mongoose.Types.ObjectId;\n sid: string;\n name: string;\n lastname: string;\n email: string;\n createToken?: number;\n exp?: number;\n iat?: number;\n}\n\ninterface IRequestUser extends Request {\n user: IAccessToken;\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 = ({ ssid, domainName }: { ssid: string, domainName: string }) => {\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', mdKey: 'ensure_auth' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, ssid as string) as IAccessToken;\n // req.user = payload;\n getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'domain-not-found',\n message: 'Dauth domain does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res\n .status(500)\n .send({ status: 'error', message: 'Dauth server error' });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n // console.log('node-fetch npm', req.user);\n return next();\n } else {\n return res.status(501).send({\n status: 'error',\n message: 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n console.log('getDauthUser error', error);\n return next();\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(500).send({\n status: 'token-expired',\n message: 'El token ha expirado',\n // error: error,\n mdKey: 'ensure_auth',\n });\n }\n return res.status(500).send({\n status: 'token-invalid',\n message: 'El token no es válido',\n // error: error,\n mdKey: 'ensure_auth',\n });\n }\n };\n};\n"],"names":["fetch","require","_getUser","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","domainName","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","sent","json","abrupt","data","stop","apply","arguments","_ref","ssid","req","res","authorization","status","send","mdKey","replace","jwt","verify","_x","_x2","getUser","then","getUserFetch","message","user","error","console","log"],"mappings":"+zNAAA,IAAMA,EAAQC,QAAQ,cAgBrB,SAAAC,IAAA,OAAAA,EAAAC,EAAAC,IAAAC,MAdM,SAAAC,EAAuBC,EAAeC,GAAkB,IAAAC,EAAAC,EAAA,OAAAN,IAAAO,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAO5D,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,cAAeV,EACfW,eAAgB,qBAEnBN,EAAAE,OACsBd,kDAC2BQ,EAChDC,GACD,OAHa,OAARC,EAAQE,EAAAO,KAAAP,EAAAE,OAIKJ,EAASU,OAAM,OAAxB,OAAAR,EAAAS,gBACH,CAAEX,SAAAA,EAAUY,KADTV,EAAAO,OACe,OAAA,UAAA,OAAAP,EAAAW,UAAAjB,QAC1BkB,WAAAC,yBCqBoB,SAAHC,OAAMC,EAAID,EAAJC,KAAMnB,EAAUkB,EAAVlB,WAC5B,OAAO,SACLoB,EACAC,EACAf,GAEA,IAAKc,EAAIZ,QAAQc,cACf,OAAOD,EACJE,OAAO,KACPC,KAAK,CAAED,OAAQ,kBAAmBE,MAAO,gBAE9C,IAAM1B,EAAQqB,EAAIZ,QAAQc,cAAcI,QAAQ,SAAU,IAC1D,IACEC,EAAIC,OAAO7B,EAAOoB,YDhDKU,EAAAC,GAAA,OAAApC,EAAAsB,WAAAC,WCkDvBc,CAAQhC,EAAOC,GACZgC,MAAK,SAACC,GACL,OAAqC,MAAjCA,EAAa/B,SAASqB,OACjBF,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,mBACRW,QAAS,gCAE+B,MAAjCD,EAAa/B,SAASqB,OACxBF,EACJE,OAAO,KACPC,KAAK,CAAED,OAAQ,QAASW,QAAS,uBACM,MAAjCD,EAAa/B,SAASqB,QAC/BH,EAAIe,KAAOF,EAAanB,KAAKqB,KAEtB7B,KAEAe,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,QACRW,QAAS,iCAIR,SAACE,GAEN,OADAC,QAAQC,IAAI,qBAAsBF,GAC3B9B,OAEX,MAAO8B,GACP,OAAIA,GAA4B,uBAAnBA,SAAAA,EAAOF,SACXb,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRW,QAAS,uBAETT,MAAO,gBAGJJ,EAAIE,OAAO,KAAKC,KAAK,CAC1BD,OAAQ,gBACRW,QAAS,wBAETT,MAAO"}
|
|
@@ -333,24 +333,24 @@ function _asyncToGenerator(fn) {
|
|
|
333
333
|
}
|
|
334
334
|
|
|
335
335
|
var fetch = /*#__PURE__*/require('node-fetch');
|
|
336
|
-
function getUser(_x) {
|
|
336
|
+
function getUser(_x, _x2) {
|
|
337
337
|
return _getUser.apply(this, arguments);
|
|
338
338
|
}
|
|
339
339
|
function _getUser() {
|
|
340
|
-
_getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token) {
|
|
340
|
+
_getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token, domainName) {
|
|
341
341
|
var params, response, data;
|
|
342
342
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
343
343
|
while (1) switch (_context.prev = _context.next) {
|
|
344
344
|
case 0:
|
|
345
345
|
params = {
|
|
346
|
-
method:
|
|
346
|
+
method: 'GET',
|
|
347
347
|
headers: {
|
|
348
348
|
Authorization: token,
|
|
349
|
-
|
|
349
|
+
'Content-Type': 'application/json'
|
|
350
350
|
}
|
|
351
351
|
};
|
|
352
352
|
_context.next = 3;
|
|
353
|
-
return fetch("http://localhost:4012/api/v1/get-tenant-user/
|
|
353
|
+
return fetch("http://localhost:4012/api/v1/get-tenant-user/" + domainName, params);
|
|
354
354
|
case 3:
|
|
355
355
|
response = _context.sent;
|
|
356
356
|
_context.next = 6;
|
|
@@ -369,8 +369,10 @@ function _getUser() {
|
|
|
369
369
|
}));
|
|
370
370
|
return _getUser.apply(this, arguments);
|
|
371
371
|
}
|
|
372
|
+
|
|
372
373
|
var dauth = function dauth(_ref) {
|
|
373
|
-
var ssid = _ref.ssid
|
|
374
|
+
var ssid = _ref.ssid,
|
|
375
|
+
domainName = _ref.domainName;
|
|
374
376
|
return function (req, res, next) {
|
|
375
377
|
if (!req.headers.authorization) {
|
|
376
378
|
return res.status(403).send({
|
|
@@ -380,44 +382,46 @@ var dauth = function dauth(_ref) {
|
|
|
380
382
|
}
|
|
381
383
|
var token = req.headers.authorization.replace(/['"]+/g, '');
|
|
382
384
|
try {
|
|
383
|
-
|
|
384
|
-
req.user = payload;
|
|
385
|
-
getUser(token).then(function (getUserFetch) {
|
|
385
|
+
jwt.verify(token, ssid);
|
|
386
|
+
// req.user = payload;
|
|
387
|
+
getUser(token, domainName).then(function (getUserFetch) {
|
|
386
388
|
if (getUserFetch.response.status === 404) {
|
|
387
389
|
return res.status(404).send({
|
|
388
390
|
status: 'domain-not-found',
|
|
389
391
|
message: 'Dauth domain does not exist'
|
|
390
392
|
});
|
|
391
|
-
}
|
|
392
|
-
if (getUserFetch.response.status === 500) {
|
|
393
|
+
} else if (getUserFetch.response.status === 500) {
|
|
393
394
|
return res.status(500).send({
|
|
394
395
|
status: 'error',
|
|
395
396
|
message: 'Dauth server error'
|
|
396
397
|
});
|
|
398
|
+
} else if (getUserFetch.response.status === 200) {
|
|
399
|
+
req.user = getUserFetch.data.user;
|
|
400
|
+
// console.log('node-fetch npm', req.user);
|
|
401
|
+
return next();
|
|
402
|
+
} else {
|
|
403
|
+
return res.status(501).send({
|
|
404
|
+
status: 'error',
|
|
405
|
+
message: 'Dauth server error'
|
|
406
|
+
});
|
|
397
407
|
}
|
|
398
|
-
if (getUserFetch.response.status === 200) {
|
|
399
|
-
req.user = getUserFetch.data;
|
|
400
|
-
console.log('node-fetch npm', req.user);
|
|
401
|
-
}
|
|
402
|
-
return next();
|
|
403
408
|
})["catch"](function (error) {
|
|
404
409
|
console.log('getDauthUser error', error);
|
|
405
410
|
return next();
|
|
406
411
|
});
|
|
407
|
-
return next();
|
|
408
412
|
} catch (error) {
|
|
409
413
|
if (error && (error == null ? void 0 : error.message) === 'jwt expired') {
|
|
410
414
|
return res.status(500).send({
|
|
411
415
|
status: 'token-expired',
|
|
412
416
|
message: 'El token ha expirado',
|
|
413
|
-
error: error,
|
|
417
|
+
// error: error,
|
|
414
418
|
mdKey: 'ensure_auth'
|
|
415
419
|
});
|
|
416
420
|
}
|
|
417
421
|
return res.status(500).send({
|
|
418
422
|
status: 'token-invalid',
|
|
419
423
|
message: 'El token no es válido',
|
|
420
|
-
error: error,
|
|
424
|
+
// error: error,
|
|
421
425
|
mdKey: 'ensure_auth'
|
|
422
426
|
});
|
|
423
427
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-md-node.esm.js","sources":["../src/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"dauth-md-node.esm.js","sources":["../src/api/dauth.api.ts","../src/index.ts"],"sourcesContent":["const 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 `http://localhost:4012/api/v1/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n}","import {\n Request,\n NextFunction,\n Response as ExpressResponse,\n Handler,\n} from 'express';\nimport mongoose from 'mongoose';\nimport jwt from 'jsonwebtoken';\nimport { getUser } from './api/dauth.api';\n\nexport interface IAccessToken {\n _id: string | mongoose.Types.ObjectId;\n sid: string;\n name: string;\n lastname: string;\n email: string;\n createToken?: number;\n exp?: number;\n iat?: number;\n}\n\ninterface IRequestUser extends Request {\n user: IAccessToken;\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 = ({ ssid, domainName }: { ssid: string, domainName: string }) => {\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', mdKey: 'ensure_auth' });\n }\n const token = req.headers.authorization.replace(/['\"]+/g, '');\n try {\n jwt.verify(token, ssid as string) as IAccessToken;\n // req.user = payload;\n getUser(token, domainName)\n .then((getUserFetch: any) => {\n if (getUserFetch.response.status === 404) {\n return res.status(404).send({\n status: 'domain-not-found',\n message: 'Dauth domain does not exist',\n });\n } else if (getUserFetch.response.status === 500) {\n return res\n .status(500)\n .send({ status: 'error', message: 'Dauth server error' });\n } else if (getUserFetch.response.status === 200) {\n req.user = getUserFetch.data.user;\n // console.log('node-fetch npm', req.user);\n return next();\n } else {\n return res.status(501).send({\n status: 'error',\n message: 'Dauth server error',\n });\n }\n })\n .catch((error: any) => {\n console.log('getDauthUser error', error);\n return next();\n });\n } catch (error) {\n if (error && error?.message === 'jwt expired') {\n return res.status(500).send({\n status: 'token-expired',\n message: 'El token ha expirado',\n // error: error,\n mdKey: 'ensure_auth',\n });\n }\n return res.status(500).send({\n status: 'token-invalid',\n message: 'El token no es válido',\n // error: error,\n mdKey: 'ensure_auth',\n });\n }\n };\n};\n"],"names":["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","_ref","ssid","req","res","authorization","status","send","mdKey","replace","jwt","verify","then","getUserFetch","message","user","error","console","log"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,7 +28,8 @@ interface TCustomResponse extends ExpressResponse {
|
|
|
28
28
|
status(code: number): any;
|
|
29
29
|
send(body?: any): any;
|
|
30
30
|
}
|
|
31
|
-
export declare const dauth: ({ ssid }: {
|
|
31
|
+
export declare const dauth: ({ ssid, domainName }: {
|
|
32
32
|
ssid: string;
|
|
33
|
+
domainName: string;
|
|
33
34
|
}) => (req: IRequestUser, res: TCustomResponse, next: NextFunction) => Handler | void;
|
|
34
35
|
export {};
|
package/package.json
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const fetch = require('node-fetch');
|
|
2
|
+
|
|
3
|
+
export async function getUser(token: string, domainName: string) {
|
|
4
|
+
const params = {
|
|
5
|
+
method: 'GET',
|
|
6
|
+
headers: {
|
|
7
|
+
Authorization: token,
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
const response = await fetch(
|
|
12
|
+
`http://localhost:4012/api/v1/get-tenant-user/${domainName}`,
|
|
13
|
+
params
|
|
14
|
+
);
|
|
15
|
+
const data = await response.json();
|
|
16
|
+
return { response, data };
|
|
17
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -6,22 +6,7 @@ import {
|
|
|
6
6
|
} from 'express';
|
|
7
7
|
import mongoose from 'mongoose';
|
|
8
8
|
import jwt from 'jsonwebtoken';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
async function getUser(token: string) {
|
|
12
|
-
const params = {
|
|
13
|
-
method: "GET",
|
|
14
|
-
headers: {
|
|
15
|
-
Authorization: token,
|
|
16
|
-
"Content-Type": "application/json",
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
const response = await fetch(`http://localhost:4012/api/v1/get-tenant-user/easymediacloud`, params)
|
|
20
|
-
const data = await response.json()
|
|
21
|
-
return { response, data }
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
import { getUser } from './api/dauth.api';
|
|
25
10
|
|
|
26
11
|
export interface IAccessToken {
|
|
27
12
|
_id: string | mongoose.Types.ObjectId;
|
|
@@ -50,7 +35,7 @@ interface TCustomResponse extends ExpressResponse {
|
|
|
50
35
|
send(body?: any): any;
|
|
51
36
|
}
|
|
52
37
|
|
|
53
|
-
export const dauth = ({ ssid }: { ssid: string }) => {
|
|
38
|
+
export const dauth = ({ ssid, domainName }: { ssid: string, domainName: string }) => {
|
|
54
39
|
return (
|
|
55
40
|
req: IRequestUser,
|
|
56
41
|
res: TCustomResponse,
|
|
@@ -63,38 +48,47 @@ export const dauth = ({ ssid }: { ssid: string }) => {
|
|
|
63
48
|
}
|
|
64
49
|
const token = req.headers.authorization.replace(/['"]+/g, '');
|
|
65
50
|
try {
|
|
66
|
-
|
|
67
|
-
req.user = payload;
|
|
68
|
-
getUser(token
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
51
|
+
jwt.verify(token, ssid as string) as IAccessToken;
|
|
52
|
+
// req.user = payload;
|
|
53
|
+
getUser(token, domainName)
|
|
54
|
+
.then((getUserFetch: any) => {
|
|
55
|
+
if (getUserFetch.response.status === 404) {
|
|
56
|
+
return res.status(404).send({
|
|
57
|
+
status: 'domain-not-found',
|
|
58
|
+
message: 'Dauth domain does not exist',
|
|
59
|
+
});
|
|
60
|
+
} else if (getUserFetch.response.status === 500) {
|
|
61
|
+
return res
|
|
62
|
+
.status(500)
|
|
63
|
+
.send({ status: 'error', message: 'Dauth server error' });
|
|
64
|
+
} else if (getUserFetch.response.status === 200) {
|
|
65
|
+
req.user = getUserFetch.data.user;
|
|
66
|
+
// console.log('node-fetch npm', req.user);
|
|
67
|
+
return next();
|
|
68
|
+
} else {
|
|
69
|
+
return res.status(501).send({
|
|
70
|
+
status: 'error',
|
|
71
|
+
message: 'Dauth server error',
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
.catch((error: any) => {
|
|
76
|
+
console.log('getDauthUser error', error);
|
|
77
|
+
return next();
|
|
78
|
+
});
|
|
85
79
|
} catch (error) {
|
|
86
80
|
if (error && error?.message === 'jwt expired') {
|
|
87
81
|
return res.status(500).send({
|
|
88
82
|
status: 'token-expired',
|
|
89
83
|
message: 'El token ha expirado',
|
|
90
|
-
error: error,
|
|
84
|
+
// error: error,
|
|
91
85
|
mdKey: 'ensure_auth',
|
|
92
86
|
});
|
|
93
87
|
}
|
|
94
88
|
return res.status(500).send({
|
|
95
89
|
status: 'token-invalid',
|
|
96
90
|
message: 'El token no es válido',
|
|
97
|
-
error: error,
|
|
91
|
+
// error: error,
|
|
98
92
|
mdKey: 'ensure_auth',
|
|
99
93
|
});
|
|
100
94
|
}
|