@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
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CognitoUserPoolIdentityProvider = void 0;
|
|
4
|
+
const client_cognito_identity_provider_1 = require("@aws-sdk/client-cognito-identity-provider");
|
|
5
|
+
const api_key_names_1 = require("../core/api-key-names");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
7
|
+
const sudo_common_1 = require("@sudoplatform/sudo-common");
|
|
8
|
+
const error_1 = require("./error");
|
|
9
|
+
class CognitoUserPoolIdentityProvider {
|
|
10
|
+
constructor(keyManager, config, logger) {
|
|
11
|
+
this.keyManager = keyManager;
|
|
12
|
+
this.config = config;
|
|
13
|
+
this.idpService = this.initCognitoIdpService();
|
|
14
|
+
const refreshTokenLifetime = this.config.identityService.refreshTokenLifetime;
|
|
15
|
+
this.refreshTokenLifetime = refreshTokenLifetime ?? 60;
|
|
16
|
+
this.logger = logger;
|
|
17
|
+
}
|
|
18
|
+
initCognitoIdpService() {
|
|
19
|
+
const idpService = new client_cognito_identity_provider_1.CognitoIdentityProviderClient({
|
|
20
|
+
region: this.config.identityService.region,
|
|
21
|
+
});
|
|
22
|
+
return idpService;
|
|
23
|
+
}
|
|
24
|
+
async globalSignOut(accessToken) {
|
|
25
|
+
try {
|
|
26
|
+
const params = {
|
|
27
|
+
AccessToken: accessToken,
|
|
28
|
+
};
|
|
29
|
+
const globalSignOut = new client_cognito_identity_provider_1.GlobalSignOutCommand(params);
|
|
30
|
+
const response = await this.idpService.send(globalSignOut);
|
|
31
|
+
this.logger.info('User successfully signed out.', { response });
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
const error = err;
|
|
35
|
+
throw new sudo_common_1.SignOutError(error.message);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async register(uid, validationData) {
|
|
39
|
+
try {
|
|
40
|
+
const signUp = new client_cognito_identity_provider_1.SignUpCommand({
|
|
41
|
+
ValidationData: validationData,
|
|
42
|
+
Username: uid,
|
|
43
|
+
Password: `@FF57&Z1)123!-${(0, uuid_1.v4)()}`,
|
|
44
|
+
ClientId: this.config.identityService.clientId,
|
|
45
|
+
});
|
|
46
|
+
const response = await this.idpService.send(signUp);
|
|
47
|
+
if (response.UserConfirmed) {
|
|
48
|
+
this.logger.info('User successfully signed up.', { uid });
|
|
49
|
+
return uid;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new sudo_common_1.UserNotConfirmedError();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
const error = err;
|
|
57
|
+
const errorMsg = error.message;
|
|
58
|
+
if (errorMsg.includes('sudoplatform.ServiceError')) {
|
|
59
|
+
throw new sudo_common_1.ServiceError(errorMsg);
|
|
60
|
+
}
|
|
61
|
+
else if (errorMsg.includes('sudoplatform.identity.UserValidationFailed') ||
|
|
62
|
+
errorMsg.includes('sudoplatform.identity.TestRegCheckFailed')) {
|
|
63
|
+
throw new sudo_common_1.NotAuthorizedError(errorMsg);
|
|
64
|
+
}
|
|
65
|
+
else if (errorMsg.includes('sudoplatform.identity.AlreadyRegistered')) {
|
|
66
|
+
throw new error_1.AlreadyRegisteredError();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw new sudo_common_1.FatalError(errorMsg);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async signInWithKey(userId, keyId) {
|
|
74
|
+
try {
|
|
75
|
+
const initiateAuthCommand = new client_cognito_identity_provider_1.InitiateAuthCommand({
|
|
76
|
+
ClientId: this.config.identityService.clientId,
|
|
77
|
+
AuthFlow: 'CUSTOM_AUTH',
|
|
78
|
+
AuthParameters: {
|
|
79
|
+
USERNAME: userId,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
const initiateAuthResult = await this.idpService.send(initiateAuthCommand);
|
|
83
|
+
const challengeName = initiateAuthResult.ChallengeName;
|
|
84
|
+
const session = initiateAuthResult.Session;
|
|
85
|
+
const params = initiateAuthResult.ChallengeParameters;
|
|
86
|
+
if (params &&
|
|
87
|
+
params['nonce'] &&
|
|
88
|
+
params['audience'] &&
|
|
89
|
+
challengeName &&
|
|
90
|
+
session) {
|
|
91
|
+
const nonce = params['nonce'];
|
|
92
|
+
const audience = params['audience'];
|
|
93
|
+
const answer = await this.keyManager.signJWT(keyId, {
|
|
94
|
+
jti: nonce,
|
|
95
|
+
iss: userId,
|
|
96
|
+
aud: audience,
|
|
97
|
+
sub: userId,
|
|
98
|
+
exp: Math.floor(+new Date() / 1000) + 300,
|
|
99
|
+
});
|
|
100
|
+
const respondToAuthChallenge = new client_cognito_identity_provider_1.RespondToAuthChallengeCommand({
|
|
101
|
+
Session: session,
|
|
102
|
+
ClientId: this.config.identityService.clientId,
|
|
103
|
+
ChallengeName: challengeName,
|
|
104
|
+
ChallengeResponses: {
|
|
105
|
+
USERNAME: userId,
|
|
106
|
+
ANSWER: answer,
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
const respondToAuthChallengeResult = await this.idpService.send(respondToAuthChallenge);
|
|
110
|
+
const authResult = respondToAuthChallengeResult.AuthenticationResult;
|
|
111
|
+
const idToken = authResult?.IdToken;
|
|
112
|
+
const accessToken = authResult?.AccessToken;
|
|
113
|
+
const refreshToken = authResult?.RefreshToken;
|
|
114
|
+
const tokenExpiry = authResult?.ExpiresIn;
|
|
115
|
+
if (idToken && accessToken && refreshToken && tokenExpiry) {
|
|
116
|
+
const authTokens = {
|
|
117
|
+
idToken: idToken,
|
|
118
|
+
accessToken: accessToken,
|
|
119
|
+
refreshToken: refreshToken,
|
|
120
|
+
tokenExpiry: tokenExpiry,
|
|
121
|
+
};
|
|
122
|
+
await this.storeRefreshTokenLifetime(this.refreshTokenLifetime);
|
|
123
|
+
return authTokens;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
throw new sudo_common_1.AuthenticationError('Authentication tokens not found.');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
throw new sudo_common_1.AuthenticationError('Invalid initiate auth result.');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
const error = err;
|
|
135
|
+
throw new sudo_common_1.AuthenticationError(error.message);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async signInWithToken(userId, token, type) {
|
|
139
|
+
try {
|
|
140
|
+
const initiateAuth = new client_cognito_identity_provider_1.InitiateAuthCommand({
|
|
141
|
+
ClientId: this.config.identityService.clientId,
|
|
142
|
+
AuthFlow: 'CUSTOM_AUTH',
|
|
143
|
+
AuthParameters: {
|
|
144
|
+
USERNAME: userId,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
const initiateAuthResult = await this.idpService.send(initiateAuth);
|
|
148
|
+
const challengeName = initiateAuthResult.ChallengeName;
|
|
149
|
+
const session = initiateAuthResult.Session;
|
|
150
|
+
if (challengeName && session) {
|
|
151
|
+
const respondToAuthChallenge = new client_cognito_identity_provider_1.RespondToAuthChallengeCommand({
|
|
152
|
+
Session: session,
|
|
153
|
+
ClientId: this.config.identityService.clientId,
|
|
154
|
+
ChallengeName: challengeName,
|
|
155
|
+
ChallengeResponses: {
|
|
156
|
+
USERNAME: userId,
|
|
157
|
+
ANSWER: token,
|
|
158
|
+
},
|
|
159
|
+
ClientMetadata: { challengeType: type },
|
|
160
|
+
});
|
|
161
|
+
const respondToAuthChallengeResult = await this.idpService.send(respondToAuthChallenge);
|
|
162
|
+
const authResult = respondToAuthChallengeResult.AuthenticationResult;
|
|
163
|
+
const idToken = authResult?.IdToken;
|
|
164
|
+
const accessToken = authResult?.AccessToken;
|
|
165
|
+
const refreshToken = authResult?.RefreshToken;
|
|
166
|
+
const tokenExpiry = authResult?.ExpiresIn;
|
|
167
|
+
if (idToken && accessToken && refreshToken && tokenExpiry) {
|
|
168
|
+
const authTokens = {
|
|
169
|
+
idToken: idToken,
|
|
170
|
+
accessToken: accessToken,
|
|
171
|
+
refreshToken: refreshToken,
|
|
172
|
+
tokenExpiry: tokenExpiry,
|
|
173
|
+
};
|
|
174
|
+
await this.storeRefreshTokenLifetime(this.refreshTokenLifetime);
|
|
175
|
+
return authTokens;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
throw new sudo_common_1.AuthenticationError('Authentication tokens not found.');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
throw new sudo_common_1.AuthenticationError('Invalid initiate auth result.');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
const error = err;
|
|
187
|
+
throw new sudo_common_1.AuthenticationError(error.message);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async refreshTokens(refreshToken) {
|
|
191
|
+
try {
|
|
192
|
+
const initiateAuth = new client_cognito_identity_provider_1.InitiateAuthCommand({
|
|
193
|
+
ClientId: this.config.identityService.clientId,
|
|
194
|
+
AuthFlow: 'REFRESH_TOKEN_AUTH',
|
|
195
|
+
AuthParameters: {
|
|
196
|
+
REFRESH_TOKEN: refreshToken,
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
const initiateAuthResult = await this.idpService.send(initiateAuth);
|
|
200
|
+
const idToken = initiateAuthResult.AuthenticationResult?.IdToken;
|
|
201
|
+
const accessToken = initiateAuthResult.AuthenticationResult?.AccessToken;
|
|
202
|
+
const tokenExpiry = initiateAuthResult.AuthenticationResult?.ExpiresIn;
|
|
203
|
+
if (idToken && accessToken && tokenExpiry) {
|
|
204
|
+
const authTokens = {
|
|
205
|
+
idToken: idToken,
|
|
206
|
+
accessToken: accessToken,
|
|
207
|
+
refreshToken: refreshToken,
|
|
208
|
+
tokenExpiry: tokenExpiry,
|
|
209
|
+
};
|
|
210
|
+
await this.storeRefreshTokenLifetime(this.refreshTokenLifetime);
|
|
211
|
+
return authTokens;
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
throw new sudo_common_1.AuthenticationError('Authentication tokens not found.');
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
const error = err;
|
|
219
|
+
throw new sudo_common_1.AuthenticationError(error.message);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
async signOut(refreshToken) {
|
|
223
|
+
try {
|
|
224
|
+
const params = {
|
|
225
|
+
Token: refreshToken,
|
|
226
|
+
ClientId: this.config.identityService.clientId,
|
|
227
|
+
};
|
|
228
|
+
const revokeToken = new client_cognito_identity_provider_1.RevokeTokenCommand(params);
|
|
229
|
+
const response = await this.idpService.send(revokeToken);
|
|
230
|
+
this.logger.info('User successfully signed out.', { response });
|
|
231
|
+
}
|
|
232
|
+
catch (err) {
|
|
233
|
+
const error = err;
|
|
234
|
+
this.logger.error(error.message);
|
|
235
|
+
throw new sudo_common_1.SignOutError(error.message);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
async storeRefreshTokenLifetime(refreshTokenLifetime) {
|
|
239
|
+
const tokenLifetime = refreshTokenLifetime * 24 * 60 * 60 * 1000 + new Date().getTime();
|
|
240
|
+
await this.keyManager.removeItem(api_key_names_1.apiKeyNames.refreshTokenExpiry);
|
|
241
|
+
await this.keyManager.addString(api_key_names_1.apiKeyNames.refreshTokenExpiry, tokenLifetime.toString());
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
exports.CognitoUserPoolIdentityProvider = CognitoUserPoolIdentityProvider;
|
|
245
|
+
//# sourceMappingURL=identity-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-provider.js","sourceRoot":"","sources":["../../../src/user/identity-provider.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-client-interface.js","sourceRoot":"","sources":["../../../src/user/user-client-interface.ts"],"names":[],"mappings":""}
|
|
File without changes
|