apitally 0.2.1 → 0.4.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.
Files changed (99) hide show
  1. package/README.md +5 -9
  2. package/lib/cjs/common/client.cjs +19 -98
  3. package/lib/cjs/common/client.cjs.map +1 -1
  4. package/lib/cjs/common/serverErrorCounter.cjs +104 -0
  5. package/lib/cjs/common/serverErrorCounter.cjs.map +1 -0
  6. package/lib/cjs/common/validationErrorCounter.cjs +26 -23
  7. package/lib/cjs/common/validationErrorCounter.cjs.map +1 -1
  8. package/lib/cjs/express/index.cjs +0 -14
  9. package/lib/cjs/express/index.cjs.map +1 -1
  10. package/lib/cjs/express/middleware.cjs +26 -12
  11. package/lib/cjs/express/middleware.cjs.map +1 -1
  12. package/lib/cjs/fastify/index.cjs +0 -14
  13. package/lib/cjs/fastify/index.cjs.map +1 -1
  14. package/lib/cjs/fastify/plugin.cjs +20 -11
  15. package/lib/cjs/fastify/plugin.cjs.map +1 -1
  16. package/lib/cjs/koa/index.cjs +0 -14
  17. package/lib/cjs/koa/index.cjs.map +1 -1
  18. package/lib/cjs/koa/middleware.cjs +33 -24
  19. package/lib/cjs/koa/middleware.cjs.map +1 -1
  20. package/lib/cjs/nestjs/index.cjs +0 -26
  21. package/lib/cjs/nestjs/index.cjs.map +1 -1
  22. package/lib/esm/common/client.js +19 -98
  23. package/lib/esm/common/client.js.map +1 -1
  24. package/lib/esm/common/serverErrorCounter.js +98 -0
  25. package/lib/esm/common/serverErrorCounter.js.map +1 -0
  26. package/lib/esm/common/validationErrorCounter.js +26 -23
  27. package/lib/esm/common/validationErrorCounter.js.map +1 -1
  28. package/lib/esm/express/index.js +1 -4
  29. package/lib/esm/express/index.js.map +1 -1
  30. package/lib/esm/express/middleware.js +26 -12
  31. package/lib/esm/express/middleware.js.map +1 -1
  32. package/lib/esm/fastify/index.js +1 -4
  33. package/lib/esm/fastify/index.js.map +1 -1
  34. package/lib/esm/fastify/plugin.js +20 -11
  35. package/lib/esm/fastify/plugin.js.map +1 -1
  36. package/lib/esm/koa/index.js +1 -4
  37. package/lib/esm/koa/index.js.map +1 -1
  38. package/lib/esm/koa/middleware.js +33 -24
  39. package/lib/esm/koa/middleware.js.map +1 -1
  40. package/lib/esm/nestjs/index.js +1 -4
  41. package/lib/esm/nestjs/index.js.map +1 -1
  42. package/lib/types/common/client.d.ts +3 -9
  43. package/lib/types/common/client.d.ts.map +1 -1
  44. package/lib/types/common/serverErrorCounter.d.ts +12 -0
  45. package/lib/types/common/serverErrorCounter.d.ts.map +1 -0
  46. package/lib/types/common/types.d.ts +12 -4
  47. package/lib/types/common/types.d.ts.map +1 -1
  48. package/lib/types/common/validationErrorCounter.d.ts +2 -1
  49. package/lib/types/common/validationErrorCounter.d.ts.map +1 -1
  50. package/lib/types/express/index.d.ts +0 -2
  51. package/lib/types/express/index.d.ts.map +1 -1
  52. package/lib/types/express/middleware.d.ts +0 -2
  53. package/lib/types/express/middleware.d.ts.map +1 -1
  54. package/lib/types/fastify/index.d.ts +0 -2
  55. package/lib/types/fastify/index.d.ts.map +1 -1
  56. package/lib/types/fastify/plugin.d.ts +2 -3
  57. package/lib/types/fastify/plugin.d.ts.map +1 -1
  58. package/lib/types/koa/index.d.ts +0 -2
  59. package/lib/types/koa/index.d.ts.map +1 -1
  60. package/lib/types/koa/middleware.d.ts.map +1 -1
  61. package/lib/types/nestjs/index.d.ts +0 -2
  62. package/lib/types/nestjs/index.d.ts.map +1 -1
  63. package/package.json +2 -4
  64. package/lib/cjs/common/index.cjs +0 -13
  65. package/lib/cjs/common/index.cjs.map +0 -1
  66. package/lib/cjs/common/keyRegistry.cjs +0 -162
  67. package/lib/cjs/common/keyRegistry.cjs.map +0 -1
  68. package/lib/cjs/express/auth.cjs +0 -105
  69. package/lib/cjs/express/auth.cjs.map +0 -1
  70. package/lib/cjs/fastify/auth.cjs +0 -105
  71. package/lib/cjs/fastify/auth.cjs.map +0 -1
  72. package/lib/cjs/koa/auth.cjs +0 -113
  73. package/lib/cjs/koa/auth.cjs.map +0 -1
  74. package/lib/cjs/nestjs/auth.cjs +0 -132
  75. package/lib/cjs/nestjs/auth.cjs.map +0 -1
  76. package/lib/esm/common/index.js +0 -1
  77. package/lib/esm/common/index.js.map +0 -1
  78. package/lib/esm/common/keyRegistry.js +0 -155
  79. package/lib/esm/common/keyRegistry.js.map +0 -1
  80. package/lib/esm/express/auth.js +0 -98
  81. package/lib/esm/express/auth.js.map +0 -1
  82. package/lib/esm/fastify/auth.js +0 -98
  83. package/lib/esm/fastify/auth.js.map +0 -1
  84. package/lib/esm/koa/auth.js +0 -106
  85. package/lib/esm/koa/auth.js.map +0 -1
  86. package/lib/esm/nestjs/auth.js +0 -126
  87. package/lib/esm/nestjs/auth.js.map +0 -1
  88. package/lib/types/common/index.d.ts +0 -2
  89. package/lib/types/common/index.d.ts.map +0 -1
  90. package/lib/types/common/keyRegistry.d.ts +0 -29
  91. package/lib/types/common/keyRegistry.d.ts.map +0 -1
  92. package/lib/types/express/auth.d.ts +0 -6
  93. package/lib/types/express/auth.d.ts.map +0 -1
  94. package/lib/types/fastify/auth.d.ts +0 -6
  95. package/lib/types/fastify/auth.d.ts.map +0 -1
  96. package/lib/types/koa/auth.d.ts +0 -6
  97. package/lib/types/koa/auth.d.ts.map +0 -1
  98. package/lib/types/nestjs/auth.d.ts +0 -12
  99. package/lib/types/nestjs/auth.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.cjs","names":["_common","require","_core","_client","_class","Scopes","exports","_len","arguments","length","scopes","Array","_key","SetMetadata","ApitallyApiKeyGuard","reflector","_classCallCheck2","_defineProperty2","_createClass2","key","value","_canActivate","_asyncToGenerator2","_regenerator","mark","_callee","context","customHeader","req","res","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","next","ApitallyApiKeyGuard_1","switchToHttp","getRequest","getResponse","headers","authorization","set","UnauthorizedException","split","toLowerCase","isArray","ForbiddenException","ApitallyClient","getInstance","keyRegistry","get","sent","getHandler","hasScopes","abrupt","stop","canActivate","_x","apply","__decorate","Injectable","Reflector","GetKeyInfo","createParamDecorator","data"],"sources":["../../../src/nestjs/auth.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +0,0 @@
