@or-sdk/authorizer 0.24.14-beta.971.0 → 0.24.14-beta.976.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.
- package/dist/cjs/Basic/BasicAuth.js +162 -0
- package/dist/cjs/Basic/BasicAuth.js.map +1 -0
- package/dist/cjs/Basic/BasicCollection.js +24 -117
- package/dist/cjs/Basic/BasicCollection.js.map +1 -1
- package/dist/cjs/OAuth/OAuth.js +49 -78
- package/dist/cjs/OAuth/OAuth.js.map +1 -1
- package/dist/cjs/OAuth/OAuthCollection.js +10 -25
- package/dist/cjs/OAuth/OAuthCollection.js.map +1 -1
- package/dist/cjs/OAuth/types.js.map +1 -1
- package/dist/cjs/Token/TokenAuth.js +140 -0
- package/dist/cjs/Token/TokenAuth.js.map +1 -0
- package/dist/cjs/Token/TokenCollection.js +22 -88
- package/dist/cjs/Token/TokenCollection.js.map +1 -1
- package/dist/cjs/index.js +13 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/Basic/BasicAuth.js +88 -0
- package/dist/esm/Basic/BasicAuth.js.map +1 -0
- package/dist/esm/Basic/BasicCollection.js +21 -83
- package/dist/esm/Basic/BasicCollection.js.map +1 -1
- package/dist/esm/OAuth/OAuth.js +35 -60
- package/dist/esm/OAuth/OAuth.js.map +1 -1
- package/dist/esm/OAuth/OAuthCollection.js +10 -24
- package/dist/esm/OAuth/OAuthCollection.js.map +1 -1
- package/dist/esm/OAuth/types.js.map +1 -1
- package/dist/esm/Token/TokenAuth.js +66 -0
- package/dist/esm/Token/TokenAuth.js.map +1 -0
- package/dist/esm/Token/TokenCollection.js +20 -55
- package/dist/esm/Token/TokenCollection.js.map +1 -1
- package/dist/esm/index.js +6 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Basic/BasicAuth.d.ts +20 -0
- package/dist/types/Basic/BasicAuth.d.ts.map +1 -0
- package/dist/types/Basic/BasicCollection.d.ts +7 -17
- package/dist/types/Basic/BasicCollection.d.ts.map +1 -1
- package/dist/types/Basic/types.d.ts +1 -3
- package/dist/types/Basic/types.d.ts.map +1 -1
- package/dist/types/OAuth/OAuth.d.ts +1 -1
- package/dist/types/OAuth/OAuth.d.ts.map +1 -1
- package/dist/types/OAuth/OAuthCollection.d.ts +6 -9
- package/dist/types/OAuth/OAuthCollection.d.ts.map +1 -1
- package/dist/types/OAuth/types.d.ts +1 -9
- package/dist/types/OAuth/types.d.ts.map +1 -1
- package/dist/types/Token/TokenAuth.d.ts +12 -0
- package/dist/types/Token/TokenAuth.d.ts.map +1 -0
- package/dist/types/Token/TokenCollection.d.ts +8 -9
- package/dist/types/Token/TokenCollection.d.ts.map +1 -1
- package/dist/types/Token/types.d.ts +0 -2
- package/dist/types/Token/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -3
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -37
- package/src/Basic/BasicAuth.ts +129 -0
- package/src/Basic/BasicCollection.ts +30 -141
- package/src/Basic/types.ts +1 -3
- package/src/OAuth/OAuth.ts +51 -109
- package/src/OAuth/OAuthCollection.ts +18 -48
- package/src/OAuth/types.ts +3 -32
- package/src/Token/TokenAuth.ts +102 -0
- package/src/Token/TokenCollection.ts +28 -98
- package/src/Token/types.ts +0 -2
- package/src/index.ts +8 -3
- package/dist/cjs/Basic/index.js +0 -21
- package/dist/cjs/Basic/index.js.map +0 -1
- package/dist/cjs/OAuth/index.js +0 -23
- package/dist/cjs/OAuth/index.js.map +0 -1
- package/dist/cjs/Token/index.js +0 -21
- package/dist/cjs/Token/index.js.map +0 -1
- package/dist/esm/Basic/index.js +0 -3
- package/dist/esm/Basic/index.js.map +0 -1
- package/dist/esm/OAuth/index.js +0 -4
- package/dist/esm/OAuth/index.js.map +0 -1
- package/dist/esm/Token/index.js +0 -3
- package/dist/esm/Token/index.js.map +0 -1
- package/dist/types/Basic/index.d.ts +0 -3
- package/dist/types/Basic/index.d.ts.map +0 -1
- package/dist/types/OAuth/index.d.ts +0 -4
- package/dist/types/OAuth/index.d.ts.map +0 -1
- package/dist/types/Token/index.d.ts +0 -3
- package/dist/types/Token/index.d.ts.map +0 -1
- package/src/Basic/index.ts +0 -3
- package/src/OAuth/index.ts +0 -4
- package/src/Token/index.ts +0 -3
|
@@ -7,111 +7,49 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { makeList } from '@or-sdk/base';
|
|
11
10
|
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
12
|
-
import {
|
|
13
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
11
|
+
import { BasicAuth } from './BasicAuth';
|
|
14
12
|
export class BasicCollection {
|
|
15
13
|
constructor(params) {
|
|
16
|
-
const { token, discoveryUrl, serviceName
|
|
17
|
-
this.
|
|
14
|
+
const { token, discoveryUrl, serviceName } = params;
|
|
15
|
+
this.localToken = token;
|
|
16
|
+
this.localDiscoveryUrl = discoveryUrl;
|
|
17
|
+
this.serviceName = serviceName;
|
|
18
18
|
this.keyValueStorage = new KeyValueStorage({
|
|
19
19
|
token,
|
|
20
20
|
discoveryUrl,
|
|
21
|
-
accountId,
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
|
-
init(serviceName) {
|
|
25
|
-
if (!serviceName)
|
|
26
|
-
throw new Error('Service name is required.');
|
|
27
|
-
this.serviceName = serviceName;
|
|
28
|
-
}
|
|
29
|
-
static encodeAccessToken(username, password) {
|
|
30
|
-
return btoa(`${username}:${password}`);
|
|
31
|
-
}
|
|
32
|
-
static decodeAccessToken(token) {
|
|
33
|
-
const [username, password] = atob(token).split(':');
|
|
34
|
-
return {
|
|
35
|
-
username,
|
|
36
|
-
password,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
23
|
listAuthorizations() {
|
|
40
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
25
|
const { items: records } = yield this.keyValueStorage.listKeys(this.serviceName);
|
|
42
|
-
return
|
|
26
|
+
return records.map((record) => record.key);
|
|
43
27
|
});
|
|
44
28
|
}
|
|
45
29
|
getAuthorization(key) {
|
|
46
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
|
|
48
|
-
throw new Error('Service name is not defined.');
|
|
49
|
-
if (!key.includes('::basic'))
|
|
50
|
-
throw new Error('The basic authorization key should contain "basic" type specifier.');
|
|
51
|
-
const record = yield this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(key));
|
|
31
|
+
const record = yield this.keyValueStorage.getValueByKey(this.serviceName, key);
|
|
52
32
|
if (!record.value) {
|
|
53
|
-
throw new Error('Authorization does not exist
|
|
33
|
+
throw new Error('Authorization does not exist');
|
|
54
34
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
access_token: authRecord.access_token,
|
|
62
|
-
date_created: authRecord.date_created,
|
|
63
|
-
key,
|
|
64
|
-
};
|
|
35
|
+
return new BasicAuth({
|
|
36
|
+
serviceName: this.serviceName,
|
|
37
|
+
authKey: key,
|
|
38
|
+
discoveryUrl: this.localDiscoveryUrl,
|
|
39
|
+
token: this.localToken,
|
|
40
|
+
});
|
|
65
41
|
});
|
|
66
42
|
}
|
|
67
43
|
createAuthorization(params) {
|
|
68
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const authKey = createAuthKey(id, authName);
|
|
77
|
-
const authData = {
|
|
78
|
-
auth_name: authName,
|
|
79
|
-
access_token: BasicCollection.encodeAccessToken(username, password),
|
|
80
|
-
date_created: new Date().toISOString(),
|
|
81
|
-
};
|
|
82
|
-
yield this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData);
|
|
83
|
-
return Object.assign(Object.assign({}, authData), { key: authKey });
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
updateAuthorization(basicAuth, newCredentials) {
|
|
87
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
if (!basicAuth || !basicAuth.key || !basicAuth.access_token) {
|
|
89
|
-
throw new Error('Authorization is invalid.');
|
|
90
|
-
}
|
|
91
|
-
if (!this.serviceName)
|
|
92
|
-
throw new Error('Service name is not defined.');
|
|
93
|
-
let { username, password } = BasicCollection.decodeAccessToken(basicAuth.access_token);
|
|
94
|
-
if (newCredentials.username) {
|
|
95
|
-
username = newCredentials.username;
|
|
96
|
-
}
|
|
97
|
-
if (newCredentials.password) {
|
|
98
|
-
password = newCredentials.password;
|
|
99
|
-
}
|
|
100
|
-
const access_token = BasicCollection.encodeAccessToken(username, password);
|
|
101
|
-
const response = yield this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(basicAuth.key), {
|
|
102
|
-
auth_name: basicAuth.auth_name,
|
|
103
|
-
date_created: basicAuth.date_created,
|
|
104
|
-
access_token,
|
|
45
|
+
return yield BasicAuth.create({
|
|
46
|
+
discoveryUrl: this.localDiscoveryUrl,
|
|
47
|
+
token: this.localToken,
|
|
48
|
+
serviceName: this.serviceName,
|
|
49
|
+
authName: params.authName,
|
|
50
|
+
password: params.password,
|
|
51
|
+
username: params.username,
|
|
105
52
|
});
|
|
106
|
-
const updatedData = response.value;
|
|
107
|
-
return Object.assign(Object.assign({}, updatedData), { key: basicAuth.key });
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
deleteAuthorization(authKey) {
|
|
111
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
if (!this.serviceName)
|
|
113
|
-
throw new Error('Service name is not defined.');
|
|
114
|
-
yield this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(authKey));
|
|
115
53
|
});
|
|
116
54
|
}
|
|
117
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicCollection.js","sourceRoot":"","sources":["../../../src/Basic/BasicCollection.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BasicCollection.js","sourceRoot":"","sources":["../../../src/Basic/BasicCollection.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,MAAM,OAAO,eAAe;IAM1B,YAAY,MAA6B;QACvC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAEpD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,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,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEjF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;KAAA;IAKY,gBAAgB,CAAC,GAAW;;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YAED,OAAO,IAAI,SAAS,CAAC;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;aACvB,CAAC,CAAC;QACL,CAAC;KAAA;IAcY,mBAAmB,CAC9B,MAAyC;;YAEzC,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC;gBAC5B,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
|
package/dist/esm/OAuth/OAuth.js
CHANGED
|
@@ -8,9 +8,7 @@ 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 {
|
|
12
|
-
import { EVENT_MANAGER_SERVICE_KEY } from '@or-sdk/event-manager';
|
|
13
|
-
import { Discovery } from '@or-sdk/discovery';
|
|
11
|
+
import { EventManager } from '@or-sdk/event-manager';
|
|
14
12
|
import { timeout } from '@or-sdk/base';
|
|
15
13
|
import { v4 as uuidv4 } from 'uuid';
|
|
16
14
|
import { SERVICE_PROVIDER_PATH, OAUTH_REDIRECT_PROVIDER_PATH, PREDEFINED_APP, TEMPORARY_DATA_EXPIRATION_TIME, AuthStatus, } from '../constants';
|
|
@@ -21,71 +19,47 @@ import { createAuthKey } from './utils/createAuthKey';
|
|
|
21
19
|
export class OAuth {
|
|
22
20
|
constructor(params) {
|
|
23
21
|
this.status = AuthStatus.READY;
|
|
24
|
-
const {
|
|
25
|
-
if (!(authKey && serviceName && authKey)) {
|
|
26
|
-
throw new Error('Invalit OAuth params passed.');
|
|
27
|
-
}
|
|
28
|
-
if (!discoveryUrl && !(eventManagerUrl && providersAccountId)) {
|
|
29
|
-
throw new Error('OAuth require Discovery URL or both Event Manager URL and Providers Account ID');
|
|
30
|
-
}
|
|
22
|
+
const { token, discoveryUrl, authKey, serviceName, keyValueCollection } = params;
|
|
31
23
|
this.authKey = authKey;
|
|
32
24
|
this.serviceName = serviceName;
|
|
33
25
|
this.keyValueCollection = keyValueCollection || serviceName;
|
|
34
26
|
this.keyValueStorage = new KeyValueStorage({
|
|
35
27
|
token,
|
|
36
28
|
discoveryUrl,
|
|
37
|
-
accountId,
|
|
38
29
|
});
|
|
39
|
-
this.
|
|
30
|
+
this.eventManager = new EventManager({
|
|
40
31
|
token,
|
|
41
32
|
discoveryUrl,
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
requestAccountId: true,
|
|
34
|
+
requestProvidersAccountId: true,
|
|
44
35
|
});
|
|
45
36
|
}
|
|
46
37
|
static create(params) {
|
|
47
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
39
|
if (!(params.serviceName &&
|
|
49
40
|
params.authName &&
|
|
41
|
+
params.discoveryUrl &&
|
|
50
42
|
params.token &&
|
|
51
|
-
params.appId)
|
|
52
|
-
(
|
|
53
|
-
params.providersAccountId &&
|
|
54
|
-
params.eventManagerUrl))) {
|
|
55
|
-
throw new Error('Invalid OAuth config passed');
|
|
56
|
-
}
|
|
57
|
-
const { appId, authName, discoveryUrl, scope, serviceName, token, } = params;
|
|
58
|
-
let { accountId, eventManagerUrl, providersAccountId, } = params;
|
|
59
|
-
if (discoveryUrl && !(accountId && eventManagerUrl && providersAccountId)) {
|
|
60
|
-
const discovery = new Discovery({
|
|
61
|
-
token,
|
|
62
|
-
discoveryUrl,
|
|
63
|
-
});
|
|
64
|
-
if (!accountId) {
|
|
65
|
-
accountId = yield discovery.getCurrentAccountId();
|
|
66
|
-
}
|
|
67
|
-
if (!eventManagerUrl) {
|
|
68
|
-
eventManagerUrl = yield discovery.getServiceUrl(EVENT_MANAGER_SERVICE_KEY);
|
|
69
|
-
}
|
|
70
|
-
if (!providersAccountId) {
|
|
71
|
-
providersAccountId = yield discovery.getProvidersAccountId();
|
|
72
|
-
}
|
|
43
|
+
params.appId)) {
|
|
44
|
+
throw new Error('Invalid config passed');
|
|
73
45
|
}
|
|
46
|
+
const { serviceName, authName, discoveryUrl, token, appId, scope } = params;
|
|
74
47
|
const keyValueCollection = params.keyValueCollection || serviceName;
|
|
75
48
|
const keyValueStorage = new KeyValueStorage({
|
|
76
49
|
token,
|
|
77
50
|
discoveryUrl,
|
|
78
|
-
accountId,
|
|
79
51
|
});
|
|
80
|
-
const
|
|
52
|
+
const eventManager = new EventManager({
|
|
81
53
|
token,
|
|
82
54
|
discoveryUrl,
|
|
83
|
-
|
|
84
|
-
|
|
55
|
+
requestAccountId: true,
|
|
56
|
+
requestProvidersAccountId: true,
|
|
85
57
|
});
|
|
86
|
-
|
|
58
|
+
yield eventManager.init();
|
|
59
|
+
const serviceDefinitionProviderRoute = `http/${eventManager.providersAccountId}${SERVICE_PROVIDER_PATH}`;
|
|
60
|
+
const services = yield eventManager.makeRequest({
|
|
87
61
|
method: 'GET',
|
|
88
|
-
route:
|
|
62
|
+
route: serviceDefinitionProviderRoute,
|
|
89
63
|
params: {
|
|
90
64
|
type: 'list',
|
|
91
65
|
},
|
|
@@ -95,10 +69,11 @@ export class OAuth {
|
|
|
95
69
|
const currentApp = apps.value.find((app) => app.value.appId === appId).value;
|
|
96
70
|
const serviceDefinition = new ServiceDefinition(currentServiceData, currentApp.authLinkParams, currentApp.environment);
|
|
97
71
|
const id = uuidv4();
|
|
98
|
-
const authKey = createAuthKey(id, authName, keyValueCollection,
|
|
72
|
+
const authKey = createAuthKey(id, authName, keyValueCollection, eventManager.currentAccountId);
|
|
99
73
|
const additionalBodyData = {};
|
|
100
74
|
const additionalHeaders = {};
|
|
101
|
-
const
|
|
75
|
+
const emUrl = eventManager.serviceUrl;
|
|
76
|
+
const redirectProviderUrl = `${emUrl}/http/${eventManager.providersAccountId}${OAUTH_REDIRECT_PROVIDER_PATH}`;
|
|
102
77
|
const authConfigs = Object.assign(Object.assign({}, additionalBodyData), { grant_type: 'authorization_code', redirect_uri: redirectProviderUrl, appId });
|
|
103
78
|
if (scope) {
|
|
104
79
|
const formattedScope = formatScope(scope, serviceDefinition.scopeType);
|
|
@@ -119,7 +94,7 @@ export class OAuth {
|
|
|
119
94
|
serviceConfigName: serviceName,
|
|
120
95
|
name: authName,
|
|
121
96
|
displayServiceName: serviceDefinition.displayServiceName,
|
|
122
|
-
accountId:
|
|
97
|
+
accountId: eventManager.currentAccountId,
|
|
123
98
|
};
|
|
124
99
|
const authDataExpire = Date.now() + TEMPORARY_DATA_EXPIRATION_TIME;
|
|
125
100
|
yield keyValueStorage.setValueByKey('__authorizer_temp-uuid', id, tempAuthData, authDataExpire);
|
|
@@ -138,12 +113,9 @@ export class OAuth {
|
|
|
138
113
|
}
|
|
139
114
|
const authorizeUrl = authUrl.href;
|
|
140
115
|
const newOAuth = new OAuth({
|
|
141
|
-
|
|
116
|
+
serviceName,
|
|
142
117
|
authKey,
|
|
143
118
|
discoveryUrl,
|
|
144
|
-
eventManagerUrl,
|
|
145
|
-
providersAccountId,
|
|
146
|
-
serviceName,
|
|
147
119
|
token,
|
|
148
120
|
});
|
|
149
121
|
newOAuth.status = AuthStatus.PENDING;
|
|
@@ -166,9 +138,11 @@ export class OAuth {
|
|
|
166
138
|
}
|
|
167
139
|
getServiceDefinition(currentApp) {
|
|
168
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
|
|
141
|
+
yield this.eventManager.init();
|
|
142
|
+
const serviceDefinitionProviderRoute = `http/${this.eventManager.providersAccountId}${SERVICE_PROVIDER_PATH}`;
|
|
143
|
+
const services = yield this.eventManager.makeRequest({
|
|
170
144
|
method: 'GET',
|
|
171
|
-
route:
|
|
145
|
+
route: serviceDefinitionProviderRoute,
|
|
172
146
|
params: {
|
|
173
147
|
type: 'list',
|
|
174
148
|
},
|
|
@@ -186,7 +160,7 @@ export class OAuth {
|
|
|
186
160
|
let spentTime = 0;
|
|
187
161
|
let isFinished = false;
|
|
188
162
|
while (spentTime < pollTimeout) {
|
|
189
|
-
const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection,
|
|
163
|
+
const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, this.authKey);
|
|
190
164
|
if (record.value) {
|
|
191
165
|
isFinished = true;
|
|
192
166
|
break;
|
|
@@ -208,7 +182,7 @@ export class OAuth {
|
|
|
208
182
|
if (this.status !== AuthStatus.READY) {
|
|
209
183
|
throw new Error('This authorization is not ready');
|
|
210
184
|
}
|
|
211
|
-
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName,
|
|
185
|
+
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
|
|
212
186
|
if (!value) {
|
|
213
187
|
this.status = AuthStatus.ERROR;
|
|
214
188
|
throw new Error('Authorization record does not exist');
|
|
@@ -217,17 +191,18 @@ export class OAuth {
|
|
|
217
191
|
if (!authData.expires_in) {
|
|
218
192
|
return authData;
|
|
219
193
|
}
|
|
220
|
-
|
|
194
|
+
const expired = isExpired(authData.created_at, authData.expires_in);
|
|
195
|
+
if (!expired) {
|
|
221
196
|
return authData;
|
|
222
197
|
}
|
|
223
198
|
yield this.refresh();
|
|
224
|
-
const { value: refreshedAuthData } = yield this.keyValueStorage.getValueByKey(this.serviceName,
|
|
199
|
+
const { value: refreshedAuthData } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
|
|
225
200
|
return refreshedAuthData;
|
|
226
201
|
});
|
|
227
202
|
}
|
|
228
203
|
refresh() {
|
|
229
204
|
return __awaiter(this, void 0, void 0, function* () {
|
|
230
|
-
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName,
|
|
205
|
+
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
|
|
231
206
|
if (!value) {
|
|
232
207
|
this.status = AuthStatus.ERROR;
|
|
233
208
|
throw new Error('Authorization record does not exist');
|
|
@@ -240,9 +215,9 @@ export class OAuth {
|
|
|
240
215
|
throw new Error('The application used for this authorization does not exist');
|
|
241
216
|
}
|
|
242
217
|
const serviceDefinition = yield this.getServiceDefinition(currentApp);
|
|
243
|
-
yield this.
|
|
218
|
+
yield this.eventManager.makeRequest({
|
|
244
219
|
method: 'POST',
|
|
245
|
-
route:
|
|
220
|
+
route: new URL(authData.redirect_uri).pathname,
|
|
246
221
|
data: {
|
|
247
222
|
refreshTokenUrl: authData.refreshUri,
|
|
248
223
|
sendDataType: serviceDefinition.requestDataType,
|
|
@@ -258,7 +233,7 @@ export class OAuth {
|
|
|
258
233
|
if (this.status !== AuthStatus.READY) {
|
|
259
234
|
throw new Error('This authorization is not ready');
|
|
260
235
|
}
|
|
261
|
-
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName,
|
|
236
|
+
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
|
|
262
237
|
if (!value) {
|
|
263
238
|
this.status = AuthStatus.ERROR;
|
|
264
239
|
throw new Error('Authorization record does not exist');
|
|
@@ -275,7 +250,7 @@ export class OAuth {
|
|
|
275
250
|
}
|
|
276
251
|
delete() {
|
|
277
252
|
return __awaiter(this, void 0, void 0, function* () {
|
|
278
|
-
yield this.keyValueStorage.deleteKey(this.serviceName,
|
|
253
|
+
yield this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
|
|
279
254
|
this.status = AuthStatus.DELETED;
|
|
280
255
|
});
|
|
281
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuth.js","sourceRoot":"","sources":["../../../src/OAuth/OAuth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OAuth.js","sourceRoot":"","sources":["../../../src/OAuth/OAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,52 +7,39 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { makeList } from '@or-sdk/base';
|
|
11
10
|
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
12
11
|
import { OAuth } from './OAuth';
|
|
13
12
|
export class OAuthCollection {
|
|
14
13
|
constructor(params) {
|
|
15
|
-
const { token, discoveryUrl,
|
|
14
|
+
const { token, discoveryUrl, serviceName, keyValueCollection } = params;
|
|
16
15
|
this.localToken = token;
|
|
17
|
-
this.localAccountId = accountId;
|
|
18
16
|
this.localDiscoveryUrl = discoveryUrl;
|
|
19
|
-
this.serviceName = serviceName
|
|
20
|
-
this.keyValueCollection = keyValueCollection || serviceName
|
|
17
|
+
this.serviceName = serviceName;
|
|
18
|
+
this.keyValueCollection = keyValueCollection || serviceName;
|
|
21
19
|
this.keyValueStorage = new KeyValueStorage({
|
|
22
|
-
token
|
|
23
|
-
discoveryUrl
|
|
24
|
-
accountId: this.localAccountId,
|
|
20
|
+
token,
|
|
21
|
+
discoveryUrl,
|
|
25
22
|
});
|
|
26
23
|
}
|
|
27
|
-
init(params) {
|
|
28
|
-
const { serviceName, keyValueCollection } = params;
|
|
29
|
-
this.serviceName = serviceName || this.serviceName;
|
|
30
|
-
this.keyValueCollection = keyValueCollection || this.keyValueCollection || this.serviceName;
|
|
31
|
-
if (!this.serviceName) {
|
|
32
|
-
throw new Error('Service Name is required.');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
24
|
listAuthorizations() {
|
|
36
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const { items: records } = yield this.keyValueStorage.listKeys(this.keyValueCollection
|
|
38
|
-
return
|
|
26
|
+
const { items: records } = yield this.keyValueStorage.listKeys(this.keyValueCollection);
|
|
27
|
+
return records.map((record) => record.key);
|
|
39
28
|
});
|
|
40
29
|
}
|
|
41
30
|
listOAuthApps() {
|
|
42
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
32
|
const appsStorageRecord = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, '__authorizer_apps');
|
|
44
33
|
if (!appsStorageRecord.value) {
|
|
45
|
-
return
|
|
34
|
+
return [];
|
|
46
35
|
}
|
|
47
36
|
const appsRecords = appsStorageRecord.value;
|
|
48
|
-
return
|
|
37
|
+
return appsRecords.map((record) => (Object.assign({ name: record.label }, record.value)));
|
|
49
38
|
});
|
|
50
39
|
}
|
|
51
40
|
getAuthorization(key) {
|
|
52
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
|
|
54
|
-
throw new Error('The OAuth authorization key should contain "oauth" type specifier.');
|
|
55
|
-
const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(key));
|
|
42
|
+
const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, key);
|
|
56
43
|
if (!record.value) {
|
|
57
44
|
throw new Error('This authorization does not exist');
|
|
58
45
|
}
|
|
@@ -70,7 +57,6 @@ export class OAuthCollection {
|
|
|
70
57
|
return yield OAuth.create({
|
|
71
58
|
discoveryUrl: this.localDiscoveryUrl,
|
|
72
59
|
token: this.localToken,
|
|
73
|
-
accountId: this.localAccountId,
|
|
74
60
|
appId: params.appId,
|
|
75
61
|
keyValueCollection: this.keyValueCollection,
|
|
76
62
|
scope: params.scope,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuthCollection.js","sourceRoot":"","sources":["../../../src/OAuth/OAuthCollection.ts"],"names":[],"mappings":";;;;;;;;;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/OAuth/types.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|