@or-sdk/authorizer 0.24.17 → 0.24.18

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 (133) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +12 -32
  3. package/dist/cjs/Basic/BasicCollection.js +260 -27
  4. package/dist/cjs/Basic/BasicCollection.js.map +1 -1
  5. package/dist/cjs/Basic/index.js +21 -0
  6. package/dist/cjs/Basic/index.js.map +1 -0
  7. package/dist/cjs/Basic/utils/createAuthKey.js +5 -1
  8. package/dist/cjs/Basic/utils/createAuthKey.js.map +1 -1
  9. package/dist/cjs/OAuth/OAuth.js +114 -131
  10. package/dist/cjs/OAuth/OAuth.js.map +1 -1
  11. package/dist/cjs/OAuth/index.js +21 -0
  12. package/dist/cjs/OAuth/index.js.map +1 -0
  13. package/dist/cjs/OAuth/types.js.map +1 -1
  14. package/dist/cjs/OAuth/utils/createAuthKey.js +5 -1
  15. package/dist/cjs/OAuth/utils/createAuthKey.js.map +1 -1
  16. package/dist/cjs/OAuth/utils/createOAuthHelper.js +379 -0
  17. package/dist/cjs/OAuth/utils/createOAuthHelper.js.map +1 -0
  18. package/dist/cjs/OAuthCollection/OAuthCollection.js +312 -0
  19. package/dist/cjs/OAuthCollection/OAuthCollection.js.map +1 -0
  20. package/dist/cjs/OAuthCollection/index.js +21 -0
  21. package/dist/cjs/OAuthCollection/index.js.map +1 -0
  22. package/dist/cjs/Token/TokenCollection.js +237 -26
  23. package/dist/cjs/Token/TokenCollection.js.map +1 -1
  24. package/dist/cjs/Token/index.js +21 -0
  25. package/dist/cjs/Token/index.js.map +1 -0
  26. package/dist/cjs/Token/utils/createAuthKey.js +5 -1
  27. package/dist/cjs/Token/utils/createAuthKey.js.map +1 -1
  28. package/dist/cjs/constants.js +2 -1
  29. package/dist/cjs/constants.js.map +1 -1
  30. package/dist/cjs/index.js +9 -13
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/esm/Basic/BasicCollection.js +183 -23
  33. package/dist/esm/Basic/BasicCollection.js.map +1 -1
  34. package/dist/esm/Basic/index.js +3 -0
  35. package/dist/esm/Basic/index.js.map +1 -0
  36. package/dist/esm/Basic/utils/createAuthKey.js +3 -0
  37. package/dist/esm/Basic/utils/createAuthKey.js.map +1 -1
  38. package/dist/esm/OAuth/OAuth.js +73 -107
  39. package/dist/esm/OAuth/OAuth.js.map +1 -1
  40. package/dist/esm/OAuth/index.js +3 -0
  41. package/dist/esm/OAuth/index.js.map +1 -0
  42. package/dist/esm/OAuth/types.js.map +1 -1
  43. package/dist/esm/OAuth/utils/createAuthKey.js +3 -0
  44. package/dist/esm/OAuth/utils/createAuthKey.js.map +1 -1
  45. package/dist/esm/OAuth/utils/createOAuthHelper.js +262 -0
  46. package/dist/esm/OAuth/utils/createOAuthHelper.js.map +1 -0
  47. package/dist/esm/OAuthCollection/OAuthCollection.js +190 -0
  48. package/dist/esm/OAuthCollection/OAuthCollection.js.map +1 -0
  49. package/dist/esm/OAuthCollection/index.js +3 -0
  50. package/dist/esm/OAuthCollection/index.js.map +1 -0
  51. package/dist/esm/Token/TokenCollection.js +161 -23
  52. package/dist/esm/Token/TokenCollection.js.map +1 -1
  53. package/dist/esm/Token/index.js +3 -0
  54. package/dist/esm/Token/index.js.map +1 -0
  55. package/dist/esm/Token/utils/createAuthKey.js +3 -0
  56. package/dist/esm/Token/utils/createAuthKey.js.map +1 -1
  57. package/dist/esm/constants.js +1 -0
  58. package/dist/esm/constants.js.map +1 -1
  59. package/dist/esm/index.js +4 -6
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/types/Basic/BasicCollection.d.ts +20 -8
  62. package/dist/types/Basic/BasicCollection.d.ts.map +1 -1
  63. package/dist/types/Basic/index.d.ts +3 -0
  64. package/dist/types/Basic/index.d.ts.map +1 -0
  65. package/dist/types/Basic/types.d.ts +19 -8
  66. package/dist/types/Basic/types.d.ts.map +1 -1
  67. package/dist/types/Basic/utils/createAuthKey.d.ts +1 -0
  68. package/dist/types/Basic/utils/createAuthKey.d.ts.map +1 -1
  69. package/dist/types/OAuth/OAuth.d.ts +9 -6
  70. package/dist/types/OAuth/OAuth.d.ts.map +1 -1
  71. package/dist/types/OAuth/index.d.ts +3 -0
  72. package/dist/types/OAuth/index.d.ts.map +1 -0
  73. package/dist/types/OAuth/types.d.ts +93 -9
  74. package/dist/types/OAuth/types.d.ts.map +1 -1
  75. package/dist/types/OAuth/utils/createAuthKey.d.ts +1 -0
  76. package/dist/types/OAuth/utils/createAuthKey.d.ts.map +1 -1
  77. package/dist/types/OAuth/utils/createOAuthHelper.d.ts +33 -0
  78. package/dist/types/OAuth/utils/createOAuthHelper.d.ts.map +1 -0
  79. package/dist/types/OAuthCollection/OAuthCollection.d.ts +27 -0
  80. package/dist/types/OAuthCollection/OAuthCollection.d.ts.map +1 -0
  81. package/dist/types/OAuthCollection/index.d.ts +3 -0
  82. package/dist/types/OAuthCollection/index.d.ts.map +1 -0
  83. package/dist/types/Token/TokenCollection.d.ts +12 -8
  84. package/dist/types/Token/TokenCollection.d.ts.map +1 -1
  85. package/dist/types/Token/index.d.ts +3 -0
  86. package/dist/types/Token/index.d.ts.map +1 -0
  87. package/dist/types/Token/types.d.ts +16 -0
  88. package/dist/types/Token/types.d.ts.map +1 -1
  89. package/dist/types/Token/utils/createAuthKey.d.ts +1 -0
  90. package/dist/types/Token/utils/createAuthKey.d.ts.map +1 -1
  91. package/dist/types/constants.d.ts +1 -0
  92. package/dist/types/constants.d.ts.map +1 -1
  93. package/dist/types/index.d.ts +4 -6
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/package.json +39 -2
  96. package/src/Basic/BasicCollection.ts +295 -32
  97. package/src/Basic/index.ts +3 -0
  98. package/src/Basic/types.ts +20 -15
  99. package/src/Basic/utils/createAuthKey.ts +4 -0
  100. package/src/OAuth/OAuth.ts +148 -174
  101. package/src/OAuth/index.ts +3 -0
  102. package/src/OAuth/types.ts +198 -13
  103. package/src/OAuth/utils/createAuthKey.ts +8 -0
  104. package/src/OAuth/utils/createOAuthHelper.ts +374 -0
  105. package/src/OAuthCollection/OAuthCollection.ts +348 -0
  106. package/src/OAuthCollection/index.ts +3 -0
  107. package/src/Token/TokenCollection.ts +258 -31
  108. package/src/Token/index.ts +3 -0
  109. package/src/Token/types.ts +17 -0
  110. package/src/Token/utils/createAuthKey.ts +4 -0
  111. package/src/constants.ts +1 -0
  112. package/src/index.ts +4 -8
  113. package/dist/cjs/Basic/BasicAuth.js +0 -162
  114. package/dist/cjs/Basic/BasicAuth.js.map +0 -1
  115. package/dist/cjs/OAuth/OAuthCollection.js +0 -138
  116. package/dist/cjs/OAuth/OAuthCollection.js.map +0 -1
  117. package/dist/cjs/Token/TokenAuth.js +0 -140
  118. package/dist/cjs/Token/TokenAuth.js.map +0 -1
  119. package/dist/esm/Basic/BasicAuth.js +0 -88
  120. package/dist/esm/Basic/BasicAuth.js.map +0 -1
  121. package/dist/esm/OAuth/OAuthCollection.js +0 -69
  122. package/dist/esm/OAuth/OAuthCollection.js.map +0 -1
  123. package/dist/esm/Token/TokenAuth.js +0 -66
  124. package/dist/esm/Token/TokenAuth.js.map +0 -1
  125. package/dist/types/Basic/BasicAuth.d.ts +0 -20
  126. package/dist/types/Basic/BasicAuth.d.ts.map +0 -1
  127. package/dist/types/OAuth/OAuthCollection.d.ts +0 -15
  128. package/dist/types/OAuth/OAuthCollection.d.ts.map +0 -1
  129. package/dist/types/Token/TokenAuth.d.ts +0 -12
  130. package/dist/types/Token/TokenAuth.d.ts.map +0 -1
  131. package/src/Basic/BasicAuth.ts +0 -129
  132. package/src/OAuth/OAuthCollection.ts +0 -118
  133. package/src/Token/TokenAuth.ts +0 -102