1
- export { KeyCacheBase } from "./keyRegistry.js";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["KeyCacheBase"],"sources":["../../../src/common/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAY,QAAQ,kBAAkB"}
@@ -1,155 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- import { scrypt } from "crypto";
8
- export var KeyInfo = /*#__PURE__*/function () {
9
- function KeyInfo(keyId, apiKeyId) {
10
- var name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
11
- var scopes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
12
- var expiresInSeconds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
13
- _classCallCheck(this, KeyInfo);
14
- _defineProperty(this, "keyId", void 0);
15
- _defineProperty(this, "apiKeyId", void 0);
16
- _defineProperty(this, "name", void 0);
17
- _defineProperty(this, "scopes", void 0);
18
- _defineProperty(this, "expiresAt", void 0);
19
- this.keyId = keyId;
20
- this.apiKeyId = apiKeyId;
21
- this.name = name;
22
- this.scopes = scopes;
23
- this.expiresAt = expiresInSeconds !== null && expiresInSeconds !== undefined ? new Date(Date.now() + expiresInSeconds * 1000) : null;
24
- }
25
- _createClass(KeyInfo, [{
26
- key: "isExpired",
27
- get: function get() {
28
- return this.expiresAt !== null && this.expiresAt < new Date();
29
- }
30
- }, {
31
- key: "hasScopes",
32
- value: function hasScopes(scopes) {
33
- var _this = this;
34
- if (typeof scopes === "string") {
35
- scopes = [scopes];
36
- }
37
- return scopes.every(function (scope) {
38
- return _this.scopes.includes(scope);
39
- });
40
- }
41
- }]);
42
- return KeyInfo;
43
- }();
44
- export var KeyRegistry = /*#__PURE__*/function () {
45
- function KeyRegistry() {
46
- _classCallCheck(this, KeyRegistry);
47
- _defineProperty(this, "salt", void 0);
48
- _defineProperty(this, "keys", void 0);
49
- _defineProperty(this, "usageCounts", void 0);
50
- this.salt = null;
51
- this.keys = new Map();
52
- this.usageCounts = new Map();
53
- }
54
- _createClass(KeyRegistry, [{
55
- key: "get",
56
- value: function () {
57
- var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(apiKey) {
58
- var hash, key;
59
- return _regeneratorRuntime.wrap(function _callee$(_context) {
60
- while (1) switch (_context.prev = _context.next) {
61
- case 0:
62
- _context.next = 2;
63
- return this.hashApiKey(apiKey.trim());
64
- case 2:
65
- hash = _context.sent;
66
- key = this.keys.get(hash);
67
- if (!(!key || key.isExpired)) {
68
- _context.next = 6;
69
- break;
70
- }
71
- return _context.abrupt("return", null);
72
- case 6:
73
- this.usageCounts.set(key.apiKeyId, (this.usageCounts.get(key.apiKeyId) || 0) + 1);
74
- return _context.abrupt("return", key);
75
- case 8:
76
- case "end":
77
- return _context.stop();
78
- }
79
- }, _callee, this);
80
- }));
81
- function get(_x) {
82
- return _get.apply(this, arguments);
83
- }
84
- return get;
85
- }()
86
- }, {
87
- key: "hashApiKey",
88
- value: function () {
89
- var _hashApiKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(apiKey) {
90
- var _this2 = this;
91
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
92
- while (1) switch (_context2.prev = _context2.next) {
93
- case 0:
94
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
95
- if (!_this2.salt) {
96
- throw new Error("Apitally API keys not initialized");
97
- }
98
- scrypt(apiKey, Buffer.from(_this2.salt, "hex"), 32, {
99
- N: 256,
100
- r: 4,
101
- p: 1
102
- }, function (err, derivedKey) {
103
- if (err) reject(err);
104
- resolve(derivedKey.toString("hex"));
105
- });
106
- }));
107
- case 1:
108
- case "end":
109
- return _context2.stop();
110
- }
111
- }, _callee2);
112
- }));
113
- function hashApiKey(_x2) {
114
- return _hashApiKey.apply(this, arguments);
115
- }
116
- return hashApiKey;
117
- }()
118
- }, {
119
- key: "update",
120
- value: function update(keys) {
121
- this.keys.clear();
122
- for (var _i = 0, _Object$entries = Object.entries(keys); _i < _Object$entries.length; _i++) {
123
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
124
- hash = _Object$entries$_i[0],
125
- data = _Object$entries$_i[1];
126
- this.keys.set(hash, new KeyInfo(data["key_id"], data["api_key_id"], data["name"], data["scopes"], data["expires_in_seconds"]));
127
- }
128
- }
129
- }, {
130
- key: "getAndResetUsageCounts",
131
- value: function getAndResetUsageCounts() {
132
- var data = Object.fromEntries(this.usageCounts);
133
- this.usageCounts.clear();
134
- return data;
135
- }
136
- }]);
137
- return KeyRegistry;
138
- }();
139
- export var KeyCacheBase = /*#__PURE__*/function () {
140
- function KeyCacheBase(clientId, env) {
141
- _classCallCheck(this, KeyCacheBase);
142
- _defineProperty(this, "clientId", void 0);
143
- _defineProperty(this, "env", void 0);
144
- this.clientId = clientId;
145
- this.env = env;
146
- }
147
- _createClass(KeyCacheBase, [{
148
- key: "cacheKey",
149
- get: function get() {
150
- return "apitally:keys:".concat(this.clientId, ":").concat(this.env);
151
- }
152
- }]);
153
- return KeyCacheBase;
154
- }();
155
- //# sourceMappingURL=keyRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyRegistry.js","names":["scrypt","KeyInfo","keyId","apiKeyId","name","arguments","length","undefined","scopes","expiresInSeconds","_classCallCheck","_defineProperty","expiresAt","Date","now","_createClass","key","get","value","hasScopes","_this","every","scope","includes","KeyRegistry","salt","keys","Map","usageCounts","_get","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiKey","hash","wrap","_callee$","_context","prev","next","hashApiKey","trim","sent","isExpired","abrupt","set","stop","_x","apply","_hashApiKey","_callee2","_this2","_callee2$","_context2","Promise","resolve","reject","Error","Buffer","from","N","r","p","err","derivedKey","toString","_x2","update","clear","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray","data","getAndResetUsageCounts","fromEntries","KeyCacheBase","clientId","env","concat"],"sources":["../../../src/common/keyRegistry.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { ApitallyClient } from "../common/client.js";
4
- export var requireApiKey = function requireApiKey() {
5
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
6
- scopes = _ref.scopes,
7
- customHeader = _ref.customHeader;
8
- return /*#__PURE__*/function () {
9
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(req, res, next) {
10
- var apiKey, authorizationParts, customHeaderValue, client, keyInfo;
11
- return _regeneratorRuntime.wrap(function _callee$(_context) {
12
- while (1) switch (_context.prev = _context.next) {
13
- case 0:
14
- if (customHeader) {
15
- _context.next = 13;
16
- break;
17
- }
18
- if (req.headers.authorization) {
19
- _context.next = 4;
20
- break;
21
- }
22
- res.status(401).set("WWW-Authenticate", "ApiKey").json({
23
- error: "Missing authorization header"
24
- });
25
- return _context.abrupt("return");
26
- case 4:
27
- authorizationParts = req.headers.authorization.split(" ");
28
- if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
29
- _context.next = 9;
30
- break;
31
- }
32
- apiKey = authorizationParts[1];
33
- _context.next = 11;
34
- break;
35
- case 9:
36
- res.status(401).set("WWW-Authenticate", "ApiKey").json({
37
- error: "Invalid authorization scheme"
38
- });
39
- return _context.abrupt("return");
40
- case 11:
41
- _context.next = 14;
42
- break;
43
- case 13:
44
- if (customHeader) {
45
- customHeaderValue = req.headers[customHeader.toLowerCase()];
46
- if (typeof customHeaderValue === "string") {
47
- apiKey = customHeaderValue;
48
- } else if (Array.isArray(customHeaderValue)) {
49
- apiKey = customHeaderValue[0];
50
- }
51
- }
52
- case 14:
53
- if (apiKey) {
54
- _context.next = 17;
55
- break;
56
- }
57
- res.status(403).json({
58
- error: "Missing API key"
59
- });
60
- return _context.abrupt("return");
61
- case 17:
62
- client = ApitallyClient.getInstance();
63
- _context.next = 20;
64
- return client.keyRegistry.get(apiKey);
65
- case 20:
66
- keyInfo = _context.sent;
67
- if (keyInfo) {
68
- _context.next = 24;
69
- break;
70
- }
71
- res.status(403).json({
72
- error: "Invalid API key"
73
- });
74
- return _context.abrupt("return");
75
- case 24:
76
- if (!(scopes && !keyInfo.hasScopes(scopes))) {
77
- _context.next = 27;
78
- break;
79
- }
80
- res.status(403).json({
81
- error: "Permission denied"
82
- });
83
- return _context.abrupt("return");
84
- case 27:
85
- req.keyInfo = keyInfo;
86
- next();
87
- case 29:
88
- case "end":
89
- return _context.stop();
90
- }
91
- }, _callee);
92
- }));
93
- return function (_x, _x2, _x3) {
94
- return _ref2.apply(this, arguments);
95
- };
96
- }();
97
- };
98
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","names":["ApitallyClient","requireApiKey","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","next","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","headers","authorization","status","set","json","error","abrupt","split","toLowerCase","Array","isArray","getInstance","keyRegistry","get","sent","hasScopes","stop","_x","_x2","_x3","apply"],"sources":["../../../src/express/auth.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { ApitallyClient } from "../common/client.js";
4
- export var requireApiKey = function requireApiKey() {
5
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
6
- scopes = _ref.scopes,
7
- customHeader = _ref.customHeader;
8
- return /*#__PURE__*/function () {
9
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(request, reply, done) {
10
- var apiKey, authorizationParts, customHeaderValue, client, keyInfo;
11
- return _regeneratorRuntime.wrap(function _callee$(_context) {
12
- while (1) switch (_context.prev = _context.next) {
13
- case 0:
14
- if (customHeader) {
15
- _context.next = 13;
16
- break;
17
- }
18
- if (request.headers.authorization) {
19
- _context.next = 4;
20
- break;
21
- }
22
- reply.code(401).header("WWW-Authenticate", "ApiKey").send({
23
- error: "Missing authorization header"
24
- });
25
- return _context.abrupt("return");
26
- case 4:
27
- authorizationParts = request.headers.authorization.split(" ");
28
- if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
29
- _context.next = 9;
30
- break;
31
- }
32
- apiKey = authorizationParts[1];
33
- _context.next = 11;
34
- break;
35
- case 9:
36
- reply.code(401).header("WWW-Authenticate", "ApiKey").send({
37
- error: "Invalid authorization scheme"
38
- });
39
- return _context.abrupt("return");
40
- case 11:
41
- _context.next = 14;
42
- break;
43
- case 13:
44
- if (customHeader) {
45
- customHeaderValue = request.headers[customHeader.toLowerCase()];
46
- if (typeof customHeaderValue === "string") {
47
- apiKey = customHeaderValue;
48
- } else if (Array.isArray(customHeaderValue)) {
49
- apiKey = customHeaderValue[0];
50
- }
51
- }
52
- case 14:
53
- if (apiKey) {
54
- _context.next = 17;
55
- break;
56
- }
57
- reply.code(403).send({
58
- error: "Missing API key"
59
- });
60
- return _context.abrupt("return");
61
- case 17:
62
- client = ApitallyClient.getInstance();
63
- _context.next = 20;
64
- return client.keyRegistry.get(apiKey);
65
- case 20:
66
- keyInfo = _context.sent;
67
- if (keyInfo) {
68
- _context.next = 24;
69
- break;
70
- }
71
- reply.code(403).send({
72
- error: "Invalid API key"
73
- });
74
- return _context.abrupt("return");
75
- case 24:
76
- if (!(scopes && !keyInfo.hasScopes(scopes))) {
77
- _context.next = 27;
78
- break;
79
- }
80
- reply.code(403).send({
81
- error: "Permission denied"
82
- });
83
- return _context.abrupt("return");
84
- case 27:
85
- request.keyInfo = keyInfo;
86
- done();
87
- case 29:
88
- case "end":
89
- return _context.stop();
90
- }
91
- }, _callee);
92
- }));
93
- return function (_x, _x2, _x3) {
94
- return _ref2.apply(this, arguments);
95
- };
96
- }();
97
- };
98
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","names":["ApitallyClient","requireApiKey","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","request","reply","done","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","next","headers","authorization","code","header","send","error","abrupt","split","toLowerCase","Array","isArray","getInstance","keyRegistry","get","sent","hasScopes","stop","_x","_x2","_x3","apply"],"sources":["../../../src/fastify/auth.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { ApitallyClient } from "../common/client.js";
4
- export var requireApiKey = function requireApiKey() {
5
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
6
- scopes = _ref.scopes,
7
- customHeader = _ref.customHeader;
8
- return /*#__PURE__*/function () {
9
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ctx, next) {
10
- var apiKey, authorizationParts, customHeaderValue, client, keyInfo;
11
- return _regeneratorRuntime.wrap(function _callee$(_context) {
12
- while (1) switch (_context.prev = _context.next) {
13
- case 0:
14
- if (customHeader) {
15
- _context.next = 17;
16
- break;
17
- }
18
- if (ctx.headers.authorization) {
19
- _context.next = 6;
20
- break;
21
- }
22
- ctx.status = 401;
23
- ctx.set("WWW-Authenticate", "ApiKey");
24
- ctx.body = {
25
- error: "Missing authorization header"
26
- };
27
- return _context.abrupt("return");
28
- case 6:
29
- authorizationParts = ctx.headers.authorization.split(" ");
30
- if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
31
- _context.next = 11;
32
- break;
33
- }
34
- apiKey = authorizationParts[1];
35
- _context.next = 15;
36
- break;
37
- case 11:
38
- ctx.status = 401;
39
- ctx.set("WWW-Authenticate", "ApiKey");
40
- ctx.body = {
41
- error: "Invalid authorization scheme"
42
- };
43
- return _context.abrupt("return");
44
- case 15:
45
- _context.next = 18;
46
- break;
47
- case 17:
48
- if (customHeader) {
49
- customHeaderValue = ctx.headers[customHeader.toLowerCase()];
50
- if (typeof customHeaderValue === "string") {
51
- apiKey = customHeaderValue;
52
- } else if (Array.isArray(customHeaderValue)) {
53
- apiKey = customHeaderValue[0];
54
- }
55
- }
56
- case 18:
57
- if (apiKey) {
58
- _context.next = 22;
59
- break;
60
- }
61
- ctx.status = 403;
62
- ctx.body = {
63
- error: "Missing API key"
64
- };
65
- return _context.abrupt("return");
66
- case 22:
67
- client = ApitallyClient.getInstance();
68
- _context.next = 25;
69
- return client.keyRegistry.get(apiKey);
70
- case 25:
71
- keyInfo = _context.sent;
72
- if (keyInfo) {
73
- _context.next = 30;
74
- break;
75
- }
76
- ctx.status = 403;
77
- ctx.body = {
78
- error: "Invalid API key"
79
- };
80
- return _context.abrupt("return");
81
- case 30:
82
- if (!(scopes && !keyInfo.hasScopes(scopes))) {
83
- _context.next = 34;
84
- break;
85
- }
86
- ctx.status = 403;
87
- ctx.body = {
88
- error: "Permission denied"
89
- };
90
- return _context.abrupt("return");
91
- case 34:
92
- ctx.state.keyInfo = keyInfo;
93
- _context.next = 37;
94
- return next();
95
- case 37:
96
- case "end":
97
- return _context.stop();
98
- }
99
- }, _callee);
100
- }));
101
- return function (_x, _x2) {
102
- return _ref2.apply(this, arguments);
103
- };
104
- }();
105
- };
106
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","names":["ApitallyClient","requireApiKey","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ctx","next","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","headers","authorization","status","set","body","error","abrupt","split","toLowerCase","Array","isArray","getInstance","keyRegistry","get","sent","hasScopes","state","stop","_x","_x2","apply"],"sources":["../../../src/koa/auth.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,126 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
- import _typeof from "@babel/runtime/helpers/typeof";
6
- var _class;
7
- import _regeneratorRuntime from "@babel/runtime/regenerator";
8
- var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
9
- var c = arguments.length,
10
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
11
- d;
12
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);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;
13
- return c > 3 && r && Object.defineProperty(target, key, r), r;
14
- };
15
- var __metadata = this && this.__metadata || function (k, v) {
16
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17
- };
18
- var ApitallyApiKeyGuard_1;
19
- import { ForbiddenException, Injectable, SetMetadata, UnauthorizedException, createParamDecorator } from "@nestjs/common";
20
- import { Reflector } from "@nestjs/core";
21
- import { ApitallyClient } from "../common/client.js";
22
- export var Scopes = function Scopes() {
23
- for (var _len = arguments.length, scopes = new Array(_len), _key = 0; _key < _len; _key++) {
24
- scopes[_key] = arguments[_key];
25
- }
26
- return SetMetadata("scopes", scopes);
27
- };
28
- var ApitallyApiKeyGuard = (_class = /*#__PURE__*/function () {
29
- function ApitallyApiKeyGuard(reflector) {
30
- _classCallCheck(this, ApitallyApiKeyGuard);
31
- _defineProperty(this, "reflector", void 0);
32
- this.reflector = reflector;
33
- }
34
- _createClass(ApitallyApiKeyGuard, [{
35
- key: "canActivate",
36
- value: function () {
37
- var _canActivate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(context) {
38
- var customHeader, req, res, apiKey, authorizationParts, customHeaderValue, client, keyInfo, scopes;
39
- return _regeneratorRuntime.wrap(function _callee$(_context) {
40
- while (1) switch (_context.prev = _context.next) {
41
- case 0:
42
- customHeader = ApitallyApiKeyGuard_1.customHeader;
43
- req = context.switchToHttp().getRequest();
44
- res = context.switchToHttp().getResponse();
45
- if (customHeader) {
46
- _context.next = 16;
47
- break;
48
- }
49
- if (req.headers.authorization) {
50
- _context.next = 7;
51
- break;
52
- }
53
- res.set("WWW-Authenticate", "ApiKey");
54
- throw new UnauthorizedException("Missing authorization header");
55
- case 7:
56
- authorizationParts = req.headers.authorization.split(" ");
57
- if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
58
- _context.next = 12;
59
- break;
60
- }
61
- apiKey = authorizationParts[1];
62
- _context.next = 14;
63
- break;
64
- case 12:
65
- res.set("WWW-Authenticate", "ApiKey");
66
- throw new UnauthorizedException("Invalid authorization scheme");
67
- case 14:
68
- _context.next = 17;
69
- break;
70
- case 16:
71
- if (customHeader) {
72
- customHeaderValue = req.headers[customHeader.toLowerCase()];
73
- if (typeof customHeaderValue === "string") {
74
- apiKey = customHeaderValue;
75
- } else if (Array.isArray(customHeaderValue)) {
76
- apiKey = customHeaderValue[0];
77
- }
78
- }
79
- case 17:
80
- if (apiKey) {
81
- _context.next = 19;
82
- break;
83
- }
84
- throw new ForbiddenException("Missing API key");
85
- case 19:
86
- client = ApitallyClient.getInstance();
87
- _context.next = 22;
88
- return client.keyRegistry.get(apiKey);
89
- case 22:
90
- keyInfo = _context.sent;
91
- if (keyInfo) {
92
- _context.next = 25;
93
- break;
94
- }
95
- throw new ForbiddenException("Invalid API key");
96
- case 25:
97
- scopes = this.reflector.get("scopes", context.getHandler());
98
- if (!(scopes && !keyInfo.hasScopes(scopes))) {
99
- _context.next = 28;
100
- break;
101
- }
102
- throw new ForbiddenException("Permission denied");
103
- case 28:
104
- req.keyInfo = keyInfo;
105
- return _context.abrupt("return", true);
106
- case 30:
107
- case "end":
108
- return _context.stop();
109
- }
110
- }, _callee, this);
111
- }));
112
- function canActivate(_x) {
113
- return _canActivate.apply(this, arguments);
114
- }
115
- return canActivate;
116
- }()
117
- }]);
118
- return ApitallyApiKeyGuard;
119
- }(), ApitallyApiKeyGuard_1 = _class, _defineProperty(_class, "customHeader", void 0), _class);
120
- ApitallyApiKeyGuard = ApitallyApiKeyGuard_1 = __decorate([Injectable(), __metadata("design:paramtypes", [Reflector])], ApitallyApiKeyGuard);
121
- export { ApitallyApiKeyGuard };
122
- export var GetKeyInfo = createParamDecorator(function (data, context) {
123
- var req = context.switchToHttp().getRequest();
124
- return req.keyInfo;
125
- });
126
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","names":["ForbiddenException","Injectable","SetMetadata","UnauthorizedException","createParamDecorator","Reflector","ApitallyClient","Scopes","_len","arguments","length","scopes","Array","_key","ApitallyApiKeyGuard","_class","reflector","_classCallCheck","_defineProperty","_createClass","key","value","_canActivate","_asyncToGenerator","_regeneratorRuntime","mark","_callee","context","customHeader","req","res","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","next","ApitallyApiKeyGuard_1","switchToHttp","getRequest","getResponse","headers","authorization","set","split","toLowerCase","isArray","getInstance","keyRegistry","get","sent","getHandler","hasScopes","abrupt","stop","canActivate","_x","apply","__decorate","GetKeyInfo","data"],"sources":["../../../src/nestjs/auth.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAGEA,kBAAkB,EAClBC,UAAU,EACVC,WAAW,EACXC,qBAAqB,EACrBC,oBAAoB,QACf,gBAAgB;AACvB,SAASC,SAAS,QAAQ,cAAc;AAGxC,SAASC,cAAc,QAAQ,qBAAqB;AAGpD,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,MAAgB,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAhBF,MAAgB,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAAKX,WAAW,CAAC,QAAQ,EAAES,MAAM,CAAC;AAAA;AAGrE,IAAMG,mBAAmB,IAAAC,MAAA;EAG9B,SAAAD,oBAAoBE,SAAoB;IAAAC,eAAA,OAAAH,mBAAA;IAAAI,eAAA;IAApB,KAAAF,SAAS,GAATA,SAAS;EAAc;EAACG,YAAA,CAAAL,mBAAA;IAAAM,GAAA;IAAAC,KAAA;MAAA,IAAAC,YAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAE5C,SAAAC,QAAkBC,OAAyB;QAAA,IAAAC,YAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,MAAA,EAAAC,kBAAA,EAAAC,iBAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAxB,MAAA;QAAA,OAAAa,mBAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACnCZ,YAAY,GAAGa,qBAAmB,CAACb,YAAY;cAC/CC,GAAG,GAAGF,OAAO,CAACe,YAAY,EAAE,CAACC,UAAU,EAAW;cAClDb,GAAG,GAAGH,OAAO,CAACe,YAAY,EAAE,CAACE,WAAW,EAAY;cAAA,IAGrDhB,YAAY;gBAAAU,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,IACVX,GAAG,CAACgB,OAAO,CAACC,aAAa;gBAAAR,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAC5BV,GAAG,CAACiB,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC;cAAC,MAChC,IAAI5C,qBAAqB,CAAC,8BAA8B,CAAC;YAAA;cAE3D6B,kBAAkB,GAAGH,GAAG,CAACgB,OAAO,CAACC,aAAa,CAACE,KAAK,CAAC,GAAG,CAAC;cAAA,MAE7DhB,kBAAkB,CAACtB,MAAM,KAAK,CAAC,IAC/BsB,kBAAkB,CAAC,CAAC,CAAC,CAACiB,WAAW,EAAE,KAAK,QAAQ;gBAAAX,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAEhDT,MAAM,GAAGC,kBAAkB,CAAC,CAAC,CAAC;cAACM,QAAA,CAAAE,IAAA;cAAA;YAAA;cAE/BV,GAAG,CAACiB,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC;cAAC,MAChC,IAAI5C,qBAAqB,CAAC,8BAA8B,CAAC;YAAA;cAAAmC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAE5D,IAAIZ,YAAY,EAAE;gBACjBK,iBAAiB,GAAGJ,GAAG,CAACgB,OAAO,CAACjB,YAAY,CAACqB,WAAW,EAAE,CAAC;gBACjE,IAAI,OAAOhB,iBAAiB,KAAK,QAAQ,EAAE;kBACzCF,MAAM,GAAGE,iBAAiB;gBAC5B,CAAC,MAAM,IAAIrB,KAAK,CAACsC,OAAO,CAACjB,iBAAiB,CAAC,EAAE;kBAC3CF,MAAM,GAAGE,iBAAiB,CAAC,CAAC,CAAC;gBAC/B;cACF;YAAC;cAAA,IAEIF,MAAM;gBAAAO,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MACH,IAAIxC,kBAAkB,CAAC,iBAAiB,CAAC;YAAA;cAG3CkC,MAAM,GAAG5B,cAAc,CAAC6C,WAAW,EAAE;cAAAb,QAAA,CAAAE,IAAA;cAAA,OACrBN,MAAM,CAACkB,WAAW,CAACC,GAAG,CAACtB,MAAM,CAAC;YAAA;cAA9CI,OAAO,GAAAG,QAAA,CAAAgB,IAAA;cAAA,IACRnB,OAAO;gBAAAG,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MACJ,IAAIxC,kBAAkB,CAAC,iBAAiB,CAAC;YAAA;cAE3CW,MAAM,GAAG,IAAI,CAACK,SAAS,CAACqC,GAAG,CAAW,QAAQ,EAAE1B,OAAO,CAAC4B,UAAU,EAAE,CAAC;cAAA,MACvE5C,MAAM,IAAI,CAACwB,OAAO,CAACqB,SAAS,CAAC7C,MAAM,CAAC;gBAAA2B,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MAChC,IAAIxC,kBAAkB,CAAC,mBAAmB,CAAC;YAAA;cAGnD6B,GAAG,CAACM,OAAO,GAAGA,OAAO;cAAC,OAAAG,QAAA,CAAAmB,MAAA,WACf,IAAI;YAAA;YAAA;cAAA,OAAAnB,QAAA,CAAAoB,IAAA;UAAA;QAAA,GAAAhC,OAAA;MAAA,CACZ;MAAA,SAAAiC,YAAAC,EAAA;QAAA,OAAAtC,YAAA,CAAAuC,KAAA,OAAApD,SAAA;MAAA;MAAA,OAAAkD,WAAA;IAAA;EAAA;EAAA,OAAA7C,mBAAA;AAAA,K,wFACF;AApDYA,mBAAmB,GAAA2B,qBAAA,GAAAqB,UAAA,EAD/B7D,UAAU,EAAE,E,iCAIoBI,SAAS,G,EAH7BS,mBAAmB,CAoD/B;;AAED,OAAO,IAAMiD,UAAU,GAAG3D,oBAAoB,CAC5C,UAAC4D,IAAa,EAAErC,OAAyB,EAAI;EAC3C,IAAME,GAAG,GAAGF,OAAO,CAACe,YAAY,EAAE,CAACC,UAAU,EAAW;EACxD,OAAOd,GAAG,CAACM,OAAO;AACpB,CAAC,CACF"}
@@ -1,2 +0,0 @@
1
- export { KeyCacheBase } from "./keyRegistry.js";
2
- //# sourceMappingURL=index.d.ts.map