@authorizerdev/authorizer-js 0.1.0 → 0.3.0-beta.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../../src/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../../src/constants.ts","../../../src/utils.ts","../../../src/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { AuthorizeResponse } from './types';
2
+ export declare const hasWindow: () => boolean;
3
+ export declare const trimURL: (url: string) => string;
4
+ export declare const getCrypto: () => Crypto;
5
+ export declare const getCryptoSubtle: () => SubtleCrypto;
6
+ export declare const createRandomString: () => string;
7
+ export declare const encode: (value: string) => string;
8
+ export declare const decode: (value: string) => string;
9
+ export declare const createQueryParams: (params: any) => string;
10
+ export declare const sha256: (s: string) => Promise<any>;
11
+ export declare const urlDecodeB64: (input: string) => string;
12
+ export declare const bufferToBase64UrlEncoded: (input: number[] | Uint8Array) => string;
13
+ export declare const executeIframe: (authorizeUrl: string, eventOrigin: string, timeoutInSeconds?: number) => Promise<AuthorizeResponse>;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "0.3.0-beta.0",
3
3
  "license": "MIT",
4
4
  "typings": "lib/cjs/index.d.ts",
5
5
  "main": "lib/cjs/index.js",
@@ -11,6 +11,7 @@
11
11
  "engines": {
12
12
  "node": ">=10"
13
13
  },