@@ -1,69 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { KeyValueStorage } from '@or-sdk/key-value-storage';
11
- import { OAuth } from './OAuth';
12
- export class OAuthCollection {
13
- constructor(params) {
14
- const { token, discoveryUrl, serviceName, keyValueCollection } = params;
15
- this.localToken = token;
16
- this.localDiscoveryUrl = discoveryUrl;
17
- this.serviceName = serviceName;
18
- this.keyValueCollection = keyValueCollection || serviceName;
19
- this.keyValueStorage = new KeyValueStorage({
20
- token,
21
- discoveryUrl,
22
- });
23
- }
24
- listAuthorizations() {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const { items: records } = yield this.keyValueStorage.listKeys(this.keyValueCollection);
27
- return records.map((record) => record.key);
28
- });
29
- }
30
- listOAuthApps() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const appsStorageRecord = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, '__authorizer_apps');
33
- if (!appsStorageRecord.value) {
34
- return [];
35
- }
36
- const appsRecords = appsStorageRecord.value;
37
- return appsRecords.map((record) => (Object.assign({ name: record.label }, record.value)));
38
- });
39
- }
40
- getAuthorization(key) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, key);
43
- if (!record.value) {
44
- throw new Error('This authorization does not exist');
45
- }
46
- return new OAuth({
47
- serviceName: this.serviceName,
48
- keyValueCollection: this.keyValueCollection,
49
- authKey: key,
50
- discoveryUrl: this.localDiscoveryUrl,
51
- token: this.localToken,
52
- });
53
- });
54
- }
55
- createAuthorization(params) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- return yield OAuth.create({
58
- discoveryUrl: this.localDiscoveryUrl,
59
- token: this.localToken,
60
- appId: params.appId,
61
- keyValueCollection: this.keyValueCollection,
62
- scope: params.scope,
63
- serviceName: this.serviceName,
64
- authName: params.authName,
65
- });
66
- });
67
- }
68
- }
69
- //# sourceMappingURL=OAuthCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OAuthCollection.js","sourceRoot":"","sources":["../../../src/OAuth/OAuthCollection.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,MAAM,OAAO,eAAe;IAO1B,YAAY,MAA6B;QACvC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;QAExE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,WAAW,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,KAAK;YACL,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAKY,kBAAkB;;YAC7B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC5D,IAAI,CAAC,kBAAkB,CACxB,CAAC;YAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;KAAA;IAKY,aAAa;;YACxB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAChE,IAAI,CAAC,kBAAkB,EACvB,mBAAmB,CACpB,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;gBAC5B,OAAO,EAAE,CAAC;aACX;YAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAGpC,CAAC;YAEH,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBACjC,IAAI,EAAE,MAAM,CAAC,KAAK,IACf,MAAM,CAAC,KAAK,EACf,CAAC,CAAC;QACN,CAAC;KAAA;IAKY,gBAAgB,CAAC,GAAW;;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CACrD,IAAI,CAAC,kBAAkB,EACvB,GAAG,CACJ,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACtD;YAED,OAAO,IAAI,KAAK,CAAC;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;aACvB,CAAC,CAAC;QACL,CAAC;KAAA;IAwBY,mBAAmB,CAC9B,MAAqC;;YAErC,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC;gBACxB,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
@@ -1,66 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { KeyValueStorage } from '@or-sdk/key-value-storage';
11
- import { v4 as uuidv4 } from 'uuid';
12
- import { createAuthKey } from './utils/createAuthKey';
13
- export class TokenAuth {
14
- constructor(params) {
15
- const { token, discoveryUrl, authKey, serviceName } = params;
16
- this.authKey = authKey;
17
- this.serviceName = serviceName;
18
- this.keyValueStorage = new KeyValueStorage({
19
- token,
20
- discoveryUrl,
21
- });
22
- }
23
- static create(params) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- if (!(params.serviceName && params.authName && params.credentials && params.discoveryUrl && params.token)) {
26
- throw new Error('Invalid config passed');
27
- }
28
- const { serviceName, authName, credentials, discoveryUrl, token } = params;
29
- const keyValueStorage = new KeyValueStorage({
30
- token,
31
- discoveryUrl,
32
- });
33
- const id = uuidv4();
34
- const authKey = createAuthKey(id, authName);
35
- const authData = Object.assign(Object.assign({}, credentials), { auth_name: authName, date_created: new Date().toISOString() });
36
- yield keyValueStorage.setValueByKey(serviceName, authKey, authData);
37
- return new TokenAuth({
38
- serviceName,
39
- authKey,
40
- discoveryUrl,
41
- token,
42
- });
43
- });
44
- }
45
- update(newCredentials) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const data = yield this.getAuthData();
48
- const updatedData = Object.assign(Object.assign({}, data), newCredentials);
49
- const response = yield this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
50
- const updatedRecord = response.value;
51
- return updatedRecord;
52
- });
53
- }
54
- getAuthData() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
57
- return value;
58
- });
59
- }
60
- delete() {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- yield this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
63
- });
64
- }
65
- }
66
- //# sourceMappingURL=TokenAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenAuth.js","sourceRoot":"","sources":["../../../src/Token/TokenAuth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,OAAO,SAAS;IAKpB,YAAY,MAAuB;QACjC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,KAAK;YACL,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAkBD,MAAM,CAAO,MAAM,CAAC,MAA6B;;YAC/C,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YAE3E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;gBAC1C,KAAK;gBACL,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE5C,MAAM,QAAQ,mCACT,WAAW,KACd,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GACvC,CAAC;YAEF,MAAM,eAAe,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEpE,OAAO,IAAI,SAAS,CAAC;gBACnB,WAAW;gBACX,OAAO;gBACP,YAAY;gBACZ,KAAK;aACN,CAAC,CAAC;QACL,CAAC;KAAA;IAKY,MAAM,CAAC,cAAuC;;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEtC,MAAM,WAAW,mCACZ,IAAI,GACJ,cAAc,CAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEvG,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,OAAO,aAA8B,CAAC;QACxC,CAAC;KAAA;IAKY,WAAW;;YACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3F,OAAO,KAAsB,CAAC;QAChC,CAAC;KAAA;IAKY,MAAM;;YACjB,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;KAAA;CACF"}
@@ -1,20 +0,0 @@
1
- import { BasicAuthConfig, BasicAuthData, CreateBasicAuthConfig } from './types';
2
- export declare class BasicAuth {
3
- private readonly authKey;
4
- private readonly serviceName;
5
- private readonly keyValueStorage;
6
- constructor(params: BasicAuthConfig);
7
- static encodeAccessToken(username: string, password: string): string;
8
- static decodeAccessToken(token: string): {
9
- username: string;
10
- password: string;
11
- };
12
- static create(params: CreateBasicAuthConfig): Promise<BasicAuth>;
13
- update(newCredentials: {
14
- username?: string;
15
- password?: string;
16
- }): Promise<BasicAuthData>;
17
- getAuthData(): Promise<BasicAuthData>;
18
- delete(): Promise<void>;
19
- }
20
- //# sourceMappingURL=BasicAuth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BasicAuth.d.ts","sourceRoot":"","sources":["../../../src/Basic/BasicAuth.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIhF,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,MAAM,EAAE,eAAe;IAcnC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOpE,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAC;WAuBjE,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkCzD,MAAM,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BzF,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAQrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -1,15 +0,0 @@
1
- import { OAuth } from './OAuth';
2
- import { OAuthCollectionConfig, CreateOAuthInCollectionConfig, CreateOAuthResult, OAuthApp } from './types';
3
- export declare class OAuthCollection {
4
- private readonly serviceName;
5
- private readonly keyValueCollection;
6
- private readonly keyValueStorage;
7
- private readonly localToken;
8
- private readonly localDiscoveryUrl;
9
- constructor(params: OAuthCollectionConfig);
10
- listAuthorizations(): Promise<string[]>;
11
- listOAuthApps(): Promise<OAuthApp[]>;
12
- getAuthorization(key: string): Promise<OAuth>;
13
- createAuthorization(params: CreateOAuthInCollectionConfig): Promise<CreateOAuthResult>;
14
- }
15
- //# sourceMappingURL=OAuthCollection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OAuthCollection.d.ts","sourceRoot":"","sources":["../../../src/OAuth/OAuthCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5G,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAE/B,MAAM,EAAE,qBAAqB;IAgB5B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWvC,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwBpC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAwC7C,mBAAmB,CAC9B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,iBAAiB,CAAC;CAW9B"}
@@ -1,12 +0,0 @@
1
- import { TokenAuthConfig, TokenAuthData, CreateTokenAuthConfig } from './types';
2
- export declare class TokenAuth {
3
- private readonly authKey;
4
- private readonly serviceName;
5
- private readonly keyValueStorage;
6
- constructor(params: TokenAuthConfig);
7
- static create(params: CreateTokenAuthConfig): Promise<TokenAuth>;
8
- update(newCredentials: Record<string, unknown>): Promise<TokenAuthData>;
9
- getAuthData(): Promise<TokenAuthData>;
10
- delete(): Promise<void>;
11
- }
12
- //# sourceMappingURL=TokenAuth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenAuth.d.ts","sourceRoot":"","sources":["../../../src/Token/TokenAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhF,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,MAAM,EAAE,eAAe;WA2BtB,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkCzD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBvE,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAQrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -1,129 +0,0 @@
1
- import { KeyValueStorage } from '@or-sdk/key-value-storage';
2
-
3
- import { v4 as uuidv4 } from 'uuid';
4
-
5
- import { BasicAuthConfig, BasicAuthData, CreateBasicAuthConfig } from './types';
6
-
7
- import { createAuthKey } from './utils/createAuthKey';
8
-
9
- export class BasicAuth {
10
- private readonly authKey: string;
11
- private readonly serviceName: string;
12
- private readonly keyValueStorage: KeyValueStorage;
13
-
14
- constructor(params: BasicAuthConfig) {
15
- const { token, discoveryUrl, authKey, serviceName } = params;
16
-
17
- this.authKey = authKey;
18
- this.serviceName = serviceName;
19
- this.keyValueStorage = new KeyValueStorage({
20
- token,
21
- discoveryUrl,
22
- });
23
- }
24
-
25
- /**
26
- * Encodes username and passoword into Basic authorization token
27
- */
28
- static encodeAccessToken(username: string, password: string): string {
29
- return btoa(`${username}:${password}`);
30
- }
31
-
32
- /**
33
- * Decodes base64 encoded token and parses it to username and password
34
- */
35
- static decodeAccessToken(token: string): {username: string; password: string;} {
36
- const [username, password] = atob(token).split(':');
37
- return {
38
- username,
39
- password,
40
- };
41
- }
42
-
43
- /**
44
- * Creates a new auth record in specified collection with the given config.
45
- * @returns BasicAuth instance connected to created auth
46
- *
47
- * ```typescript
48
- * const basicAuthInstance = await BasicAuth.create({
49
- * token: 'my-account-token-string',
50
- * discoveryUrl: 'discovery.example.onereach.ai',
51
- * serviceName: '__authorization_service_test_service',
52
- * authName: 'my-auth-name',
53
- * username: 'user',
54
- * password: 'pass'
55
- * });
56
- * ```
57
- */
58
- static async create(params: CreateBasicAuthConfig): Promise<BasicAuth> {
59
- if (!(params.serviceName && params.authName && params.username && params.password && params.discoveryUrl && params.token)) {
60
- throw new Error('Invalid config passed');
61
- }
62
-
63
- const { serviceName, authName, username, password, discoveryUrl, token } = params;
64
-
65
- const keyValueStorage = new KeyValueStorage({
66
- token,
67
- discoveryUrl,
68
- });
69
-
70
- const id = uuidv4();
71
- const authKey = createAuthKey(id, authName);
72
-
73
- const authData = {
74
- auth_name: authName,
75
- access_token: BasicAuth.encodeAccessToken(username, password),
76
- date_created: new Date().toISOString(),
77
- };
78
-
79
- await keyValueStorage.setValueByKey(serviceName, authKey, authData);
80
-
81
- return new BasicAuth({
82
- serviceName,
83
- authKey,
84
- discoveryUrl,
85
- token,
86
- });
87
- }
88
-
89
- /**
90
- * Updates username or password
91
- */
92
- public async update(newCredentials: { username?: string; password?: string; }): Promise<BasicAuthData> {
93
- const data = await this.getAuthData();
94
- let { username, password } = BasicAuth.decodeAccessToken(data.access_token);
95
-
96
- if (newCredentials.username) {
97
- username = newCredentials.username;
98
- }
99
- if (newCredentials.password) {
100
- password = newCredentials.password;
101
- }
102
-
103
- const updatedAccessToken = BasicAuth.encodeAccessToken(username, password);
104
- const updatedData = {
105
- ...data,
106
- access_token: updatedAccessToken,
107
- };
108
-
109
- const response = await this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
110
-
111
- const updatedRecord = response.value;
112
- return updatedRecord as BasicAuthData;
113
- }
114
-
115
- /**
116
- * Returns authorization data
117
- */
118
- public async getAuthData(): Promise<BasicAuthData> {
119
- const { value } = await this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
120
- return value as BasicAuthData;
121
- }
122
-
123
- /**
124
- * Deletes authorization from collection
125
- */
126
- public async delete(): Promise<void> {
127
- await this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
128
- }
129
- }
@@ -1,118 +0,0 @@
1
- import { Token } from '@or-sdk/base';
2
- import { KeyValueStorage } from '@or-sdk/key-value-storage';
3
- import { OAuth } from './OAuth';
4
-
5
- import { OAuthCollectionConfig, CreateOAuthInCollectionConfig, CreateOAuthResult, OAuthApp } from './types';
6
-
7
- export class OAuthCollection {
8
- private readonly serviceName: string;
9
- private readonly keyValueCollection: string;
10
- private readonly keyValueStorage: KeyValueStorage;
11
- private readonly localToken: Token;
12
- private readonly localDiscoveryUrl: string;
13
-
14
- constructor(params: OAuthCollectionConfig) {
15
- const { token, discoveryUrl, serviceName, keyValueCollection } = params;
16
-
17
- this.localToken = token;
18
- this.localDiscoveryUrl = discoveryUrl;
19
- this.serviceName = serviceName;
20
- this.keyValueCollection = keyValueCollection || serviceName;
21
- this.keyValueStorage = new KeyValueStorage({
22
- token,
23
- discoveryUrl,
24
- });
25
- }
26
-
27
- /**
28
- * Returns array of auth keys from this collection
29
- */
30
- public async listAuthorizations(): Promise<string[]> {
31
- const { items: records } = await this.keyValueStorage.listKeys(
32
- this.keyValueCollection
33
- );
34
-
35
- return records.map((record) => record.key);
36
- }
37
-
38
- /**
39
- * Returns array of OAuth applications for this service
40
- */
41
- public async listOAuthApps(): Promise<OAuthApp[]> {
42
- const appsStorageRecord = await this.keyValueStorage.getValueByKey(
43
- this.keyValueCollection,
44
- '__authorizer_apps'
45
- );
46
-
47
- if (!appsStorageRecord.value) {
48
- return [];
49
- }
50
-
51
- const appsRecords = appsStorageRecord.value as Array<{
52
- label: string;
53
- value: Omit<OAuthApp, 'name'>;
54
- }>;
55
-
56
- return appsRecords.map((record) => ({
57
- name: record.label,
58
- ...record.value,
59
- }));
60
- }
61
-
62
- /**
63
- * Returns OAuth instance for given key
64
- */
65
- public async getAuthorization(key: string): Promise<OAuth> {
66
- const record = await this.keyValueStorage.getValueByKey(
67
- this.keyValueCollection,
68
- key
69
- );
70
- if (!record.value) {
71
- throw new Error('This authorization does not exist');
72
- }
73
-
74
- return new OAuth({
75
- serviceName: this.serviceName,
76
- keyValueCollection: this.keyValueCollection,
77
- authKey: key,
78
- discoveryUrl: this.localDiscoveryUrl,
79
- token: this.localToken,
80
- });
81
- }
82
-
83
- /**
84
- * Creates a new auth record in current collection with the given config.
85
- * @returns Object with OAuth instance connected to created auth and authorizerUrl to redirect the user to for completing authorization
86
- *
87
- * ```typescript
88
- * const {
89
- * authorizeUrl, // redirect user to this url for completing authorization
90
- * instance // new instance
91
- * } = await oAuthCollectionInstance.createAuthorization({
92
- * authName: 'my-auth-name',
93
- * appId: 'my-app-id',
94
- * });
95
- *
96
- * // if you want to use returned instance, you must call a method that returns a promise that will be resolved when the user completes authorization process
97
- * // if not, you can omit this step
98
- * try {
99
- * await instance.waitForCompletion()
100
- * } catch (e) {
101
- * // will be called if the user does not complete authorization within 5 minutes
102
- * }
103
- * ```
104
- */
105
- public async createAuthorization(
106
- params: CreateOAuthInCollectionConfig,
107
- ): Promise<CreateOAuthResult> {
108
- return await OAuth.create({
109
- discoveryUrl: this.localDiscoveryUrl,
110
- token: this.localToken,
111
- appId: params.appId,
112
- keyValueCollection: this.keyValueCollection,
113
- scope: params.scope,
114
- serviceName: this.serviceName,
115
- authName: params.authName,
116
- });
117
- }
118
- }
@@ -1,102 +0,0 @@
1
- import { KeyValueStorage } from '@or-sdk/key-value-storage';
2
- import { v4 as uuidv4 } from 'uuid';
3
-
4
- import { createAuthKey } from './utils/createAuthKey';
5
-
6
- import { TokenAuthConfig, TokenAuthData, CreateTokenAuthConfig } from './types';
7
-
8
- export class TokenAuth {
9
- private readonly authKey: string;
10
- private readonly serviceName: string;
11
- private readonly keyValueStorage: KeyValueStorage;
12
-
13
- constructor(params: TokenAuthConfig) {
14
- const { token, discoveryUrl, authKey, serviceName } = params;
15
-
16
- this.authKey = authKey;
17
- this.serviceName = serviceName;
18
- this.keyValueStorage = new KeyValueStorage({
19
- token,
20
- discoveryUrl,
21
- });
22
- }
23
-
24
- /**
25
- * Creates a new auth record in specified collection with the given config.
26
- * @returns TokenAuth instance connected to created auth
27
- *
28
- * ```typescript
29
- * const instance = await TokenAuth.create({
30
- * token: 'my-account-token-string',
31
- * discoveryUrl: 'discovery.example.onereach.ai',
32
- * serviceName: '__authorization_service_test_service',
33
- * authName: 'my-auth-name',
34
- * credentials: {
35
- * token: 'secrettoken'
36
- * }
37
- * });
38
- * ```
39
- */
40
- static async create(params: CreateTokenAuthConfig): Promise<TokenAuth> {
41
- if (!(params.serviceName && params.authName && params.credentials && params.discoveryUrl && params.token)) {
42
- throw new Error('Invalid config passed');
43
- }
44
-
45
- const { serviceName, authName, credentials, discoveryUrl, token } = params;
46
-
47
- const keyValueStorage = new KeyValueStorage({
48
- token,
49
- discoveryUrl,
50
- });
51
-
52
- const id = uuidv4();
53
- const authKey = createAuthKey(id, authName);
54
-
55
- const authData = {
56
- ...credentials,
57
- auth_name: authName,
58
- date_created: new Date().toISOString(),
59
- };
60
-
61
- await keyValueStorage.setValueByKey(serviceName, authKey, authData);
62
-
63
- return new TokenAuth({
64
- serviceName,
65
- authKey,
66
- discoveryUrl,
67
- token,
68
- });
69
- }
70
-
71
- /**
72
- * Updates credentials
73
- */
74
- public async update(newCredentials: Record<string, unknown>): Promise<TokenAuthData> {
75
- const data = await this.getAuthData();
76
-
77
- const updatedData = {
78
- ...data,
79
- ...newCredentials,
80
- };
81
-
82
- const response = await this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
83
-
84
- const updatedRecord = response.value;
85
- return updatedRecord as TokenAuthData;
86
- }
87
-
88
- /**
89
- * Returns authorization data
90
- */
91
- public async getAuthData(): Promise<TokenAuthData> {
92
- const { value } = await this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
93
- return value as TokenAuthData;
94
- }
95
-
96
- /**
97
- * Deletes authorization from collection
98
- */
99
- public async delete(): Promise<void> {
100
- await this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
101
- }
102
- }