@or-sdk/authorizer 0.24.18-beta.1914.0 → 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 +43 -5
  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
@@ -8,116 +8,67 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { KeyValueStorage } from '@or-sdk/key-value-storage';
11
- import { EventManager } from '@or-sdk/event-manager';
11
+ import { Providers } from '@or-sdk/providers';
12
12
  import { timeout } from '@or-sdk/base';
13
- import { v4 as uuidv4 } from 'uuid';
14
- import { SERVICE_PROVIDER_PATH, OAUTH_REDIRECT_PROVIDER_PATH, PREDEFINED_APP, TEMPORARY_DATA_EXPIRATION_TIME, AuthStatus, } from '../constants';
15
- import { formatScope } from './utils/formatScope';
13
+ import { SERVICE_PROVIDER_PATH, OAUTH_REDIRECT_PROVIDER_PATH, AuthStatus, } from '../constants';
16
14
  import { isExpired } from './utils/isExpired';
17
15
  import { ServiceDefinition } from './utils/ServiceDefinition';
18
- import { createAuthKey } from './utils/createAuthKey';
16
+ import OAuthCreator from './utils/createOAuthHelper';
19
17
  export class OAuth {
20
18
  constructor(params) {
21
19
  this.status = AuthStatus.READY;
22
- const { token, discoveryUrl, authKey, serviceName, keyValueCollection } = params;
20
+ const { accountId, authKey, authName, discoveryUrl, eventManagerUrl, keyValueCollection, providersAccountId, dynamicCollection, serviceName, token, } = params;
21
+ if (!(authKey && serviceName)) {
22
+ throw new Error('Invalit OAuth params passed.');
23
+ }
24
+ if (!discoveryUrl && !(eventManagerUrl && providersAccountId)) {
25
+ throw new Error('OAuth require Discovery URL or both Event Manager URL and Providers Account ID');
26
+ }
27
+ if (dynamicCollection && !authName) {
28
+ throw new Error('Dynamic authorization require Authorization name.');
29
+ }
23
30
  this.authKey = authKey;
31
+ this.authName = authName;
24
32
  this.serviceName = serviceName;
33
+ this.dynamicCollection = dynamicCollection;
25
34
  this.keyValueCollection = keyValueCollection || serviceName;
26
35
  this.keyValueStorage = new KeyValueStorage({
27
36
  token,
28
37
  discoveryUrl,
38
+ accountId,
29
39
  });
30
- this.eventManager = new EventManager({
40
+ this.providers = new Providers({
31
41
  token,
32
42
  discoveryUrl,
33
- requestAccountId: true,
34
- requestProvidersAccountId: true,
43
+ eventManagerUrl,
44
+ providersAccountId,
35
45
  });
36
46
  }
37
- static create(params) {
47
+ init(params) {
38
48
  return __awaiter(this, void 0, void 0, function* () {
39
- if (!(params.serviceName &&
40
- params.authName &&
41
- params.discoveryUrl &&
42
- params.token &&
43
- params.appId)) {
44
- throw new Error('Invalid config passed');
49
+ this.serviceName = params.serviceName || this.serviceName;
50
+ this.authKey = params.authKey || this.authKey;
51
+ this.authName = params.authName || this.authName;
52
+ this.keyValueCollection = params.keyValueCollection || this.keyValueCollection;
53
+ this.dynamicCollection = params.dynamicCollection || this.dynamicCollection;
54
+ if (this.dynamicCollection && !this.authName) {
55
+ throw new Error('Dynamic collection requires an authName to initialize');
45
56
  }
46
- const { serviceName, authName, discoveryUrl, token, appId, scope } = params;
47
- const keyValueCollection = params.keyValueCollection || serviceName;
48
- const keyValueStorage = new KeyValueStorage({
49
- token,
50
- discoveryUrl,
51
- });
52
- const eventManager = new EventManager({
53
- token,
54
- discoveryUrl,
55
- requestAccountId: true,
56
- requestProvidersAccountId: true,
57
- });
58
- yield eventManager.init();
59
- const serviceDefinitionProviderRoute = `http/${eventManager.providersAccountId}${SERVICE_PROVIDER_PATH}`;
60
- const services = yield eventManager.makeRequest({
61
- method: 'GET',
62
- route: serviceDefinitionProviderRoute,
63
- params: {
64
- type: 'list',
65
- },
66
- });
67
- const currentServiceData = services[serviceName];
68
- const apps = yield keyValueStorage.getValueByKey(keyValueCollection, '__authorizer_apps');
69
- const currentApp = apps.value.find((app) => app.value.appId === appId).value;
70
- const serviceDefinition = new ServiceDefinition(currentServiceData, currentApp.authLinkParams, currentApp.environment);
71
- const id = uuidv4();
72
- const authKey = createAuthKey(id, authName, keyValueCollection, eventManager.currentAccountId);
73
- const additionalBodyData = {};
74
- const additionalHeaders = {};
75
- const emUrl = eventManager.serviceUrl;
76
- const redirectProviderUrl = `${emUrl}/http/${eventManager.providersAccountId}${OAUTH_REDIRECT_PROVIDER_PATH}`;
77
- const authConfigs = Object.assign(Object.assign({}, additionalBodyData), { grant_type: 'authorization_code', redirect_uri: redirectProviderUrl, appId });
78
- if (scope) {
79
- const formattedScope = formatScope(scope, serviceDefinition.scopeType);
80
- authConfigs.scope = formattedScope;
81
- }
82
- const configs = {
83
- [serviceDefinition.requestDataType]: authConfigs,
84
- };
85
- const tempAuthData = {
86
- expiresInDefaultValue: serviceDefinition.expiresInDefaultValue,
87
- urlToExchangeToken: serviceDefinition.exchangeTokenUri,
88
- refreshUri: serviceDefinition.refreshUri,
89
- additionalHeaders,
90
- configs,
91
- isCustomApp: appId !== PREDEFINED_APP,
92
- requestDataType: serviceDefinition.requestDataType,
93
- service: keyValueCollection,
94
- serviceConfigName: serviceName,
95
- name: authName,
96
- displayServiceName: serviceDefinition.displayServiceName,
97
- accountId: eventManager.currentAccountId,
98
- };
99
- const authDataExpire = Date.now() + TEMPORARY_DATA_EXPIRATION_TIME;
100
- yield keyValueStorage.setValueByKey('__authorizer_temp-uuid', id, tempAuthData, authDataExpire);
101
- const authUrl = new URL(serviceDefinition.authorizeUri);
102
- const additionalParams = JSON.parse(serviceDefinition.authRequestAdditionalParams);
103
- Object.entries(additionalParams.queryParams).forEach(([key, value]) => {
104
- authUrl.searchParams.append(key, value);
105
- });
106
- authUrl.searchParams.append('response_type', 'code');
107
- authUrl.searchParams.append('client_id', currentApp.clientId);
108
- authUrl.searchParams.append('redirect_uri', redirectProviderUrl);
109
- authUrl.searchParams.append('state', authKey);
110
- if (scope) {
111
- const formattedScope = formatScope(scope, serviceDefinition.scopeType);
112
- authUrl.searchParams.append('scope', formattedScope);
57
+ if (params.authName && this.dynamicCollection) {
58
+ const collection = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', this.dynamicCollection).then(res => res.value);
59
+ if (!collection) {
60
+ throw new Error('Dynamic collection is invalid');
61
+ }
62
+ this.authKey = collection.authorizations[this.authName];
113
63
  }
114
- const authorizeUrl = authUrl.href;
115
- const newOAuth = new OAuth({
116
- serviceName,
117
- authKey,
118
- discoveryUrl,
119
- token,
120
- });
64
+ this.status = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, this.authKey).then(res => res.value ? AuthStatus.READY : AuthStatus.PENDING)
65
+ .catch(e => { throw new Error('Could not request authorization: ' + e.message); });
66
+ });
67
+ }
68
+ static create(params) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ const { authorizeUrl, oAuthParams } = yield (new OAuthCreator(params)).getOAuthParams();
71
+ const newOAuth = new OAuth(oAuthParams);
121
72
  newOAuth.status = AuthStatus.PENDING;
122
73
  return {
123
74
  instance: newOAuth,
@@ -138,11 +89,9 @@ export class OAuth {
138
89
  }
139
90
  getServiceDefinition(currentApp) {
140
91
  return __awaiter(this, void 0, void 0, function* () {
141
- yield this.eventManager.init();
142
- const serviceDefinitionProviderRoute = `http/${this.eventManager.providersAccountId}${SERVICE_PROVIDER_PATH}`;
143
- const services = yield this.eventManager.makeRequest({
92
+ const services = yield this.providers.makeRequest({
144
93
  method: 'GET',
145
- route: serviceDefinitionProviderRoute,
94
+ route: SERVICE_PROVIDER_PATH,
146
95
  params: {
147
96
  type: 'list',
148
97
  },
@@ -160,7 +109,7 @@ export class OAuth {
160
109
  let spentTime = 0;
161
110
  let isFinished = false;
162
111
  while (spentTime < pollTimeout) {
163
- const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, this.authKey);
112
+ const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(this.authKey));
164
113
  if (record.value) {
165
114
  isFinished = true;
166
115
  break;
@@ -177,12 +126,22 @@ export class OAuth {
177
126
  this.status = AuthStatus.READY;
178
127
  });
179
128
  }
180
- getAuthData() {
129
+ getAuthData(stepThis) {
181
130
  return __awaiter(this, void 0, void 0, function* () {
182
- if (this.status !== AuthStatus.READY) {
183
- throw new Error('This authorization is not ready');
131
+ if (stepThis) {
132
+ if (this.authKey === 'inherited') {
133
+ this.authKey = stepThis.getShared('shared_' + this.keyValueCollection);
134
+ }
135
+ const ttl = (new Date(stepThis.session.expirationDate).getTime() - Date.now()) + 24 * 60 * 60 * 1000;
136
+ stepThis.setShared('shared_' + this.keyValueCollection, this.authKey, ttl);
137
+ }
138
+ if (this.status !== AuthStatus.READY && !(yield this.keyValueStorage.getValueByKey(this.keyValueCollection, this.authKey))) {
139
+ throw new Error('This authorization is invalid or not ready');
184
140
  }
185
- const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
141
+ else {
142
+ this.status = AuthStatus.READY;
143
+ }
144
+ const { value } = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(this.authKey));
186
145
  if (!value) {
187
146
  this.status = AuthStatus.ERROR;
188
147
  throw new Error('Authorization record does not exist');
@@ -191,18 +150,17 @@ export class OAuth {
191
150
  if (!authData.expires_in) {
192
151
  return authData;
193
152
  }
194
- const expired = isExpired(authData.created_at, authData.expires_in);
195
- if (!expired) {
153
+ if (!isExpired(authData.created_at, authData.expires_in)) {
196
154
  return authData;
197
155
  }
198
156
  yield this.refresh();
199
- const { value: refreshedAuthData } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
157
+ const { value: refreshedAuthData } = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(this.authKey));
200
158
  return refreshedAuthData;
201
159
  });
202
160
  }
203
161
  refresh() {
204
162
  return __awaiter(this, void 0, void 0, function* () {
205
- const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
163
+ const { value } = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(this.authKey));
206
164
  if (!value) {
207
165
  this.status = AuthStatus.ERROR;
208
166
  throw new Error('Authorization record does not exist');
@@ -215,9 +173,9 @@ export class OAuth {
215
173
  throw new Error('The application used for this authorization does not exist');
216
174
  }
217
175
  const serviceDefinition = yield this.getServiceDefinition(currentApp);
218
- yield this.eventManager.makeRequest({
176
+ yield this.providers.makeRequest({
219
177
  method: 'POST',
220
- route: new URL(authData.redirect_uri).pathname,
178
+ route: OAUTH_REDIRECT_PROVIDER_PATH,
221
179
  data: {
222
180
  refreshTokenUrl: authData.refreshUri,
223
181
  sendDataType: serviceDefinition.requestDataType,
@@ -233,7 +191,7 @@ export class OAuth {
233
191
  if (this.status !== AuthStatus.READY) {
234
192
  throw new Error('This authorization is not ready');
235
193
  }
236
- const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
194
+ const { value } = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(this.authKey));
237
195
  if (!value) {
238
196
  this.status = AuthStatus.ERROR;
239
197
  throw new Error('Authorization record does not exist');
@@ -250,7 +208,15 @@ export class OAuth {
250
208
  }
251
209
  delete() {
252
210
  return __awaiter(this, void 0, void 0, function* () {
253
- yield this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
211
+ yield this.keyValueStorage.deleteKey(this.keyValueCollection, encodeURIComponent(this.authKey));
212
+ if (this.dynamicCollection) {
213
+ const { value } = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', this.dynamicCollection);
214
+ if (value) {
215
+ const collection = value;
216
+ delete collection.authorizations[this.authName];
217
+ yield this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', this.dynamicCollection, collection);
218
+ }
219
+ }
254
220
  this.status = AuthStatus.DELETED;
255
221
  });
256
222
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth.js","sourceRoot":"","sources":["../../../src/OAuth/OAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OAuth.js","sourceRoot":"","sources":["../../../src/OAuth/OAuth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { OAuth } from './OAuth';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/OAuth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,cAAc,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/OAuth/types.ts"],"names":[],"mappings":"AA2HA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,sFAAyE,CAAA;IACzE,sCAAyB,CAAA;AAC3B,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/OAuth/types.ts"],"names":[],"mappings":"AAoTA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,sFAAyE,CAAA;IACzE,sCAAyB,CAAA;AAC3B,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
@@ -1,4 +1,7 @@
1
1
  export const createAuthKey = (id, authName, keyValueCollection, currentAccountId) => {
2
2
  return `${id}::oauth::${authName}::${keyValueCollection}::${currentAccountId}`;
3
3
  };
4
+ export function createDynamicKey(id, dynamicCollection, serviceName, currentAccountId) {
5
+ return `${id}::oauth-collection::${dynamicCollection} authorization::${serviceName}::${currentAccountId}`;
6
+ }
4
7
  //# sourceMappingURL=createAuthKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAuthKey.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/createAuthKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,kBAA0B,EAAE,gBAA+B,EAAU,EAAE;IACjI,OAAO,GAAG,EAAE,YAAY,QAAQ,KAAK,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;AACjF,CAAC,CAAC"}
1
+ {"version":3,"file":"createAuthKey.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/createAuthKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,kBAA0B,EAAE,gBAA+B,EAAU,EAAE;IACjI,OAAO,GAAG,EAAE,YAAY,QAAQ,KAAK,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,EAAU,EACV,iBAAyB,EACzB,WAAmB,EACnB,gBAA+B;IAC/B,OAAO,GAAG,EAAE,uBAAuB,iBAAiB,mBAAmB,WAAW,KAAK,gBAAgB,EAAE,CAAC;AAC5G,CAAC"}
@@ -0,0 +1,262 @@
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 { Providers } from '@or-sdk/providers';
12
+ import { EVENT_MANAGER_SERVICE_KEY } from '@or-sdk/event-manager';
13
+ import { Discovery } from '@or-sdk/discovery';
14
+ import { v4 as uuidv4 } from 'uuid';
15
+ import { SERVICE_PROVIDER_PATH, OAUTH_REDIRECT_PROVIDER_PATH, NEXT_OAUTH_REDIRECT_PROVIDER_PATH, PREDEFINED_APP, TEMPORARY_DATA_EXPIRATION_TIME, } from './../../constants';
16
+ import { formatScope } from './../utils/formatScope';
17
+ import { ServiceDefinition } from './../utils/ServiceDefinition';
18
+ import { createAuthKey, createDynamicKey } from './../utils/createAuthKey';
19
+ export default class OAuthCreator {
20
+ constructor(params) {
21
+ this.authKey = '';
22
+ this.params = params;
23
+ this.validateInput();
24
+ this.keyValueStorage = new KeyValueStorage({
25
+ accountId: params.crossAccount ? params.accountId : undefined,
26
+ sdkUrl: params.sdkUrl,
27
+ token: params.token,
28
+ });
29
+ this.providers = new Providers({
30
+ token: params.token,
31
+ eventManagerUrl: params.eventManagerUrl,
32
+ providersAccountId: params.providersAccountId,
33
+ });
34
+ }
35
+ getOAuthParams() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ if (this.params.authKey) {
38
+ yield this.resolveReauthParams();
39
+ }
40
+ yield this.resolveDiscoveryParams();
41
+ const res = yield this.getAppAndService();
42
+ this.service = res.serviceDefinition;
43
+ this.app = res.currentApp;
44
+ this.getAuthKey();
45
+ const { redirectProviderUrl, redirectPath } = yield this.saveTempData();
46
+ const authorizeUrl = this.formAuthUrl(redirectPath, redirectProviderUrl);
47
+ if (this.params.dynamicCollection) {
48
+ this.saveToDynamicCollection;
49
+ }
50
+ return {
51
+ oAuthParams: {
52
+ accountId: this.params.crossAccount ? this.params.accountId : undefined,
53
+ authKey: this.params.useNextProvider ? ('::' + this.authKey.split('::').slice(1, 3).join('::')) : this.authKey,
54
+ authName: this.params.authName,
55
+ discoveryUrl: this.params.discoveryUrl,
56
+ dynamicCollection: this.params.dynamicCollection,
57
+ eventManagerUrl: this.params.eventManagerUrl,
58
+ providersAccountId: this.params.providersAccountId,
59
+ serviceName: this.params.serviceName,
60
+ token: this.params.token,
61
+ },
62
+ authorizeUrl,
63
+ };
64
+ });
65
+ }
66
+ validateInput() {
67
+ const { accountId, crossAccount = true, destinationAccount = 'CURRENT', eventManagerUrl, providersAccountId, sdkUrl, } = this.params;
68
+ if (!this.params.authKey) {
69
+ if (!this.params.appId) {
70
+ throw new Error('Application ID is missing');
71
+ }
72
+ else if (!this.params.authName) {
73
+ throw new Error('Authorization name is missing');
74
+ }
75
+ }
76
+ if (!this.params.serviceName) {
77
+ throw new Error('Service name is missing');
78
+ }
79
+ else if (!this.params.token) {
80
+ throw new Error('Authorization token is missing');
81
+ }
82
+ if (!sdkUrl || !eventManagerUrl || !providersAccountId || !accountId) {
83
+ if (!this.params.discoveryUrl) {
84
+ throw new Error('Discovery URL is missing.');
85
+ }
86
+ }
87
+ this.params.destinationAccount = destinationAccount;
88
+ this.params.crossAccount = crossAccount;
89
+ this.params.keyValueCollection =
90
+ this.params.keyValueCollection || this.params.serviceName;
91
+ }
92
+ resolveDiscoveryParams() {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ const { accountId, eventManagerUrl, providersAccountId } = this.params;
95
+ if (accountId && eventManagerUrl && providersAccountId) {
96
+ return;
97
+ }
98
+ const discovery = new Discovery({
99
+ token: this.params.token,
100
+ discoveryUrl: this.params.discoveryUrl,
101
+ });
102
+ if (!accountId) {
103
+ this.params.accountId = yield discovery.getCurrentAccountId().catch(() => {
104
+ throw new Error('Could not request current account ID');
105
+ });
106
+ }
107
+ if (!eventManagerUrl) {
108
+ this.params.eventManagerUrl = yield discovery.getServiceUrl(EVENT_MANAGER_SERVICE_KEY).catch(() => {
109
+ throw new Error('Could not request current Event Manager URL');
110
+ });
111
+ }
112
+ if (!providersAccountId) {
113
+ this.params.providersAccountId = yield discovery.getProvidersAccountId().catch(() => {
114
+ throw new Error('Could not request provider`s account ID');
115
+ });
116
+ }
117
+ });
118
+ }
119
+ getAppAndService() {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const services = yield this.providers.makeRequest({
122
+ method: 'GET',
123
+ route: SERVICE_PROVIDER_PATH,
124
+ params: {
125
+ type: 'list',
126
+ },
127
+ }).catch(() => { throw new Error('Could not request services list'); });
128
+ const localServices = yield this.keyValueStorage.listKeys('__authorization_service_predefined_services_local', undefined, true);
129
+ localServices.items.forEach(el => (services[el.key] = el.value));
130
+ const currentServiceData = services[this.params.serviceName];
131
+ if (!currentServiceData) {
132
+ throw new Error('Service name is incorrect');
133
+ }
134
+ const apps = yield this.keyValueStorage.getValueByKey(this.params.keyValueCollection, '__authorizer_apps');
135
+ if (!apps || !apps.value) {
136
+ throw new Error('Apps are missing in service collection');
137
+ }
138
+ const currentApp = apps.value.find((app) => app.value.appId === this.params.appId).value;
139
+ return {
140
+ currentApp,
141
+ serviceDefinition: new ServiceDefinition(currentServiceData, currentApp.authLinkParams, currentApp.environment),
142
+ };
143
+ });
144
+ }
145
+ resolveReauthParams() {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const old_auth_record = yield this.keyValueStorage.getValueByKey(this.params.keyValueCollection, this.params.authKey);
148
+ const old_auth = old_auth_record.value;
149
+ if (!old_auth) {
150
+ throw new Error('Could not reauthorize non-existing authorization');
151
+ }
152
+ if (old_auth.isRemote) {
153
+ throw new Error('Reauthorization of remote authorizations is not implemented.');
154
+ }
155
+ this.params.appId = old_auth.appId;
156
+ this.params.scope = old_auth.scope;
157
+ this.params.authName = old_auth.authName;
158
+ });
159
+ }
160
+ getAuthKey() {
161
+ const id = uuidv4();
162
+ if (this.params.authKey) {
163
+ if (this.params.authKey[0] === ':') {
164
+ this.params.useNextProvider = true;
165
+ this.authKey = id + this.params.authKey;
166
+ }
167
+ else {
168
+ this.params.useNextProvider = false;
169
+ this.authKey = this.params.authKey;
170
+ }
171
+ }
172
+ else {
173
+ const keyAccountId = this.params.destinationAccount === 'CURRENT' ? this.params.accountId :
174
+ this.params.destinationAccount === 'PROVIDER' ? this.params.providersAccountId :
175
+ this.params.destinationAccount === 'CUSTOM' ? this.params.customAccountId : null;
176
+ this.authKey = this.params.dynamicCollection ?
177
+ createDynamicKey(id, this.params.dynamicCollection, this.params.serviceName, keyAccountId || null) :
178
+ createAuthKey(id, this.params.authName, this.params.keyValueCollection, keyAccountId || null);
179
+ }
180
+ }
181
+ saveTempData() {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ const redirectPath = this.params.useNextProvider ? NEXT_OAUTH_REDIRECT_PROVIDER_PATH : OAUTH_REDIRECT_PROVIDER_PATH;
184
+ const redirectProviderUrl = `${this.params.eventManagerUrl}/http/${this.params.providersAccountId}${redirectPath}`;
185
+ const serviceDefinition = this.service;
186
+ const authConfigs = Object.assign(Object.assign({}, (this.params.additionalBodyData || {})), { grant_type: 'authorization_code', redirect_uri: redirectProviderUrl, appId: this.params.appId });
187
+ if (this.params.scope) {
188
+ authConfigs.scope = this.params.authKey ?
189
+ this.params.scope :
190
+ formatScope(this.params.scope, serviceDefinition.scopeType);
191
+ }
192
+ const configs = {
193
+ [serviceDefinition.requestDataType]: authConfigs,
194
+ };
195
+ const tempAuthData = {
196
+ accountId: this.params.accountId,
197
+ additionalHeaders: this.params.additionalHeaders || {},
198
+ configs,
199
+ displayServiceName: serviceDefinition.displayServiceName,
200
+ expiresInDefaultValue: serviceDefinition.expiresInDefaultValue,
201
+ isCustomApp: this.params.appId !== PREDEFINED_APP,
202
+ name: this.params.authName,
203
+ refreshUri: serviceDefinition.refreshUri,
204
+ requestDataType: serviceDefinition.requestDataType,
205
+ service: this.params.keyValueCollection,
206
+ serviceConfigName: this.params.serviceName,
207
+ storeAccount: this.params.destinationAccount,
208
+ storeCustomAccountId: this.params.destinationAccount === 'CUSTOM' ? this.params.customAccountId : undefined,
209
+ urlToExchangeToken: serviceDefinition.exchangeTokenUri,
210
+ };
211
+ const authDataExpire = Date.now() + TEMPORARY_DATA_EXPIRATION_TIME;
212
+ yield this.keyValueStorage.setValueByKey('__authorizer_temp-uuid', this.authKey.split('::')[0], tempAuthData, authDataExpire);
213
+ return {
214
+ redirectPath,
215
+ redirectProviderUrl,
216
+ };
217
+ });
218
+ }
219
+ formAuthUrl(redirectPath, redirectProviderUrl) {
220
+ const serviceDefinition = this.service;
221
+ const currentApp = this.app;
222
+ const authUrl = new URL(serviceDefinition.authorizeUri);
223
+ const additionalParams = JSON.parse(serviceDefinition.authRequestAdditionalParams);
224
+ Object.entries(additionalParams.queryParams).forEach(([key, value]) => {
225
+ authUrl.searchParams.append(key, value);
226
+ });
227
+ authUrl.searchParams.append('response_type', 'code');
228
+ authUrl.searchParams.append('client_id', currentApp.clientId);
229
+ authUrl.searchParams.append('redirect_uri', redirectProviderUrl);
230
+ authUrl.searchParams.append('state', this.authKey);
231
+ if (this.params.scope) {
232
+ authUrl.searchParams.append('scope', this.params.authKey ?
233
+ this.params.scope :
234
+ formatScope(this.params.scope, serviceDefinition.scopeType));
235
+ }
236
+ if (this.params.userScope) {
237
+ authUrl.searchParams.append('user_scope', this.params.userScope);
238
+ }
239
+ if (this.params.useNonce) {
240
+ authUrl.searchParams.append('nonce', uuidv4());
241
+ }
242
+ return authUrl.href;
243
+ }
244
+ saveToDynamicCollection() {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ const { value } = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', this.params.dynamicCollection);
247
+ const collection = (value || {
248
+ name: this.params.dynamicCollection,
249
+ type: 'oauth',
250
+ service: this.params.serviceName,
251
+ serviceConfigName: this.params.serviceName,
252
+ authorizations: {},
253
+ });
254
+ if (collection.authorizations[this.params.authName]) {
255
+ yield this.keyValueStorage.deleteKey(this.params.serviceName, collection.authorizations[this.params.authName]);
256
+ }
257
+ collection.authorizations[this.params.authName] = this.authKey;
258
+ yield this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', this.params.dynamicCollection, collection);
259
+ });
260
+ }
261
+ }
262
+ //# sourceMappingURL=createOAuthHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOAuthHelper.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/createOAuthHelper.ts"],"names":[],"mappings":"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"}