@or-sdk/authorizer 0.24.14-beta.971.0 → 0.24.14
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/CHANGELOG.md +8 -0
- 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 +6 -38
- 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
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -48,25 +37,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
37
|
};
|
|
49
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
39
|
exports.TokenCollection = void 0;
|
|
51
|
-
var base_1 = require("@or-sdk/base");
|
|
52
40
|
var key_value_storage_1 = require("@or-sdk/key-value-storage");
|
|
53
|
-
var
|
|
54
|
-
var createAuthKey_1 = require("./utils/createAuthKey");
|
|
41
|
+
var TokenAuth_1 = require("./TokenAuth");
|
|
55
42
|
var TokenCollection = (function () {
|
|
56
43
|
function TokenCollection(params) {
|
|
57
|
-
var token = params.token, discoveryUrl = params.discoveryUrl, serviceName = params.serviceName
|
|
58
|
-
this.
|
|
44
|
+
var token = params.token, discoveryUrl = params.discoveryUrl, serviceName = params.serviceName;
|
|
45
|
+
this.localToken = token;
|
|
46
|
+
this.localDiscoveryUrl = discoveryUrl;
|
|
47
|
+
this.serviceName = serviceName;
|
|
59
48
|
this.keyValueStorage = new key_value_storage_1.KeyValueStorage({
|
|
60
49
|
token: token,
|
|
61
50
|
discoveryUrl: discoveryUrl,
|
|
62
|
-
accountId: accountId,
|
|
63
51
|
});
|
|
64
52
|
}
|
|
65
|
-
TokenCollection.prototype.init = function (serviceName) {
|
|
66
|
-
if (!serviceName)
|
|
67
|
-
throw new Error('Servide name is required.');
|
|
68
|
-
this.serviceName = serviceName;
|
|
69
|
-
};
|
|
70
53
|
TokenCollection.prototype.listAuthorizations = function () {
|
|
71
54
|
return __awaiter(this, void 0, void 0, function () {
|
|
72
55
|
var records;
|
|
@@ -75,93 +58,44 @@ var TokenCollection = (function () {
|
|
|
75
58
|
case 0: return [4, this.keyValueStorage.listKeys(this.serviceName)];
|
|
76
59
|
case 1:
|
|
77
60
|
records = (_a.sent()).items;
|
|
78
|
-
return [2,
|
|
61
|
+
return [2, records.map(function (record) { return record.key; })];
|
|
79
62
|
}
|
|
80
63
|
});
|
|
81
64
|
});
|
|
82
65
|
};
|
|
83
66
|
TokenCollection.prototype.getAuthorization = function (key) {
|
|
84
67
|
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
-
var record
|
|
68
|
+
var record;
|
|
86
69
|
return __generator(this, function (_a) {
|
|
87
70
|
switch (_a.label) {
|
|
88
|
-
case 0:
|
|
89
|
-
if (!this.serviceName)
|
|
90
|
-
throw new Error('Service name is not defined.');
|
|
91
|
-
if (!key.includes('::token'))
|
|
92
|
-
throw new Error('The Token authorization key should contain "token" type specifier.');
|
|
93
|
-
return [4, this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(key))];
|
|
71
|
+
case 0: return [4, this.keyValueStorage.getValueByKey(this.serviceName, key)];
|
|
94
72
|
case 1:
|
|
95
73
|
record = _a.sent();
|
|
96
74
|
if (!record.value) {
|
|
97
75
|
throw new Error('Authorization does not exist');
|
|
98
76
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
77
|
+
return [2, new TokenAuth_1.TokenAuth({
|
|
78
|
+
serviceName: this.serviceName,
|
|
79
|
+
authKey: key,
|
|
80
|
+
discoveryUrl: this.localDiscoveryUrl,
|
|
81
|
+
token: this.localToken,
|
|
82
|
+
})];
|
|
104
83
|
}
|
|
105
84
|
});
|
|
106
85
|
});
|
|
107
86
|
};
|
|
108
87
|
TokenCollection.prototype.createAuthorization = function (params) {
|
|
109
88
|
return __awaiter(this, void 0, void 0, function () {
|
|
110
|
-
var authName, credentials, id, authKey, authData;
|
|
111
89
|
return __generator(this, function (_a) {
|
|
112
90
|
switch (_a.label) {
|
|
113
|
-
case 0:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
authData = __assign(__assign({}, credentials), { auth_name: authName, date_created: new Date().toISOString() });
|
|
122
|
-
return [4, this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData)];
|
|
123
|
-
case 1:
|
|
124
|
-
_a.sent();
|
|
125
|
-
return [2, __assign(__assign({}, authData), { key: authKey })];
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
TokenCollection.prototype.updateAuthorization = function (tokenAuth, newCredentials) {
|
|
131
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
132
|
-
var updatedData, response, updatedRecord;
|
|
133
|
-
return __generator(this, function (_a) {
|
|
134
|
-
switch (_a.label) {
|
|
135
|
-
case 0:
|
|
136
|
-
if (!this.serviceName)
|
|
137
|
-
throw new Error('Service name is not defined.');
|
|
138
|
-
if (!newCredentials)
|
|
139
|
-
throw new Error('New credentials are empty or invalid');
|
|
140
|
-
if (!tokenAuth || !tokenAuth.auth_name || !tokenAuth.date_created)
|
|
141
|
-
throw new Error('Token authorization data is invalid');
|
|
142
|
-
updatedData = __assign(__assign(__assign({}, tokenAuth), newCredentials), { key: undefined });
|
|
143
|
-
return [4, this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(tokenAuth.key), updatedData)];
|
|
144
|
-
case 1:
|
|
145
|
-
response = _a.sent();
|
|
146
|
-
updatedRecord = response.value;
|
|
147
|
-
return [2, __assign(__assign({}, updatedRecord), { key: tokenAuth.key })];
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
};
|
|
152
|
-
TokenCollection.prototype.deleteAuthorization = function (key) {
|
|
153
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
154
|
-
return __generator(this, function (_a) {
|
|
155
|
-
switch (_a.label) {
|
|
156
|
-
case 0:
|
|
157
|
-
if (!this.serviceName)
|
|
158
|
-
throw new Error('Service name is not defined.');
|
|
159
|
-
if (!key)
|
|
160
|
-
throw new Error('Key is missing or invalid');
|
|
161
|
-
return [4, this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(key))];
|
|
162
|
-
case 1:
|
|
163
|
-
_a.sent();
|
|
164
|
-
return [2];
|
|
91
|
+
case 0: return [4, TokenAuth_1.TokenAuth.create({
|
|
92
|
+
discoveryUrl: this.localDiscoveryUrl,
|
|
93
|
+
token: this.localToken,
|
|
94
|
+
serviceName: this.serviceName,
|
|
95
|
+
authName: params.authName,
|
|
96
|
+
credentials: params.credentials,
|
|
97
|
+
})];
|
|
98
|
+
case 1: return [2, _a.sent()];
|
|
165
99
|
}
|
|
166
100
|
});
|
|
167
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenCollection.js","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokenCollection.js","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAA4D;AAC5D,yCAAwC;AAOxC;IAME,yBAAY,MAA6B;QAC/B,IAAA,KAAK,GAAgC,MAAM,MAAtC,EAAE,YAAY,GAAkB,MAAM,aAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;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,mCAAe,CAAC;YACzC,KAAK,OAAA;YACL,YAAY,cAAA;SACb,CAAC,CAAC;IACL,CAAC;IAKY,4CAAkB,GAA/B;;;;;4BAC6B,WAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAAjE,OAAO,GAAK,CAAA,SAAqD,CAAA,MAA1D;wBAEtB,WAAO,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,GAAG,EAAV,CAAU,CAAC,EAAC;;;;KAC5C;IAKY,0CAAgB,GAA7B,UAA8B,GAAW;;;;;4BACxB,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAA;;wBAAxE,MAAM,GAAG,SAA+D;wBAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;4BACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;yBACjD;wBAED,WAAO,IAAI,qBAAS,CAAC;gCACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,OAAO,EAAE,GAAG;gCACZ,YAAY,EAAE,IAAI,CAAC,iBAAiB;gCACpC,KAAK,EAAE,IAAI,CAAC,UAAU;6BACvB,CAAC,EAAC;;;;KACJ;IAeY,6CAAmB,GAAhC,UACE,MAAyC;;;;4BAElC,WAAM,qBAAS,CAAC,MAAM,CAAC;4BAC5B,YAAY,EAAE,IAAI,CAAC,iBAAiB;4BACpC,KAAK,EAAE,IAAI,CAAC,UAAU;4BACtB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,WAAW,EAAE,MAAM,CAAC,WAAW;yBAChC,CAAC,EAAA;4BANF,WAAO,SAML,EAAC;;;;KACJ;IACH,sBAAC;AAAD,CAAC,AApED,IAoEC;AApEY,0CAAe"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,13 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.OAuthCollection = exports.OAuth = exports.TokenCollection = exports.BasicCollection = void 0;
|
|
18
|
-
var
|
|
19
|
-
Object.defineProperty(exports, "
|
|
20
|
-
var
|
|
21
|
-
Object.defineProperty(exports, "
|
|
22
|
-
var
|
|
23
|
-
Object.defineProperty(exports, "
|
|
24
|
-
|
|
17
|
+
exports.OAuthCollection = exports.OAuth = exports.TokenCollection = exports.TokenAuth = exports.BasicCollection = exports.BasicAuth = void 0;
|
|
18
|
+
var BasicAuth_1 = require("./Basic/BasicAuth");
|
|
19
|
+
Object.defineProperty(exports, "BasicAuth", { enumerable: true, get: function () { return BasicAuth_1.BasicAuth; } });
|
|
20
|
+
var BasicCollection_1 = require("./Basic/BasicCollection");
|
|
21
|
+
Object.defineProperty(exports, "BasicCollection", { enumerable: true, get: function () { return BasicCollection_1.BasicCollection; } });
|
|
22
|
+
var TokenAuth_1 = require("./Token/TokenAuth");
|
|
23
|
+
Object.defineProperty(exports, "TokenAuth", { enumerable: true, get: function () { return TokenAuth_1.TokenAuth; } });
|
|
24
|
+
var TokenCollection_1 = require("./Token/TokenCollection");
|
|
25
|
+
Object.defineProperty(exports, "TokenCollection", { enumerable: true, get: function () { return TokenCollection_1.TokenCollection; } });
|
|
26
|
+
var OAuth_1 = require("./OAuth/OAuth");
|
|
27
|
+
Object.defineProperty(exports, "OAuth", { enumerable: true, get: function () { return OAuth_1.OAuth; } });
|
|
28
|
+
var OAuthCollection_1 = require("./OAuth/OAuthCollection");
|
|
29
|
+
Object.defineProperty(exports, "OAuthCollection", { enumerable: true, get: function () { return OAuthCollection_1.OAuthCollection; } });
|
|
25
30
|
__exportStar(require("./types"), exports);
|
|
26
31
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAExB,+CAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAExB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAExB,0CAAwB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 BasicAuth {
|
|
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 encodeAccessToken(username, password) {
|
|
24
|
+
return btoa(`${username}:${password}`);
|
|
25
|
+
}
|
|
26
|
+
static decodeAccessToken(token) {
|
|
27
|
+
const [username, password] = atob(token).split(':');
|
|
28
|
+
return {
|
|
29
|
+
username,
|
|
30
|
+
password,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
static create(params) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
if (!(params.serviceName && params.authName && params.username && params.password && params.discoveryUrl && params.token)) {
|
|
36
|
+
throw new Error('Invalid config passed');
|
|
37
|
+
}
|
|
38
|
+
const { serviceName, authName, username, password, discoveryUrl, token } = params;
|
|
39
|
+
const keyValueStorage = new KeyValueStorage({
|
|
40
|
+
token,
|
|
41
|
+
discoveryUrl,
|
|
42
|
+
});
|
|
43
|
+
const id = uuidv4();
|
|
44
|
+
const authKey = createAuthKey(id, authName);
|
|
45
|
+
const authData = {
|
|
46
|
+
auth_name: authName,
|
|
47
|
+
access_token: BasicAuth.encodeAccessToken(username, password),
|
|
48
|
+
date_created: new Date().toISOString(),
|
|
49
|
+
};
|
|
50
|
+
yield keyValueStorage.setValueByKey(serviceName, authKey, authData);
|
|
51
|
+
return new BasicAuth({
|
|
52
|
+
serviceName,
|
|
53
|
+
authKey,
|
|
54
|
+
discoveryUrl,
|
|
55
|
+
token,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
update(newCredentials) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const data = yield this.getAuthData();
|
|
62
|
+
let { username, password } = BasicAuth.decodeAccessToken(data.access_token);
|
|
63
|
+
if (newCredentials.username) {
|
|
64
|
+
username = newCredentials.username;
|
|
65
|
+
}
|
|
66
|
+
if (newCredentials.password) {
|
|
67
|
+
password = newCredentials.password;
|
|
68
|
+
}
|
|
69
|
+
const updatedAccessToken = BasicAuth.encodeAccessToken(username, password);
|
|
70
|
+
const updatedData = Object.assign(Object.assign({}, data), { access_token: updatedAccessToken });
|
|
71
|
+
const response = yield this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
|
|
72
|
+
const updatedRecord = response.value;
|
|
73
|
+
return updatedRecord;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
getAuthData() {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
|
|
79
|
+
return value;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
delete() {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
yield this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=BasicAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasicAuth.js","sourceRoot":"","sources":["../../../src/Basic/BasicAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|