@sudoplatform/sudo-user 10.1.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 +5 -4
- 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/assets/highlight.css +3 -3
- package/docs/assets/main.js +4 -2
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +427 -617
- package/docs/classes/AlreadyRegisteredError.html +163 -8
- package/docs/classes/DefaultSudoUserClient.html +568 -57
- package/docs/classes/IdentityServiceConfigNotFoundError.html +163 -8
- package/docs/classes/LocalAuthenticationProvider.html +131 -12
- package/docs/classes/TESTAuthenticationProvider.html +146 -11
- package/docs/index.html +47 -2
- package/docs/interfaces/AuthenticationProvider.html +89 -6
- package/docs/interfaces/AuthenticationTokens.html +97 -7
- package/docs/interfaces/SudoUserClient.html +431 -80
- package/docs/modules.html +62 -1
- 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 +47 -41
- package/docs/assets/icons.css +0 -1043
- package/docs/assets/icons.png +0 -0
- package/docs/assets/icons@2x.png +0 -0
- package/lib/client/apiClient.js +0 -206
- 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 -185
- package/lib/user/identity-provider.js +0 -272
- package/lib/user/user-client-interface.js +0 -5
- package/lib/user/user-client.js +0 -530
- package/lib/user/user-key-names.js +0 -13
- package/lib/utils/resolvable-promise.js +0 -22
|
File without changes
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiClient = void 0;
|
|
4
|
+
const aws_appsync_1 = require("aws-appsync");
|
|
5
|
+
const graphql_types_1 = require("../gen/graphql-types");
|
|
6
|
+
const sudo_common_1 = require("@sudoplatform/sudo-common");
|
|
7
|
+
/**
|
|
8
|
+
* AppSync wrapper to use to invoke Identity Service APIs.
|
|
9
|
+
*/
|
|
10
|
+
class ApiClient {
|
|
11
|
+
constructor(region, graphqlUrl, sudoUserClient, logger) {
|
|
12
|
+
this.region = region;
|
|
13
|
+
this.graphqlUrl = graphqlUrl;
|
|
14
|
+
this.sudoUserClient = sudoUserClient;
|
|
15
|
+
this.logger = logger;
|
|
16
|
+
this.client = new aws_appsync_1.AWSAppSyncClient({
|
|
17
|
+
url: graphqlUrl,
|
|
18
|
+
region: region,
|
|
19
|
+
auth: {
|
|
20
|
+
type: aws_appsync_1.AUTH_TYPE.AMAZON_COGNITO_USER_POOLS,
|
|
21
|
+
jwtToken: async () => await sudoUserClient.getLatestAuthToken(),
|
|
22
|
+
},
|
|
23
|
+
disableOffline: true,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async deregister() {
|
|
27
|
+
if (!(await this.sudoUserClient.isSignedIn())) {
|
|
28
|
+
throw new sudo_common_1.NotSignedInError();
|
|
29
|
+
}
|
|
30
|
+
let result;
|
|
31
|
+
try {
|
|
32
|
+
result = await this.client.mutate({
|
|
33
|
+
mutation: graphql_types_1.DeregisterDocument,
|
|
34
|
+
fetchPolicy: 'no-cache',
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
const apolloError = err;
|
|
39
|
+
const error = apolloError.graphQLErrors?.[0];
|
|
40
|
+
if (error) {
|
|
41
|
+
throw this.graphQLErrorsToClientError(error);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new sudo_common_1.UnknownGraphQLError(err);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const error = result.errors?.[0];
|
|
48
|
+
if (error) {
|
|
49
|
+
throw this.graphQLErrorsToClientError(error);
|
|
50
|
+
}
|
|
51
|
+
if (result.data) {
|
|
52
|
+
return { success: result.data.deregister?.success ? true : false };
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new sudo_common_1.FatalError('deregister did not return any result.');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async globalSignOut() {
|
|
59
|
+
if (!(await this.sudoUserClient.isSignedIn())) {
|
|
60
|
+
throw new sudo_common_1.NotSignedInError();
|
|
61
|
+
}
|
|
62
|
+
let result;
|
|
63
|
+
try {
|
|
64
|
+
result = await this.client.mutate({
|
|
65
|
+
mutation: graphql_types_1.GlobalSignOutDocument,
|
|
66
|
+
fetchPolicy: 'no-cache',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const apolloError = err;
|
|
71
|
+
const error = apolloError.graphQLErrors?.[0];
|
|
72
|
+
if (error) {
|
|
73
|
+
throw this.graphQLErrorsToClientError(error);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw new sudo_common_1.UnknownGraphQLError(err);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const error = result.errors?.[0];
|
|
80
|
+
if (error) {
|
|
81
|
+
throw this.graphQLErrorsToClientError(error);
|
|
82
|
+
}
|
|
83
|
+
if (result.data) {
|
|
84
|
+
return { success: result.data.globalSignOut?.success ? true : false };
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
throw new sudo_common_1.FatalError('globalSignOut did not return any result.');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async registerFederatedId(input) {
|
|
91
|
+
let result;
|
|
92
|
+
try {
|
|
93
|
+
result = await this.client.mutate({
|
|
94
|
+
mutation: graphql_types_1.RegisterFederatedIdDocument,
|
|
95
|
+
variables: { input },
|
|
96
|
+
fetchPolicy: 'no-cache',
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
const apolloError = err;
|
|
101
|
+
const error = apolloError.graphQLErrors?.[0];
|
|
102
|
+
if (error) {
|
|
103
|
+
throw this.graphQLErrorsToClientError(error);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
throw new sudo_common_1.UnknownGraphQLError(err);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const error = result.errors?.[0];
|
|
110
|
+
if (error) {
|
|
111
|
+
throw this.graphQLErrorsToClientError(error);
|
|
112
|
+
}
|
|
113
|
+
const identityId = result.data?.registerFederatedId?.identityId;
|
|
114
|
+
if (identityId) {
|
|
115
|
+
return {
|
|
116
|
+
identityId,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
throw new sudo_common_1.FatalError('registerFederatedId did not return expected result.');
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
reset() {
|
|
124
|
+
this.client.clearStore();
|
|
125
|
+
this.client = new aws_appsync_1.AWSAppSyncClient({
|
|
126
|
+
url: this.graphqlUrl,
|
|
127
|
+
region: this.region,
|
|
128
|
+
auth: {
|
|
129
|
+
type: aws_appsync_1.AUTH_TYPE.AMAZON_COGNITO_USER_POOLS,
|
|
130
|
+
jwtToken: async () => await this.sudoUserClient.getLatestAuthToken(),
|
|
131
|
+
},
|
|
132
|
+
disableOffline: true,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
graphQLErrorsToClientError(error) {
|
|
136
|
+
this.logger.error('GraphQL call failed.', { error });
|
|
137
|
+
if (error.errorType === 'sudoplatform.ServiceError') {
|
|
138
|
+
return new sudo_common_1.ServiceError(error.message);
|
|
139
|
+
}
|
|
140
|
+
else if (error.errorType === 'sudoplatform.identity.TokenValidationError') {
|
|
141
|
+
return new sudo_common_1.NotAuthorizedError();
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
return new sudo_common_1.UnknownGraphQLError(error);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.ApiClient = ApiClient;
|
|
149
|
+
//# sourceMappingURL=apiClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/client/apiClient.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiKeyNames = void 0;
|
|
4
|
+
exports.apiKeyNames = {
|
|
5
|
+
idToken: 'idToken',
|
|
6
|
+
accessToken: 'accessToken',
|
|
7
|
+
refreshToken: 'refreshToken',
|
|
8
|
+
tokenExpiry: 'tokenExpiry',
|
|
9
|
+
refreshTokenExpiry: 'refreshTokenExpiry',
|
|
10
|
+
userId: 'LastAuthUser',
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=api-key-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-key-names.js","sourceRoot":"","sources":["../../../src/core/api-key-names.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,MAAM,EAAE,cAAc;CACvB,CAAA"}
|
|
File without changes
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _AuthenticationStore_secrets;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AuthenticationStore = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const JWT = tslib_1.__importStar(require("jsonwebtoken"));
|
|
7
|
+
/**
|
|
8
|
+
* Stores authentication details such as tokens and username
|
|
9
|
+
*/
|
|
10
|
+
class AuthenticationStore {
|
|
11
|
+
constructor() {
|
|
12
|
+
/** Do not expose these directly */
|
|
13
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
14
|
+
_AuthenticationStore_secrets.set(this, {});
|
|
15
|
+
this.subscribers = [];
|
|
16
|
+
}
|
|
17
|
+
/** Adds a secret into private _secrets object */
|
|
18
|
+
async addSecret(keyId, secret) {
|
|
19
|
+
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
20
|
+
tslib_1.__classPrivateFieldGet(this, _AuthenticationStore_secrets, "f")[key] = secret;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Adds a string value into authentication store
|
|
24
|
+
*/
|
|
25
|
+
async setItem(keyId, value) {
|
|
26
|
+
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
27
|
+
if (key === 'idToken') {
|
|
28
|
+
// Store the token expiry
|
|
29
|
+
const decoded = JWT.decode(value, { complete: true });
|
|
30
|
+
if (decoded) {
|
|
31
|
+
const tokenExpiry = decoded.payload['exp'];
|
|
32
|
+
await this.addSecret('tokenExpiry', {
|
|
33
|
+
type: 'string',
|
|
34
|
+
value: tokenExpiry,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
await this.addSecret(key, { type: 'string', value });
|
|
39
|
+
await this.notifySubscribers(key);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns a string value from authentication store
|
|
43
|
+
*/
|
|
44
|
+
getItem(keyId) {
|
|
45
|
+
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
46
|
+
const secret = tslib_1.__classPrivateFieldGet(this, _AuthenticationStore_secrets, "f")[key];
|
|
47
|
+
return secret?.type === 'string' ? secret.value : undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Removes a secret
|
|
51
|
+
*/
|
|
52
|
+
removeItem(keyId) {
|
|
53
|
+
const key = keyId.substr(keyId.lastIndexOf('.') + 1);
|
|
54
|
+
delete tslib_1.__classPrivateFieldGet(this, _AuthenticationStore_secrets, "f")[key];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Clears all secrets
|
|
58
|
+
*/
|
|
59
|
+
reset() {
|
|
60
|
+
tslib_1.__classPrivateFieldSet(this, _AuthenticationStore_secrets, {}, "f");
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Register a subscriber to be notified when items are added
|
|
64
|
+
*
|
|
65
|
+
* @param subscriber a subscriber to be notified when items are added
|
|
66
|
+
*/
|
|
67
|
+
async subscribe(subscriber) {
|
|
68
|
+
this.subscribers.push(subscriber);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Remove a subscriber from the list of subscribers
|
|
72
|
+
*
|
|
73
|
+
* @param subscriber the subscriber to be removed
|
|
74
|
+
*/
|
|
75
|
+
async unsubscribe(subscriber) {
|
|
76
|
+
const index = this.subscribers.indexOf(subscriber);
|
|
77
|
+
this.subscribers.splice(index, 1);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Notify all subscribers that a change event was triggered for a specific item
|
|
81
|
+
*
|
|
82
|
+
* @param itemName the name of the item that changed
|
|
83
|
+
*/
|
|
84
|
+
async notifySubscribers(itemName) {
|
|
85
|
+
for (const subscriber of this.subscribers) {
|
|
86
|
+
subscriber.update(itemName);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.AuthenticationStore = AuthenticationStore;
|
|
91
|
+
_AuthenticationStore_secrets = new WeakMap();
|
|
92
|
+
//# sourceMappingURL=auth-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-store.js","sourceRoot":"","sources":["../../../src/core/auth-store.ts"],"names":[],"mappings":";;;;;AAEA,0DAAmC;AAcnC;;GAEG;AACH,MAAa,mBAAmB;IAAhC;QACE,mCAAmC;QACnC,0EAA0E;QAC1E,uCAAmC,EAAE,EAAA;QACrC,gBAAW,GAAiB,EAAE,CAAA;IAiFhC,CAAC;IA/EC,iDAAiD;IACzC,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,MAAc;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,+BAAA,IAAI,oCAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAa;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,yBAAyB;YACzB,MAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;YAC1D,IAAI,OAAO,EAAE;gBACX,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;oBAClC,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAA;aACH;SACF;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,KAAa;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,+BAAA,IAAI,oCAAS,CAAC,GAAG,CAAC,CAAA;QACjC,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,KAAa;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,OAAO,+BAAA,IAAI,oCAAS,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK;QACV,+BAAA,IAAI,gCAAY,EAAE,MAAA,CAAA;IACpB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,UAAsB;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,UAAsB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAClD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YACzC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC5B;IACH,CAAC;CACF;AArFD,kDAqFC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/core/crypto.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KeyManager = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const sudo_common_1 = require("@sudoplatform/sudo-common");
|
|
6
|
+
const jsonwebtoken_1 = tslib_1.__importDefault(require("jsonwebtoken"));
|
|
7
|
+
const uuid = tslib_1.__importStar(require("uuid"));
|
|
8
|
+
const node_crypto_1 = require("../runtimes/node/node-crypto");
|
|
9
|
+
/**
|
|
10
|
+
* Key Manager
|
|
11
|
+
*/
|
|
12
|
+
class KeyManager {
|
|
13
|
+
constructor(sudoKeyManager) {
|
|
14
|
+
this.sudoKeyManager = sudoKeyManager;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Adds a string value into key manager
|
|
18
|
+
*/
|
|
19
|
+
async addString(keyId, value) {
|
|
20
|
+
await this.sudoKeyManager.addPassword(new TextEncoder().encode(value).buffer, keyId);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns a string value from key manager
|
|
24
|
+
*/
|
|
25
|
+
async getString(keyId) {
|
|
26
|
+
const passwordBuffer = await this.sudoKeyManager.getPassword(keyId);
|
|
27
|
+
if (!passwordBuffer) {
|
|
28
|
+
throw new sudo_common_1.KeyNotFoundError(`No key found for keyId: ${keyId}`);
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return new TextDecoder('utf-8', { fatal: true }).decode(passwordBuffer);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
const error = err;
|
|
35
|
+
throw new sudo_common_1.DecodeError(error.message);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Generates and adds a new key pair into key manager
|
|
40
|
+
* @returns Key ID
|
|
41
|
+
*/
|
|
42
|
+
async generateKeyPair(keyId = uuid.v4()) {
|
|
43
|
+
await this.sudoKeyManager.generateKeyPair(keyId);
|
|
44
|
+
return keyId;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Removes a secret
|
|
48
|
+
*/
|
|
49
|
+
async removeItem(id) {
|
|
50
|
+
await this.sudoKeyManager.deletePassword(id);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Signs a JWT with a signing key that is in key manager
|
|
54
|
+
* @returns JWT data
|
|
55
|
+
*/
|
|
56
|
+
async signJWT(keyId, payload) {
|
|
57
|
+
const privateKeyBits = await this.sudoKeyManager.getPrivateKey(keyId);
|
|
58
|
+
if (!privateKeyBits) {
|
|
59
|
+
throw new sudo_common_1.KeyNotFoundError(`No key found for keyId: ${keyId}`);
|
|
60
|
+
}
|
|
61
|
+
const base64encoded = node_crypto_1.cryptoProvider.arrayBufferToBase64(privateKeyBits);
|
|
62
|
+
//PEM encode private key
|
|
63
|
+
const signingKey = `-----BEGIN PRIVATE KEY-----\n${base64encoded}\n-----END PRIVATE KEY-----`;
|
|
64
|
+
return jsonwebtoken_1.default.sign(payload, signingKey, {
|
|
65
|
+
algorithm: 'RS256',
|
|
66
|
+
keyid: keyId,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Exports public key in a format for use with SudoPlatform
|
|
71
|
+
*/
|
|
72
|
+
async exportPublicKey(keyId) {
|
|
73
|
+
const publicKey = await this.sudoKeyManager.getPublicKey(keyId);
|
|
74
|
+
if (!publicKey) {
|
|
75
|
+
throw new Error('Invalid key ID for exportPublicKey');
|
|
76
|
+
}
|
|
77
|
+
const base64encoded = node_crypto_1.cryptoProvider.arrayBufferToBase64(publicKey.keyData);
|
|
78
|
+
return {
|
|
79
|
+
keyId,
|
|
80
|
+
algorithm: KeyManager.Constants.publicKeyAlgorithm,
|
|
81
|
+
symmetricAlgorithm: KeyManager.Constants.symmetricAlgorithm,
|
|
82
|
+
publicKey: base64encoded,
|
|
83
|
+
keyFormat: publicKey.keyFormat,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Clears all private keys from memory
|
|
88
|
+
*/
|
|
89
|
+
async reset() {
|
|
90
|
+
await this.sudoKeyManager.removeAllKeys();
|
|
91
|
+
}
|
|
92
|
+
async retrieveKeyPair(keyId) {
|
|
93
|
+
const publicKey = await this.sudoKeyManager.getPublicKey(keyId);
|
|
94
|
+
if (!publicKey) {
|
|
95
|
+
throw new sudo_common_1.KeyNotFoundError(`Public key not found for keyId: ${keyId}`);
|
|
96
|
+
}
|
|
97
|
+
const privateKey = await this.sudoKeyManager.getPrivateKey(keyId);
|
|
98
|
+
if (!privateKey) {
|
|
99
|
+
throw new sudo_common_1.KeyNotFoundError(`Private key not found for keyId: ${keyId}`);
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
publicKey: node_crypto_1.cryptoProvider.arrayBufferToBase64(publicKey.keyData),
|
|
103
|
+
publicKeyFormat: publicKey.keyFormat,
|
|
104
|
+
privateKey: node_crypto_1.cryptoProvider.arrayBufferToBase64(privateKey),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.KeyManager = KeyManager;
|
|
109
|
+
KeyManager.Constants = {
|
|
110
|
+
publicKeyAlgorithm: 'RSA',
|
|
111
|
+
symmetricAlgorithm: 'AES/256',
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=key-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-manager.js","sourceRoot":"","sources":["../../../src/core/key-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-store.js","sourceRoot":"","sources":["../../../src/core/protected-store.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/core/publisher.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIdentityServiceConfig = exports.Config = exports.FederatedSignInConfigCodec = exports.IdentityServiceConfigCodec = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const sudo_common_1 = require("@sudoplatform/sudo-common");
|
|
6
|
+
const t = tslib_1.__importStar(require("io-ts"));
|
|
7
|
+
const error_1 = require("../user/error");
|
|
8
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
9
|
+
exports.IdentityServiceConfigCodec = t.intersection([
|
|
10
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
11
|
+
t.type({
|
|
12
|
+
region: t.string,
|
|
13
|
+
poolId: t.string,
|
|
14
|
+
clientId: t.string,
|
|
15
|
+
identityPoolId: t.string,
|
|
16
|
+
apiUrl: t.string,
|
|
17
|
+
apiKey: t.string,
|
|
18
|
+
bucket: t.string,
|
|
19
|
+
transientBucket: t.string,
|
|
20
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
21
|
+
registrationMethods: t.array(t.string),
|
|
22
|
+
}),
|
|
23
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
24
|
+
t.partial({
|
|
25
|
+
refreshTokenLifetime: t.number,
|
|
26
|
+
}),
|
|
27
|
+
], 'IdentityServiceConfig');
|
|
28
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
29
|
+
exports.FederatedSignInConfigCodec = t.intersection([
|
|
30
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
31
|
+
t.type({
|
|
32
|
+
appClientId: t.string,
|
|
33
|
+
signInRedirectUri: t.string,
|
|
34
|
+
signOutRedirectUri: t.string,
|
|
35
|
+
webDomain: t.string,
|
|
36
|
+
}),
|
|
37
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
38
|
+
t.partial({
|
|
39
|
+
identityProvider: t.string,
|
|
40
|
+
refreshTokenLifetime: t.number,
|
|
41
|
+
}),
|
|
42
|
+
], 'FederatedSignInConfig');
|
|
43
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
44
|
+
exports.Config = t.intersection([
|
|
45
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
46
|
+
t.type({
|
|
47
|
+
identityService: exports.IdentityServiceConfigCodec,
|
|
48
|
+
}),
|
|
49
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
50
|
+
t.partial({
|
|
51
|
+
federatedSignIn: exports.FederatedSignInConfigCodec,
|
|
52
|
+
}),
|
|
53
|
+
]);
|
|
54
|
+
function getIdentityServiceConfig() {
|
|
55
|
+
if (!sudo_common_1.DefaultConfigurationManager.getInstance().getConfigSet('identityService')) {
|
|
56
|
+
throw new error_1.IdentityServiceConfigNotFoundError();
|
|
57
|
+
}
|
|
58
|
+
return sudo_common_1.DefaultConfigurationManager.getInstance().bindConfigSet(exports.Config, undefined);
|
|
59
|
+
}
|
|
60
|
+
exports.getIdentityServiceConfig = getIdentityServiceConfig;
|
|
61
|
+
//# sourceMappingURL=sdk-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../../src/core/sdk-config.ts"],"names":[],"mappings":";;;;AAAA,2DAAuE;AACvE,iDAA0B;AAC1B,yCAAkE;AAElE,0EAA0E;AAC7D,QAAA,0BAA0B,GAAG,CAAC,CAAC,YAAY,CACtD;IACE,0EAA0E;IAC1E,CAAC,CAAC,IAAI,CAAC;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,cAAc,EAAE,CAAC,CAAC,MAAM;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,eAAe,EAAE,CAAC,CAAC,MAAM;QACzB,0EAA0E;QAC1E,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC;QACR,oBAAoB,EAAE,CAAC,CAAC,MAAM;KAC/B,CAAC;CACH,EACD,uBAAuB,CACxB,CAAA;AAED,0EAA0E;AAC7D,QAAA,0BAA0B,GAAG,CAAC,CAAC,YAAY,CACtD;IACE,0EAA0E;IAC1E,CAAC,CAAC,IAAI,CAAC;QACL,WAAW,EAAE,CAAC,CAAC,MAAM;QACrB,iBAAiB,EAAE,CAAC,CAAC,MAAM;QAC3B,kBAAkB,EAAE,CAAC,CAAC,MAAM;QAC5B,SAAS,EAAE,CAAC,CAAC,MAAM;KACpB,CAAC;IACF,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC;QACR,gBAAgB,EAAE,CAAC,CAAC,MAAM;QAC1B,oBAAoB,EAAE,CAAC,CAAC,MAAM;KAC/B,CAAC;CACH,EACD,uBAAuB,CACxB,CAAA;AAED,0EAA0E;AAC7D,QAAA,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;IACnC,0EAA0E;IAC1E,CAAC,CAAC,IAAI,CAAC;QACL,eAAe,EAAE,kCAA0B;KAC5C,CAAC;IACF,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC;QACR,eAAe,EAAE,kCAA0B;KAC5C,CAAC;CACH,CAAC,CAAA;AAMF,SAAgB,wBAAwB;IACtC,IACE,CAAC,yCAA2B,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAC1E;QACA,MAAM,IAAI,0CAAkC,EAAE,CAAA;KAC/C;IAED,OAAO,yCAA2B,CAAC,WAAW,EAAE,CAAC,aAAa,CAC5D,cAAM,EACN,SAAS,CACV,CAAA;AACH,CAAC;AAXD,4DAWC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/core/subscriber.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
|
|
2
2
|
export declare type Maybe<T> = T | undefined;
|
|
3
|
+
export declare type InputMaybe<T> = T | undefined;
|
|
3
4
|
export declare type Exact<T extends {
|
|
4
5
|
[key: string]: unknown;
|
|
5
6
|
}> = {
|
|
@@ -47,7 +48,7 @@ export declare type Mutation = {
|
|
|
47
48
|
registerFederatedId?: Maybe<FederatedId>;
|
|
48
49
|
};
|
|
49
50
|
export declare type MutationRegisterFederatedIdArgs = {
|
|
50
|
-
input?:
|
|
51
|
+
input?: InputMaybe<RegisterFederatedIdInput>;
|
|
51
52
|
};
|
|
52
53
|
export declare type Query = {
|
|
53
54
|
__typename?: 'Query';
|
|
@@ -67,7 +68,7 @@ export declare type DeregisterMutation = {
|
|
|
67
68
|
deregister?: {
|
|
68
69
|
__typename?: 'Deregister';
|
|
69
70
|
success: boolean;
|
|
70
|
-
} |
|
|
71
|
+
} | undefined;
|
|
71
72
|
};
|
|
72
73
|
export declare type GlobalSignOutMutationVariables = Exact<{
|
|
73
74
|
[key: string]: never;
|
|
@@ -77,7 +78,7 @@ export declare type GlobalSignOutMutation = {
|
|
|
77
78
|
globalSignOut?: {
|
|
78
79
|
__typename?: 'GlobalSignOut';
|
|
79
80
|
success: boolean;
|
|
80
|
-
} |
|
|
81
|
+
} | undefined;
|
|
81
82
|
};
|
|
82
83
|
export declare type RegisterFederatedIdMutationVariables = Exact<{
|
|
83
84
|
input: RegisterFederatedIdInput;
|
|
@@ -87,7 +88,7 @@ export declare type RegisterFederatedIdMutation = {
|
|
|
87
88
|
registerFederatedId?: {
|
|
88
89
|
__typename?: 'FederatedId';
|
|
89
90
|
identityId: string;
|
|
90
|
-
} |
|
|
91
|
+
} | undefined;
|
|
91
92
|
};
|
|
92
93
|
export declare const DeregisterDocument: DocumentNode<DeregisterMutation, Exact<{
|
|
93
94
|
[key: string]: never;
|