14
+ "repository": "https://github.com/authorizerdev/authorizer-js",
14
15
  "scripts": {
15
16
  "clean": "rm -rf lib",
16
17
  "start": "rollup -w --config rollup.test.config.js",
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS = 60;
2
+ export const CLEANUP_IFRAME_TIMEOUT_IN_SECONDS = 2;
3
+ export const AUTHORIZE_IFRAME_TIMEOUT = 5;
package/src/index.ts CHANGED
@@ -1,130 +1,144 @@
1
1
  // Note: write gql query in single line to reduce bundle size
2
2
  import nodeFetch from 'node-fetch';
3
-
4
- export type ConfigType = {
5
- authorizerURL: string;
6
- redirectURL?: string;
7
- };
8
-
9
- export type User = {
10
- id: string;
11
- email: string;
12
- firstName?: string | null;
13
- lastName?: string | null;
14
- image?: string | null;
15
- signupMethod?: string | null;
16
- emailVerifiedAt?: number | null;
17
- roles?: string[];
18
- };
19
-
20
- export type AuthToken = {
21
- message?: string;
22
- accessToken: string;
23
- accessTokenExpiresAt: number;
24
- user?: User;
25
- };
26
-
27
- export type Response = {
28
- message: string;
29
- };
30
-
31
- export type Headers = Record<string, string>;
32
-
33
- export type LoginInput = { email: string; password: string; roles?: string[] };
34
-
35
- export type SignupInput = {
36
- email: string;
37
- password: string;
38
- confirmPassword: string;
39
- firstName?: string;
40
- lastName?: string;
41
- roles?: string[];
42
- };
43
-
44
- export type MagicLoginInput = {
45
- email: string;
46
- roles?: string[];
47
- };
48
-
49
- export type VerifyEmailInput = { token: string };
50
-
51
- export type GraphqlQueryInput = {
52
- query: string;
53
- variables?: Record<string, any>;
54
- headers?: Headers;
55
- };
56
-
57
- export type MetaData = {
58
- version: string;
59
- isGoogleLoginEnabled: boolean;
60
- isFacebookLoginEnabled: boolean;
61
- isTwitterLoginEnabled: boolean;
62
- isGithubLoginEnabled: boolean;
63
- isEmailVerificationEnabled: boolean;
64
- isBasicAuthenticationEnabled: boolean;
65
- isMagicLoginEnabled: boolean;
66
- };
67
-
68
- export type UpdateProfileInput = {
69
- oldPassword?: string;
70
- newPassword?: string;
71
- confirmNewPassword?: string;
72
- firstName?: string;
73
- lastName?: string;
74
- image?: string;
75
- email?: string;
76
- };
77
-
78
- export type ForgotPasswordInput = {
79
- email: string;
80
- };
81
-
82
- export type ResetPasswordInput = {
83
- token: string;
84
- password: string;
85
- confirmPassword: string;
86
- };
87
-
88
- export enum OAuthProviders {
89
- Github = 'github',
90
- Google = 'google',
91
- }
92
-
93
- const hasWindow = (): boolean => typeof window !== 'undefined';
3
+ import { DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS } from './constants';
4
+ import * as Types from './types';
5
+ import {
6
+ trimURL,
7
+ hasWindow,
8
+ encode,
9
+ createRandomString,
10
+ sha256,
11
+ bufferToBase64UrlEncoded,
12
+ createQueryParams,
13
+ executeIframe,
14
+ } from './utils';
94
15
 
95
16
  // re-usable gql response fragment
96
- const userTokenFragment = `message accessToken accessTokenExpiresAt user { id email firstName lastName image signupMethod emailVerifiedAt roles createdAt updatedAt }`;
17
+ const userFragment = `id email email_verified given_name family_name middle_name nickname preferred_username picture signup_methods gender birthdate phone_number phone_number_verified roles created_at updated_at `;
18
+ const authTokenFragment = `message access_token expires_in refresh_token id_token user { ${userFragment} }`;
97
19
 
98
20
  export class Authorizer {
99
21
  // class variable
100
- config: ConfigType;
22
+ config: Types.ConfigType;
23
+ codeVerifier: string;
101
24
 
102
25
  // constructor
103
- constructor(config: ConfigType) {
26
+ constructor(config: Types.ConfigType) {
104
27
  if (!config) {
105
28
  throw new Error(`Configuration is required`);
106
29
  }
107
30
  this.config = config;
108
- if (!config.authorizerURL.trim()) {
31
+ if (!config.authorizerURL && !config.authorizerURL.trim()) {
109
32
  throw new Error(`Invalid authorizerURL`);
110
33
  }
111
34
  if (config.authorizerURL) {
112
- const trimmedData = config.authorizerURL.trim();
113
- const lastChar = trimmedData[trimmedData.length - 1];
114
- if (lastChar === '/') {
115
- this.config.authorizerURL = trimmedData.slice(0, -1);
116
- } else {
117
- this.config.authorizerURL = trimmedData;
118
- }
35
+ this.config.authorizerURL = trimURL(config.authorizerURL);
119
36
  }
120
- if (!config.redirectURL) {
37
+ if (!config.redirectURL && !config.redirectURL.trim()) {
121
38
  throw new Error(`Invalid redirectURL`);
39
+ } else {
40
+ this.config.redirectURL = trimURL(config.redirectURL);
41
+ }
42
+
43
+ if (!config.clientID && !config.clientID.trim()) {
44
+ throw new Error(`Invalid clientID`);
45
+ } else {
46
+ this.config.clientID = config.clientID.trim();
122
47
  }
123
48
  }
124
49
 
50
+ getToken = async (data: { code?: string }) => {
51
+ if (!this.codeVerifier) {
52
+ throw new Error(`invalid code verifier`);
53
+ }
54
+
55
+ const requestData = {
56
+ client_id: this.config.clientID,
57
+ code: data.code,
58
+ code_verifier: this.codeVerifier,
59
+ };
60
+
61
+ try {
62
+ const res = await fetch(`${this.config.authorizerURL}/oauth/token`, {
63
+ method: 'POST',
64
+ body: JSON.stringify(requestData),
65
+ headers: {
66
+ 'Content-Type': 'application/json',
67
+ },
68
+ credentials: 'include',
69
+ });
70
+
71
+ const json = await res.json();
72
+ if (res.status >= 400) {
73
+ throw new Error(json);
74
+ }
75
+ return json;
76
+ } catch (err) {
77
+ throw err;
78
+ }
79
+ };
80
+
81
+ authorize = async (data: Types.AuthorizeInput) => {
82
+ if (!hasWindow) {
83
+ throw new Error(`this feature is only supported in browser`);
84
+ }
85
+
86
+ const scopes = ['openid', 'profile', 'email'];
87
+ if (data.use_refresh_token) {
88
+ scopes.push('offline_access');
89
+ }
90
+
91
+ const requestData: Record<string, string> = {
92
+ redirect_uri: this.config.redirectURL,
93
+ state: encode(createRandomString()),
94
+ nonce: encode(createRandomString()),
95
+ response_type: data.response_type,
96
+ scope: scopes.join(' '),
97
+ client_id: this.config.clientID,
98
+ };
99
+
100
+ if (data.response_type === `code`) {
101
+ this.codeVerifier = createRandomString();
102
+ const sha = await sha256(this.codeVerifier);
103
+ const codeChallenge = bufferToBase64UrlEncoded(sha);
104
+ requestData.code_challenge = codeChallenge;
105
+ }
106
+
107
+ const authorizeURL = `${
108
+ this.config.authorizerURL
109
+ }/authorize?${createQueryParams(requestData)}`;
110
+
111
+ try {
112
+ const iframeRes = await executeIframe(
113
+ authorizeURL,
114
+ this.config.authorizerURL,
115
+ DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS,
116
+ );
117
+
118
+ if (data.response_type === `code`) {
119
+ // get token and return it
120
+ const token = await this.getToken({ code: iframeRes.code });
121
+ return token;
122
+ }
123
+
124
+ // this includes access_token, id_token & refresh_token(optionally)
125
+ return iframeRes;
126
+ } catch (err) {
127
+ if (err.error) {
128
+ window.location.replace(
129
+ `${this.config.authorizerURL}/app?state=${encode(
130
+ JSON.stringify(this.config),
131
+ )}`,
132
+ );
133
+ }
134
+
135
+ throw err;
136
+ }
137
+ };
138
+
125
139
  // helper to execute graphql queries
126
140
  // takes in any query or mutation string as input
127
- graphqlQuery = async (data: GraphqlQueryInput) => {
141
+ graphqlQuery = async (data: Types.GraphqlQueryInput) => {
128
142
  // set fetch based on window object. Isomorphic fetch doesn't support credentail: true
129
143
  // hence cookie based auth might not work so it is imp to use window.fetch in that case
130
144
  const f = hasWindow() ? window.fetch : nodeFetch;
@@ -151,10 +165,10 @@ export class Authorizer {
151
165
  return json.data;
152
166
  };
153
167
 
154
- getMetaData = async (): Promise<MetaData | void> => {
168
+ getMetaData = async (): Promise<Types.MetaData | void> => {
155
169
  try {
156
170
  const res = await this.graphqlQuery({
157
- query: `query { meta { version isGoogleLoginEnabled isGithubLoginEnabled isBasicAuthenticationEnabled isEmailVerificationEnabled isFacebookLoginEnabled isTwitterLoginEnabled isMagicLoginEnabled } }`,
171
+ query: `query { meta { version is_google_login_enabled is_facebook_login_enabled is_github_login_enabled is_email_verification_enabled is_basic_authentication_enabled is_magic_link_login_enabled } }`,
158
172
  });
159
173
 
160
174
  return res.meta;
@@ -165,42 +179,46 @@ export class Authorizer {
165
179
 
166
180
  // this is used to verify / get session using cookie by default. If using nodejs pass authorization header
167
181
  getSession = async (
168
- headers?: Headers,
169
- roles?: string[],
170
- ): Promise<AuthToken> => {
182
+ headers?: Types.Headers,
183
+ params?: Types.SessionQueryInput,
184
+ ): Promise<Types.AuthToken> => {
171
185
  try {
172
186
  const res = await this.graphqlQuery({
173
- query: `query getSession($roles: [String!]){token(roles: $roles) { ${userTokenFragment} } }`,
187
+ query: `query getSession($params: SessionQueryInput){session(params: $params) { ${authTokenFragment} } }`,
174
188
  headers,
175
189
  variables: {
176
- roles,
190
+ params,
177
191
  },
178
192
  });
179
- return res.token;
193
+ return res.session;
180
194
  } catch (err) {
181
195
  throw err;
182
196
  }
183
197
  };
184
198
 
185
- magicLogin = async (data: MagicLoginInput): Promise<Response> => {
199
+ magicLinkLogin = async (
200
+ data: Types.MagicLinkLoginInput,
201
+ ): Promise<Response> => {
186
202
  try {
187
203
  const res = await this.graphqlQuery({
188
204
  query: `
189
- mutation magicLogin($data: MagicLoginInput!) { magicLogin(params: $data) { message }}`,
205
+ mutation magicLinkLogin($data: MagicLinkLoginInput!) { magic_link_login(params: $data) { message }}
206
+ `,
190
207
  variables: { data },
191
208
  });
192
209
 
193
- return res.magicLogin;
210
+ return res.magic_link_login;
194
211
  } catch (err) {
195
212
  throw err;
196
213
  }
197
214
  };
198
215
 
199
- signup = async (data: SignupInput): Promise<AuthToken | void> => {
216
+ signup = async (data: Types.SignupInput): Promise<Types.AuthToken | void> => {
200
217
  try {
201
218
  const res = await this.graphqlQuery({
202
219
  query: `
203
- mutation signup($data: SignUpInput!) { signup(params: $data) { ${userTokenFragment}}}`,
220
+ mutation signup($data: SignUpInput!) { signup(params: $data) { ${authTokenFragment}}}
221
+ `,
204
222
  variables: { data },
205
223
  });
206
224
 
@@ -210,25 +228,29 @@ export class Authorizer {
210
228
  }
211
229
  };
212
230
 
213
- verifyEmail = async (data: VerifyEmailInput): Promise<AuthToken | void> => {
231
+ verifyEmail = async (
232
+ data: Types.VerifyEmailInput,
233
+ ): Promise<Types.AuthToken | void> => {
214
234
  try {
215
235
  const res = await this.graphqlQuery({
216
236
  query: `
217
- mutation verifyEmail($data: VerifyEmailInput!) { verifyEmail(params: $data) { ${userTokenFragment}}}`,
237
+ mutation verifyEmail($data: VerifyEmailInput!) { verify_email(params: $data) { ${authTokenFragment}}}
238
+ `,
218
239
  variables: { data },
219
240
  });
220
241
 
221
- return res.verifyEmail;
242
+ return res.verify_email;
222
243
  } catch (err) {
223
244
  throw err;
224
245
  }
225
246
  };
226
247
 
227
- login = async (data: LoginInput): Promise<AuthToken | void> => {
248
+ login = async (data: Types.LoginInput): Promise<Types.AuthToken | void> => {
228
249
  try {
229
250
  const res = await this.graphqlQuery({
230
251
  query: `
231
- mutation login($data: LoginInput!) { login(params: $data) { ${userTokenFragment}}}`,
252
+ mutation login($data: LoginInput!) { login(params: $data) { ${authTokenFragment}}}
253
+ `,
232
254
  variables: { data },
233
255
  });
234
256
 
@@ -238,10 +260,10 @@ export class Authorizer {
238
260
  }
239
261
  };
240
262
 
241
- getProfile = async (headers?: Headers): Promise<User | void> => {
263
+ getProfile = async (headers?: Types.Headers): Promise<Types.User | void> => {
242
264
  try {
243
265
  const profileRes = await this.graphqlQuery({
244
- query: `query { profile { id email image firstName lastName emailVerifiedAt signupMethod } }`,
266
+ query: `query { profile { ${userFragment} } }`,
245
267
  headers,
246
268
  });
247
269
 
@@ -252,58 +274,58 @@ export class Authorizer {
252
274
  };
253
275
 
254
276
  updateProfile = async (
255
- data: UpdateProfileInput,
256
- headers?: Headers,
257
- ): Promise<Response | void> => {
277
+ data: Types.UpdateProfileInput,
278
+ headers?: Types.Headers,
279
+ ): Promise<Types.Response | void> => {
258
280
  try {
259
281
  const updateProfileRes = await this.graphqlQuery({
260
- query: `mutation updateProfile($data: UpdateProfileInput!) { updateProfile(params: $data) { message } }`,
282
+ query: `mutation updateProfile($data: UpdateProfileInput!) { update_profile(params: $data) { message } }`,
261
283
  headers,
262
284
  variables: {
263
285
  data,
264
286
  },
265
287
  });
266
288
 
267
- return updateProfileRes.updateProfile;
289
+ return updateProfileRes.update_profile;
268
290
  } catch (error) {
269
291
  throw error;
270
292
  }
271
293
  };
272
294
 
273
295
  forgotPassword = async (
274
- data: ForgotPasswordInput,
275
- ): Promise<Response | void> => {
296
+ data: Types.ForgotPasswordInput,
297
+ ): Promise<Types.Response | void> => {
276
298
  try {
277
299
  const forgotPasswordRes = await this.graphqlQuery({
278
- query: `mutation forgotPassword($data: ForgotPasswordInput!) { forgotPassword(params: $data) { message } }`,
300
+ query: `mutation forgotPassword($data: ForgotPasswordInput!) { forgot_password(params: $data) { message } }`,
279
301
  variables: {
280
302
  data,
281
303
  },
282
304
  });
283
305
 
284
- return forgotPasswordRes.forgotPassword;
306
+ return forgotPasswordRes.forgot_password;
285
307
  } catch (error) {
286
308
  throw error;
287
309
  }
288
310
  };
289
311
 
290
312
  resetPassword = async (
291
- data: ResetPasswordInput,
292
- ): Promise<Response | void> => {
313
+ data: Types.ResetPasswordInput,
314
+ ): Promise<Types.Response | void> => {
293
315
  try {
294
316
  const resetPasswordRes = await this.graphqlQuery({
295
- query: `mutation resetPassword($data: ResetPasswordInput!) { resetPassword(params: $data) { message } }`,
317
+ query: `mutation resetPassword($data: ResetPasswordInput!) { reset_password(params: $data) { message } }`,
296
318
  variables: {
297
319
  data,
298
320
  },
299
321
  });
300
- return resetPasswordRes.resetPassword;
322
+ return resetPasswordRes.reset_password;
301
323
  } catch (error) {
302
324
  throw error;
303
325
  }
304
326
  };
305
327
 
306
- browserLogin = async (): Promise<AuthToken | void> => {
328
+ browserLogin = async (): Promise<Types.AuthToken | void> => {
307
329
  try {
308
330
  const token = await this.getSession();
309
331
  return token;
@@ -311,9 +333,11 @@ export class Authorizer {
311
333
  if (!hasWindow()) {
312
334
  throw new Error(`browserLogin is only supported for browsers`);
313
335
  }
314
- window.location.href = `${this.config.authorizerURL}/app?state=${btoa(
315
- JSON.stringify(this.config),
316
- )}`;
336
+ window.location.replace(
337
+ `${this.config.authorizerURL}/app?state=${encode(
338
+ JSON.stringify(this.config),
339
+ )}`,
340
+ );
317
341
  }
318
342
  };
319
343
 
@@ -332,14 +356,14 @@ export class Authorizer {
332
356
  if (!hasWindow()) {
333
357
  throw new Error(`oauthLogin is only supported for browsers`);
334
358
  }
335
- window.location.href = `${
336
- this.config.authorizerURL
337
- }/oauth_login/${oauthProvider}?redirectURL=${
338
- this.config.redirectURL || window.location.origin
339
- }${roles && roles.length ? `&roles=${roles.join(',')}` : ``}`;
359
+ window.location.replace(
360
+ `${this.config.authorizerURL}/oauth_login/${oauthProvider}?redirectURL=${
361
+ this.config.redirectURL || window.location.origin
362
+ }${roles && roles.length ? `&roles=${roles.join(',')}` : ``}`,
363
+ );
340
364
  };
341
365
 
342
- logout = async (headers?: Headers): Promise<Response | void> => {
366
+ logout = async (headers?: Types.Headers): Promise<Types.Response | void> => {
343
367
  try {
344
368
  const res = await this.graphqlQuery({
345
369
  query: ` mutation { logout { message } } `,