@sudoplatform/sudo-user 11.0.0 → 12.0.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/{lib → cjs/src}/client/apiClient.d.ts +0 -0
- package/cjs/src/client/apiClient.js +149 -0
- package/cjs/src/client/apiClient.js.map +1 -0
- package/{lib → cjs/src}/core/api-key-names.d.ts +0 -0
- package/cjs/src/core/api-key-names.js +12 -0
- package/cjs/src/core/api-key-names.js.map +1 -0
- package/{lib → cjs/src}/core/auth-store.d.ts +0 -0
- package/cjs/src/core/auth-store.js +92 -0
- package/cjs/src/core/auth-store.js.map +1 -0
- package/{lib → cjs/src}/core/crypto.d.ts +0 -0
- package/cjs/src/core/crypto.js +3 -0
- package/cjs/src/core/crypto.js.map +1 -0
- package/{lib → cjs/src}/core/key-manager.d.ts +0 -0
- package/cjs/src/core/key-manager.js +113 -0
- package/cjs/src/core/key-manager.js.map +1 -0
- package/cjs/src/core/protected-store.d.ts +5 -0
- package/cjs/src/core/protected-store.js +3 -0
- package/cjs/src/core/protected-store.js.map +1 -0
- package/{lib → cjs/src}/core/publisher.d.ts +0 -0
- package/cjs/src/core/publisher.js +3 -0
- package/cjs/src/core/publisher.js.map +1 -0
- package/{lib → cjs/src}/core/sdk-config.d.ts +0 -0
- package/cjs/src/core/sdk-config.js +61 -0
- package/cjs/src/core/sdk-config.js.map +1 -0
- package/{lib → cjs/src}/core/subscriber.d.ts +0 -0
- package/cjs/src/core/subscriber.js +3 -0
- package/cjs/src/core/subscriber.js.map +1 -0
- package/{lib → cjs/src}/gen/graphql-types.d.ts +0 -0
- package/cjs/src/gen/graphql-types.js +105 -0
- package/cjs/src/gen/graphql-types.js.map +1 -0
- package/{lib → cjs/src}/index.d.ts +0 -0
- package/cjs/src/index.js +13 -0
- package/cjs/src/index.js.map +1 -0
- package/{lib/runtimes/node/node-crypto.d.ts → cjs/src/runtimes/browser/browser-crypto.d.ts} +0 -0
- package/cjs/src/runtimes/browser/browser-crypto.js +10 -0
- package/cjs/src/runtimes/browser/browser-crypto.js.map +1 -0
- package/cjs/src/runtimes/node/node-crypto.d.ts +2 -0
- package/cjs/src/runtimes/node/node-crypto.js +9 -0
- package/cjs/src/runtimes/node/node-crypto.js.map +1 -0
- package/{lib → cjs/src}/sdk.d.ts +0 -0
- package/cjs/src/sdk.js +9 -0
- package/cjs/src/sdk.js.map +1 -0
- package/{lib → cjs/src}/user/auth-provider.d.ts +0 -0
- package/cjs/src/user/auth-provider.js +116 -0
- package/cjs/src/user/auth-provider.js.map +1 -0
- package/{lib → cjs/src}/user/auth.d.ts +0 -0
- package/cjs/src/user/auth.js +136 -0
- package/cjs/src/user/auth.js.map +1 -0
- package/{lib → cjs/src}/user/error.d.ts +0 -0
- package/{lib → cjs/src}/user/error.js +16 -29
- package/cjs/src/user/error.js.map +1 -0
- package/{lib → cjs/src}/user/identity-provider.d.ts +0 -0
- package/cjs/src/user/identity-provider.js +245 -0
- package/cjs/src/user/identity-provider.js.map +1 -0
- package/{lib → cjs/src}/user/user-client-interface.d.ts +0 -0
- package/cjs/src/user/user-client-interface.js +3 -0
- package/cjs/src/user/user-client-interface.js.map +1 -0
- package/{lib → cjs/src}/user/user-client.d.ts +0 -0
- package/cjs/src/user/user-client.js +440 -0
- package/cjs/src/user/user-client.js.map +1 -0
- package/{lib → cjs/src}/user/user-key-names.d.ts +0 -0
- package/cjs/src/user/user-key-names.js +10 -0
- package/cjs/src/user/user-key-names.js.map +1 -0
- package/{lib → cjs/src}/utils/resolvable-promise.d.ts +0 -0
- package/cjs/src/utils/resolvable-promise.js +20 -0
- package/cjs/src/utils/resolvable-promise.js.map +1 -0
- package/cjs/test/integration/user-client-int.spec.d.ts +1 -0
- package/cjs/test/integration/user-client-int.spec.js +206 -0
- package/cjs/test/integration/user-client-int.spec.js.map +1 -0
- package/cjs/test/unit/core/sdk-config.spec.d.ts +1 -0
- package/cjs/test/unit/core/sdk-config.spec.js +51 -0
- package/cjs/test/unit/core/sdk-config.spec.js.map +1 -0
- package/cjs/test/unit/key-manager.spec.d.ts +1 -0
- package/cjs/test/unit/key-manager.spec.js +23 -0
- package/cjs/test/unit/key-manager.spec.js.map +1 -0
- package/cjs/test/unit/user-client.spec.d.ts +1 -0
- package/cjs/test/unit/user-client.spec.js +323 -0
- package/cjs/test/unit/user-client.spec.js.map +1 -0
- package/docs/classes/AlreadyRegisteredError.html +4 -4
- package/docs/classes/IdentityServiceConfigNotFoundError.html +4 -4
- package/lib/src/client/apiClient.d.ts +25 -0
- package/lib/src/client/apiClient.js +145 -0
- package/lib/src/client/apiClient.js.map +1 -0
- package/lib/src/core/api-key-names.d.ts +8 -0
- package/lib/src/core/api-key-names.js +9 -0
- package/lib/src/core/api-key-names.js.map +1 -0
- package/lib/src/core/auth-store.d.ts +51 -0
- package/lib/src/core/auth-store.js +88 -0
- package/lib/src/core/auth-store.js.map +1 -0
- package/lib/src/core/crypto.d.ts +3 -0
- package/lib/src/core/crypto.js +2 -0
- package/lib/src/core/crypto.js.map +1 -0
- package/lib/src/core/key-manager.d.ts +31 -0
- package/lib/src/core/key-manager.js +108 -0
- package/lib/src/core/key-manager.js.map +1 -0
- package/lib/src/core/protected-store.d.ts +5 -0
- package/lib/src/core/protected-store.js +2 -0
- package/lib/src/core/protected-store.js.map +1 -0
- package/lib/src/core/publisher.d.ts +6 -0
- package/lib/src/core/publisher.js +2 -0
- package/lib/src/core/publisher.js.map +1 -0
- package/lib/src/core/sdk-config.d.ts +52 -0
- package/lib/src/core/sdk-config.js +56 -0
- package/lib/src/core/sdk-config.js.map +1 -0
- package/lib/src/core/subscriber.d.ts +3 -0
- package/lib/src/core/subscriber.js +2 -0
- package/lib/src/core/subscriber.js.map +1 -0
- package/lib/src/gen/graphql-types.d.ts +101 -0
- package/lib/src/gen/graphql-types.js +102 -0
- package/lib/src/gen/graphql-types.js.map +1 -0
- package/lib/src/index.d.ts +4 -0
- package/lib/src/index.js +6 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/runtimes/browser/browser-crypto.d.ts +2 -0
- package/lib/src/runtimes/browser/browser-crypto.js +7 -0
- package/lib/src/runtimes/browser/browser-crypto.js.map +1 -0
- package/lib/src/runtimes/node/node-crypto.d.ts +2 -0
- package/lib/src/runtimes/node/node-crypto.js +6 -0
- package/lib/src/runtimes/node/node-crypto.js.map +1 -0
- package/lib/src/sdk.d.ts +1 -0
- package/lib/src/sdk.js +6 -0
- package/lib/src/sdk.js.map +1 -0
- package/lib/src/user/auth-provider.d.ts +97 -0
- package/lib/src/user/auth-provider.js +108 -0
- package/lib/src/user/auth-provider.js.map +1 -0
- package/lib/src/user/auth.d.ts +64 -0
- package/lib/src/user/auth.js +131 -0
- package/lib/src/user/auth.js.map +1 -0
- package/lib/src/user/error.d.ts +18 -0
- package/lib/src/user/error.js +28 -0
- package/lib/src/user/error.js.map +1 -0
- package/lib/src/user/identity-provider.d.ts +73 -0
- package/lib/src/user/identity-provider.js +241 -0
- package/lib/src/user/identity-provider.js.map +1 -0
- package/lib/src/user/user-client-interface.d.ts +168 -0
- package/lib/src/user/user-client-interface.js +2 -0
- package/lib/src/user/user-client-interface.js.map +1 -0
- package/lib/src/user/user-client.d.ts +82 -0
- package/lib/src/user/user-client.js +435 -0
- package/lib/src/user/user-client.js.map +1 -0
- package/lib/src/user/user-key-names.d.ts +6 -0
- package/lib/src/user/user-key-names.js +7 -0
- package/lib/src/user/user-key-names.js.map +1 -0
- package/lib/src/utils/resolvable-promise.d.ts +9 -0
- package/lib/src/utils/resolvable-promise.js +16 -0
- package/lib/src/utils/resolvable-promise.js.map +1 -0
- package/lib/test/integration/user-client-int.spec.d.ts +1 -0
- package/lib/test/integration/user-client-int.spec.js +203 -0
- package/lib/test/integration/user-client-int.spec.js.map +1 -0
- package/lib/test/unit/core/sdk-config.spec.d.ts +1 -0
- package/lib/test/unit/core/sdk-config.spec.js +49 -0
- package/lib/test/unit/core/sdk-config.spec.js.map +1 -0
- package/lib/test/unit/key-manager.spec.d.ts +1 -0
- package/lib/test/unit/key-manager.spec.js +21 -0
- package/lib/test/unit/key-manager.spec.js.map +1 -0
- package/lib/test/unit/user-client.spec.d.ts +1 -0
- package/lib/test/unit/user-client.spec.js +320 -0
- package/lib/test/unit/user-client.spec.js.map +1 -0
- package/package.json +23 -22
- package/lib/client/apiClient.js +0 -190
- package/lib/core/api-key-names.js +0 -15
- package/lib/core/auth-store.js +0 -144
- package/lib/core/crypto.js +0 -5
- package/lib/core/key-manager.js +0 -158
- package/lib/core/protected-store.js +0 -5
- package/lib/core/publisher.js +0 -5
- package/lib/core/sdk-config.js +0 -56
- package/lib/core/subscriber.js +0 -5
- package/lib/gen/graphql-types.js +0 -141
- package/lib/index.js +0 -67
- package/lib/runtimes/browser/browser-crypto.js +0 -15
- package/lib/runtimes/node/node-crypto.js +0 -12
- package/lib/sdk.js +0 -18
- package/lib/user/auth-provider.js +0 -158
- package/lib/user/auth.js +0 -183
- package/lib/user/identity-provider.js +0 -270
- package/lib/user/user-client-interface.js +0 -5
- package/lib/user/user-client.js +0 -522
- package/lib/user/user-key-names.js +0 -13
- package/lib/utils/resolvable-promise.js +0 -22
package/lib/core/auth-store.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.AuthenticationStore = void 0;
|
|
7
|
-
|
|
8
|
-
var JWT = _interopRequireWildcard(require("jsonwebtoken"));
|
|
9
|
-
|
|
10
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
|
|
12
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
|
|
14
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
|
|
16
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
17
|
-
|
|
18
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
19
|
-
|
|
20
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
|
21
|
-
|
|
22
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
|
23
|
-
|
|
24
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
|
25
|
-
|
|
26
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
|
27
|
-
|
|
28
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
|
29
|
-
|
|
30
|
-
var _secrets = /*#__PURE__*/new WeakMap();
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Stores authentication details such as tokens and username
|
|
34
|
-
*/
|
|
35
|
-
class AuthenticationStore {
|
|
36
|
-
constructor() {
|
|
37
|
-
_classPrivateFieldInitSpec(this, _secrets, {
|
|
38
|
-
writable: true,
|
|
39
|
-
value: {}
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
_defineProperty(this, "subscribers", []);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** Adds a secret into private _secrets object */
|
|
46
|
-
async addSecret(keyId, secret) {
|
|
47
|
-
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
48
|
-
_classPrivateFieldGet(this, _secrets)[key] = secret;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Adds a string value into authentication store
|
|
52
|
-
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
async setItem(keyId, value) {
|
|
56
|
-
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
57
|
-
|
|
58
|
-
if (key === 'idToken') {
|
|
59
|
-
// Store the token expiry
|
|
60
|
-
const decoded = JWT.decode(value, {
|
|
61
|
-
complete: true
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
if (decoded) {
|
|
65
|
-
const tokenExpiry = decoded.payload['exp'];
|
|
66
|
-
await this.addSecret('tokenExpiry', {
|
|
67
|
-
type: 'string',
|
|
68
|
-
value: tokenExpiry
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
await this.addSecret(key, {
|
|
74
|
-
type: 'string',
|
|
75
|
-
value
|
|
76
|
-
});
|
|
77
|
-
await this.notifySubscribers(key);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Returns a string value from authentication store
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
getItem(keyId) {
|
|
85
|
-
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
86
|
-
|
|
87
|
-
const secret = _classPrivateFieldGet(this, _secrets)[key];
|
|
88
|
-
|
|
89
|
-
return secret?.type === 'string' ? secret.value : undefined;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Removes a secret
|
|
93
|
-
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
removeItem(keyId) {
|
|
97
|
-
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
98
|
-
delete _classPrivateFieldGet(this, _secrets)[key];
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Clears all secrets
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
reset() {
|
|
106
|
-
_classPrivateFieldSet(this, _secrets, {});
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Register a subscriber to be notified when items are added
|
|
110
|
-
*
|
|
111
|
-
* @param subscriber a subscriber to be notified when items are added
|
|
112
|
-
*/
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
async subscribe(subscriber) {
|
|
116
|
-
this.subscribers.push(subscriber);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Remove a subscriber from the list of subscribers
|
|
120
|
-
*
|
|
121
|
-
* @param subscriber the subscriber to be removed
|
|
122
|
-
*/
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
async unsubscribe(subscriber) {
|
|
126
|
-
const index = this.subscribers.indexOf(subscriber);
|
|
127
|
-
this.subscribers.splice(index, 1);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Notify all subscribers that a change event was triggered for a specific item
|
|
131
|
-
*
|
|
132
|
-
* @param itemName the name of the item that changed
|
|
133
|
-
*/
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
async notifySubscribers(itemName) {
|
|
137
|
-
for (const subscriber of this.subscribers) {
|
|
138
|
-
subscriber.update(itemName);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
exports.AuthenticationStore = AuthenticationStore;
|
package/lib/core/crypto.js
DELETED
package/lib/core/key-manager.js
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.KeyManager = void 0;
|
|
7
|
-
|
|
8
|
-
var _sudoCommon = require("@sudoplatform/sudo-common");
|
|
9
|
-
|
|
10
|
-
var _jsonwebtoken = _interopRequireDefault(require("jsonwebtoken"));
|
|
11
|
-
|
|
12
|
-
var uuid = _interopRequireWildcard(require("uuid"));
|
|
13
|
-
|
|
14
|
-
var _nodeCrypto = require("../runtimes/node/node-crypto");
|
|
15
|
-
|
|
16
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Key Manager
|
|
26
|
-
*/
|
|
27
|
-
class KeyManager {
|
|
28
|
-
constructor(sudoKeyManager) {
|
|
29
|
-
this.sudoKeyManager = sudoKeyManager;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Adds a string value into key manager
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
async addString(keyId, value) {
|
|
37
|
-
await this.sudoKeyManager.addPassword(new TextEncoder().encode(value).buffer, keyId);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Returns a string value from key manager
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
async getString(keyId) {
|
|
45
|
-
const passwordBuffer = await this.sudoKeyManager.getPassword(keyId);
|
|
46
|
-
|
|
47
|
-
if (!passwordBuffer) {
|
|
48
|
-
throw new _sudoCommon.KeyNotFoundError(`No key found for keyId: ${keyId}`);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
try {
|
|
52
|
-
return new TextDecoder('utf-8', {
|
|
53
|
-
fatal: true
|
|
54
|
-
}).decode(passwordBuffer);
|
|
55
|
-
} catch (err) {
|
|
56
|
-
const error = err;
|
|
57
|
-
throw new _sudoCommon.DecodeError(error.message);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Generates and adds a new key pair into key manager
|
|
62
|
-
* @returns Key ID
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
async generateKeyPair(keyId = uuid.v4()) {
|
|
67
|
-
await this.sudoKeyManager.generateKeyPair(keyId);
|
|
68
|
-
return keyId;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Removes a secret
|
|
72
|
-
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
async removeItem(id) {
|
|
76
|
-
await this.sudoKeyManager.deletePassword(id);
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Signs a JWT with a signing key that is in key manager
|
|
80
|
-
* @returns JWT data
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
async signJWT(keyId, payload) {
|
|
85
|
-
const privateKeyBits = await this.sudoKeyManager.getPrivateKey(keyId);
|
|
86
|
-
|
|
87
|
-
if (!privateKeyBits) {
|
|
88
|
-
throw new _sudoCommon.KeyNotFoundError(`No key found for keyId: ${keyId}`);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const base64encoded = _nodeCrypto.cryptoProvider.arrayBufferToBase64(privateKeyBits); //PEM encode private key
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const signingKey = `-----BEGIN PRIVATE KEY-----\n${base64encoded}\n-----END PRIVATE KEY-----`;
|
|
95
|
-
return _jsonwebtoken.default.sign(payload, signingKey, {
|
|
96
|
-
algorithm: 'RS256',
|
|
97
|
-
keyid: keyId
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Exports public key in a format for use with SudoPlatform
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
async exportPublicKey(keyId) {
|
|
106
|
-
const publicKey = await this.sudoKeyManager.getPublicKey(keyId);
|
|
107
|
-
|
|
108
|
-
if (!publicKey) {
|
|
109
|
-
throw new Error('Invalid key ID for exportPublicKey');
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
const base64encoded = _nodeCrypto.cryptoProvider.arrayBufferToBase64(publicKey.keyData);
|
|
113
|
-
|
|
114
|
-
return {
|
|
115
|
-
keyId,
|
|
116
|
-
algorithm: KeyManager.Constants.publicKeyAlgorithm,
|
|
117
|
-
symmetricAlgorithm: KeyManager.Constants.symmetricAlgorithm,
|
|
118
|
-
publicKey: base64encoded,
|
|
119
|
-
keyFormat: publicKey.keyFormat
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Clears all private keys from memory
|
|
124
|
-
*/
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
async reset() {
|
|
128
|
-
await this.sudoKeyManager.removeAllKeys();
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
async retrieveKeyPair(keyId) {
|
|
132
|
-
const publicKey = await this.sudoKeyManager.getPublicKey(keyId);
|
|
133
|
-
|
|
134
|
-
if (!publicKey) {
|
|
135
|
-
throw new _sudoCommon.KeyNotFoundError(`Public key not found for keyId: ${keyId}`);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
const privateKey = await this.sudoKeyManager.getPrivateKey(keyId);
|
|
139
|
-
|
|
140
|
-
if (!privateKey) {
|
|
141
|
-
throw new _sudoCommon.KeyNotFoundError(`Private key not found for keyId: ${keyId}`);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
return {
|
|
145
|
-
publicKey: _nodeCrypto.cryptoProvider.arrayBufferToBase64(publicKey.keyData),
|
|
146
|
-
publicKeyFormat: publicKey.keyFormat,
|
|
147
|
-
privateKey: _nodeCrypto.cryptoProvider.arrayBufferToBase64(privateKey)
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
exports.KeyManager = KeyManager;
|
|
154
|
-
|
|
155
|
-
_defineProperty(KeyManager, "Constants", {
|
|
156
|
-
publicKeyAlgorithm: 'RSA',
|
|
157
|
-
symmetricAlgorithm: 'AES/256'
|
|
158
|
-
});
|
package/lib/core/publisher.js
DELETED
package/lib/core/sdk-config.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.IdentityServiceConfigCodec = exports.FederatedSignInConfigCodec = exports.Config = void 0;
|
|
7
|
-
exports.getIdentityServiceConfig = getIdentityServiceConfig;
|
|
8
|
-
|
|
9
|
-
var _sudoCommon = require("@sudoplatform/sudo-common");
|
|
10
|
-
|
|
11
|
-
var t = _interopRequireWildcard(require("io-ts"));
|
|
12
|
-
|
|
13
|
-
var _error = require("../user/error");
|
|
14
|
-
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
|
|
17
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
|
|
19
|
-
const IdentityServiceConfigCodec = t.intersection([t.type({
|
|
20
|
-
region: t.string,
|
|
21
|
-
poolId: t.string,
|
|
22
|
-
clientId: t.string,
|
|
23
|
-
identityPoolId: t.string,
|
|
24
|
-
apiUrl: t.string,
|
|
25
|
-
apiKey: t.string,
|
|
26
|
-
bucket: t.string,
|
|
27
|
-
transientBucket: t.string,
|
|
28
|
-
registrationMethods: t.array(t.string)
|
|
29
|
-
}), t.partial({
|
|
30
|
-
refreshTokenLifetime: t.number
|
|
31
|
-
})], 'IdentityServiceConfig');
|
|
32
|
-
exports.IdentityServiceConfigCodec = IdentityServiceConfigCodec;
|
|
33
|
-
const FederatedSignInConfigCodec = t.intersection([t.type({
|
|
34
|
-
appClientId: t.string,
|
|
35
|
-
signInRedirectUri: t.string,
|
|
36
|
-
signOutRedirectUri: t.string,
|
|
37
|
-
webDomain: t.string
|
|
38
|
-
}), t.partial({
|
|
39
|
-
identityProvider: t.string,
|
|
40
|
-
refreshTokenLifetime: t.number
|
|
41
|
-
})], 'FederatedSignInConfig');
|
|
42
|
-
exports.FederatedSignInConfigCodec = FederatedSignInConfigCodec;
|
|
43
|
-
const Config = t.intersection([t.type({
|
|
44
|
-
identityService: IdentityServiceConfigCodec
|
|
45
|
-
}), t.partial({
|
|
46
|
-
federatedSignIn: FederatedSignInConfigCodec
|
|
47
|
-
})]);
|
|
48
|
-
exports.Config = Config;
|
|
49
|
-
|
|
50
|
-
function getIdentityServiceConfig() {
|
|
51
|
-
if (!_sudoCommon.DefaultConfigurationManager.getInstance().getConfigSet('identityService')) {
|
|
52
|
-
throw new _error.IdentityServiceConfigNotFoundError();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return _sudoCommon.DefaultConfigurationManager.getInstance().bindConfigSet(Config, undefined);
|
|
56
|
-
}
|
package/lib/core/subscriber.js
DELETED
package/lib/gen/graphql-types.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.RegisterFederatedIdDocument = exports.GlobalSignOutDocument = exports.DeregisterDocument = void 0;
|
|
7
|
-
// Sourcecode generated by graphql-codegen. DO NOT EDIT!
|
|
8
|
-
|
|
9
|
-
/* eslint-disable */
|
|
10
|
-
|
|
11
|
-
/** All built-in and custom scalars, mapped to their actual values */
|
|
12
|
-
const DeregisterDocument = {
|
|
13
|
-
kind: 'Document',
|
|
14
|
-
definitions: [{
|
|
15
|
-
kind: 'OperationDefinition',
|
|
16
|
-
operation: 'mutation',
|
|
17
|
-
name: {
|
|
18
|
-
kind: 'Name',
|
|
19
|
-
value: 'deregister'
|
|
20
|
-
},
|
|
21
|
-
selectionSet: {
|
|
22
|
-
kind: 'SelectionSet',
|
|
23
|
-
selections: [{
|
|
24
|
-
kind: 'Field',
|
|
25
|
-
name: {
|
|
26
|
-
kind: 'Name',
|
|
27
|
-
value: 'deregister'
|
|
28
|
-
},
|
|
29
|
-
selectionSet: {
|
|
30
|
-
kind: 'SelectionSet',
|
|
31
|
-
selections: [{
|
|
32
|
-
kind: 'Field',
|
|
33
|
-
name: {
|
|
34
|
-
kind: 'Name',
|
|
35
|
-
value: 'success'
|
|
36
|
-
}
|
|
37
|
-
}]
|
|
38
|
-
}
|
|
39
|
-
}]
|
|
40
|
-
}
|
|
41
|
-
}]
|
|
42
|
-
};
|
|
43
|
-
exports.DeregisterDocument = DeregisterDocument;
|
|
44
|
-
const GlobalSignOutDocument = {
|
|
45
|
-
kind: 'Document',
|
|
46
|
-
definitions: [{
|
|
47
|
-
kind: 'OperationDefinition',
|
|
48
|
-
operation: 'mutation',
|
|
49
|
-
name: {
|
|
50
|
-
kind: 'Name',
|
|
51
|
-
value: 'GlobalSignOut'
|
|
52
|
-
},
|
|
53
|
-
selectionSet: {
|
|
54
|
-
kind: 'SelectionSet',
|
|
55
|
-
selections: [{
|
|
56
|
-
kind: 'Field',
|
|
57
|
-
name: {
|
|
58
|
-
kind: 'Name',
|
|
59
|
-
value: 'globalSignOut'
|
|
60
|
-
},
|
|
61
|
-
selectionSet: {
|
|
62
|
-
kind: 'SelectionSet',
|
|
63
|
-
selections: [{
|
|
64
|
-
kind: 'Field',
|
|
65
|
-
name: {
|
|
66
|
-
kind: 'Name',
|
|
67
|
-
value: 'success'
|
|
68
|
-
}
|
|
69
|
-
}]
|
|
70
|
-
}
|
|
71
|
-
}]
|
|
72
|
-
}
|
|
73
|
-
}]
|
|
74
|
-
};
|
|
75
|
-
exports.GlobalSignOutDocument = GlobalSignOutDocument;
|
|
76
|
-
const RegisterFederatedIdDocument = {
|
|
77
|
-
kind: 'Document',
|
|
78
|
-
definitions: [{
|
|
79
|
-
kind: 'OperationDefinition',
|
|
80
|
-
operation: 'mutation',
|
|
81
|
-
name: {
|
|
82
|
-
kind: 'Name',
|
|
83
|
-
value: 'registerFederatedId'
|
|
84
|
-
},
|
|
85
|
-
variableDefinitions: [{
|
|
86
|
-
kind: 'VariableDefinition',
|
|
87
|
-
variable: {
|
|
88
|
-
kind: 'Variable',
|
|
89
|
-
name: {
|
|
90
|
-
kind: 'Name',
|
|
91
|
-
value: 'input'
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
type: {
|
|
95
|
-
kind: 'NonNullType',
|
|
96
|
-
type: {
|
|
97
|
-
kind: 'NamedType',
|
|
98
|
-
name: {
|
|
99
|
-
kind: 'Name',
|
|
100
|
-
value: 'RegisterFederatedIdInput'
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}],
|
|
105
|
-
selectionSet: {
|
|
106
|
-
kind: 'SelectionSet',
|
|
107
|
-
selections: [{
|
|
108
|
-
kind: 'Field',
|
|
109
|
-
name: {
|
|
110
|
-
kind: 'Name',
|
|
111
|
-
value: 'registerFederatedId'
|
|
112
|
-
},
|
|
113
|
-
arguments: [{
|
|
114
|
-
kind: 'Argument',
|
|
115
|
-
name: {
|
|
116
|
-
kind: 'Name',
|
|
117
|
-
value: 'input'
|
|
118
|
-
},
|
|
119
|
-
value: {
|
|
120
|
-
kind: 'Variable',
|
|
121
|
-
name: {
|
|
122
|
-
kind: 'Name',
|
|
123
|
-
value: 'input'
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}],
|
|
127
|
-
selectionSet: {
|
|
128
|
-
kind: 'SelectionSet',
|
|
129
|
-
selections: [{
|
|
130
|
-
kind: 'Field',
|
|
131
|
-
name: {
|
|
132
|
-
kind: 'Name',
|
|
133
|
-
value: 'identityId'
|
|
134
|
-
}
|
|
135
|
-
}]
|
|
136
|
-
}
|
|
137
|
-
}]
|
|
138
|
-
}
|
|
139
|
-
}]
|
|
140
|
-
};
|
|
141
|
-
exports.RegisterFederatedIdDocument = RegisterFederatedIdDocument;
|
package/lib/index.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
DefaultSudoUserClient: true,
|
|
8
|
-
TESTAuthenticationProvider: true,
|
|
9
|
-
LocalAuthenticationProvider: true,
|
|
10
|
-
AuthenticationProvider: true
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "AuthenticationProvider", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _authProvider.AuthenticationProvider;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "DefaultSudoUserClient", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _userClient.DefaultSudoUserClient;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "LocalAuthenticationProvider", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _authProvider.LocalAuthenticationProvider;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "TESTAuthenticationProvider", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _authProvider.TESTAuthenticationProvider;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
var _userClient = require("./user/user-client");
|
|
38
|
-
|
|
39
|
-
var _userClientInterface = require("./user/user-client-interface");
|
|
40
|
-
|
|
41
|
-
Object.keys(_userClientInterface).forEach(function (key) {
|
|
42
|
-
if (key === "default" || key === "__esModule") return;
|
|
43
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
44
|
-
if (key in exports && exports[key] === _userClientInterface[key]) return;
|
|
45
|
-
Object.defineProperty(exports, key, {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
get: function () {
|
|
48
|
-
return _userClientInterface[key];
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
var _authProvider = require("./user/auth-provider");
|
|
54
|
-
|
|
55
|
-
var _error = require("./user/error");
|
|
56
|
-
|
|
57
|
-
Object.keys(_error).forEach(function (key) {
|
|
58
|
-
if (key === "default" || key === "__esModule") return;
|
|
59
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
60
|
-
if (key in exports && exports[key] === _error[key]) return;
|
|
61
|
-
Object.defineProperty(exports, key, {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
get: function () {
|
|
64
|
-
return _error[key];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.cryptoProvider = void 0;
|
|
7
|
-
|
|
8
|
-
var _sudoCommon = require("@sudoplatform/sudo-common");
|
|
9
|
-
|
|
10
|
-
const cryptoProvider = {
|
|
11
|
-
arrayBufferToBase64: buffer => {
|
|
12
|
-
return _sudoCommon.Base64.encode(buffer);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
exports.cryptoProvider = cryptoProvider;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.cryptoProvider = void 0;
|
|
7
|
-
const cryptoProvider = {
|
|
8
|
-
arrayBufferToBase64: buffer => {
|
|
9
|
-
return Buffer.from(buffer).toString('base64');
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
exports.cryptoProvider = cryptoProvider;
|
package/lib/sdk.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _sdkConfig = require("./core/sdk-config");
|
|
8
|
-
|
|
9
|
-
Object.keys(_sdkConfig).forEach(function (key) {
|
|
10
|
-
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (key in exports && exports[key] === _sdkConfig[key]) return;
|
|
12
|
-
Object.defineProperty(exports, key, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _sdkConfig[key];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|