@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.
Files changed (195) hide show
  1. package/{lib → cjs/src}/client/apiClient.d.ts +0 -0
  2. package/cjs/src/client/apiClient.js +149 -0
  3. package/cjs/src/client/apiClient.js.map +1 -0
  4. package/{lib → cjs/src}/core/api-key-names.d.ts +0 -0
  5. package/cjs/src/core/api-key-names.js +12 -0
  6. package/cjs/src/core/api-key-names.js.map +1 -0
  7. package/{lib → cjs/src}/core/auth-store.d.ts +0 -0
  8. package/cjs/src/core/auth-store.js +92 -0
  9. package/cjs/src/core/auth-store.js.map +1 -0
  10. package/{lib → cjs/src}/core/crypto.d.ts +0 -0
  11. package/cjs/src/core/crypto.js +3 -0
  12. package/cjs/src/core/crypto.js.map +1 -0
  13. package/{lib → cjs/src}/core/key-manager.d.ts +0 -0
  14. package/cjs/src/core/key-manager.js +113 -0
  15. package/cjs/src/core/key-manager.js.map +1 -0
  16. package/cjs/src/core/protected-store.d.ts +5 -0
  17. package/cjs/src/core/protected-store.js +3 -0
  18. package/cjs/src/core/protected-store.js.map +1 -0
  19. package/{lib → cjs/src}/core/publisher.d.ts +0 -0
  20. package/cjs/src/core/publisher.js +3 -0
  21. package/cjs/src/core/publisher.js.map +1 -0
  22. package/{lib → cjs/src}/core/sdk-config.d.ts +0 -0
  23. package/cjs/src/core/sdk-config.js +61 -0
  24. package/cjs/src/core/sdk-config.js.map +1 -0
  25. package/{lib → cjs/src}/core/subscriber.d.ts +0 -0
  26. package/cjs/src/core/subscriber.js +3 -0
  27. package/cjs/src/core/subscriber.js.map +1 -0
  28. package/{lib → cjs/src}/gen/graphql-types.d.ts +5 -4
  29. package/cjs/src/gen/graphql-types.js +105 -0
  30. package/cjs/src/gen/graphql-types.js.map +1 -0
  31. package/{lib → cjs/src}/index.d.ts +0 -0
  32. package/cjs/src/index.js +13 -0
  33. package/cjs/src/index.js.map +1 -0
  34. package/{lib/runtimes/node/node-crypto.d.ts → cjs/src/runtimes/browser/browser-crypto.d.ts} +0 -0
  35. package/cjs/src/runtimes/browser/browser-crypto.js +10 -0
  36. package/cjs/src/runtimes/browser/browser-crypto.js.map +1 -0
  37. package/cjs/src/runtimes/node/node-crypto.d.ts +2 -0
  38. package/cjs/src/runtimes/node/node-crypto.js +9 -0
  39. package/cjs/src/runtimes/node/node-crypto.js.map +1 -0
  40. package/{lib → cjs/src}/sdk.d.ts +0 -0
  41. package/cjs/src/sdk.js +9 -0
  42. package/cjs/src/sdk.js.map +1 -0
  43. package/{lib → cjs/src}/user/auth-provider.d.ts +0 -0
  44. package/cjs/src/user/auth-provider.js +116 -0
  45. package/cjs/src/user/auth-provider.js.map +1 -0
  46. package/{lib → cjs/src}/user/auth.d.ts +0 -0
  47. package/cjs/src/user/auth.js +136 -0
  48. package/cjs/src/user/auth.js.map +1 -0
  49. package/{lib → cjs/src}/user/error.d.ts +0 -0
  50. package/{lib → cjs/src}/user/error.js +16 -29
  51. package/cjs/src/user/error.js.map +1 -0
  52. package/{lib → cjs/src}/user/identity-provider.d.ts +0 -0
  53. package/cjs/src/user/identity-provider.js +245 -0
  54. package/cjs/src/user/identity-provider.js.map +1 -0
  55. package/{lib → cjs/src}/user/user-client-interface.d.ts +0 -0
  56. package/cjs/src/user/user-client-interface.js +3 -0
  57. package/cjs/src/user/user-client-interface.js.map +1 -0
  58. package/{lib → cjs/src}/user/user-client.d.ts +0 -0
  59. package/cjs/src/user/user-client.js +440 -0
  60. package/cjs/src/user/user-client.js.map +1 -0
  61. package/{lib → cjs/src}/user/user-key-names.d.ts +0 -0
  62. package/cjs/src/user/user-key-names.js +10 -0
  63. package/cjs/src/user/user-key-names.js.map +1 -0
  64. package/{lib → cjs/src}/utils/resolvable-promise.d.ts +0 -0
  65. package/cjs/src/utils/resolvable-promise.js +20 -0
  66. package/cjs/src/utils/resolvable-promise.js.map +1 -0
  67. package/cjs/test/integration/user-client-int.spec.d.ts +1 -0
  68. package/cjs/test/integration/user-client-int.spec.js +206 -0
  69. package/cjs/test/integration/user-client-int.spec.js.map +1 -0
  70. package/cjs/test/unit/core/sdk-config.spec.d.ts +1 -0
  71. package/cjs/test/unit/core/sdk-config.spec.js +51 -0
  72. package/cjs/test/unit/core/sdk-config.spec.js.map +1 -0
  73. package/cjs/test/unit/key-manager.spec.d.ts +1 -0
  74. package/cjs/test/unit/key-manager.spec.js +23 -0
  75. package/cjs/test/unit/key-manager.spec.js.map +1 -0
  76. package/cjs/test/unit/user-client.spec.d.ts +1 -0
  77. package/cjs/test/unit/user-client.spec.js +323 -0
  78. package/cjs/test/unit/user-client.spec.js.map +1 -0
  79. package/docs/assets/highlight.css +3 -3
  80. package/docs/assets/main.js +4 -2
  81. package/docs/assets/search.js +1 -1
  82. package/docs/assets/style.css +427 -617
  83. package/docs/classes/AlreadyRegisteredError.html +163 -8
  84. package/docs/classes/DefaultSudoUserClient.html +568 -57
  85. package/docs/classes/IdentityServiceConfigNotFoundError.html +163 -8
  86. package/docs/classes/LocalAuthenticationProvider.html +131 -12
  87. package/docs/classes/TESTAuthenticationProvider.html +146 -11
  88. package/docs/index.html +47 -2
  89. package/docs/interfaces/AuthenticationProvider.html +89 -6
  90. package/docs/interfaces/AuthenticationTokens.html +97 -7
  91. package/docs/interfaces/SudoUserClient.html +431 -80
  92. package/docs/modules.html +62 -1
  93. package/lib/src/client/apiClient.d.ts +25 -0
  94. package/lib/src/client/apiClient.js +145 -0
  95. package/lib/src/client/apiClient.js.map +1 -0
  96. package/lib/src/core/api-key-names.d.ts +8 -0
  97. package/lib/src/core/api-key-names.js +9 -0
  98. package/lib/src/core/api-key-names.js.map +1 -0
  99. package/lib/src/core/auth-store.d.ts +51 -0
  100. package/lib/src/core/auth-store.js +88 -0
  101. package/lib/src/core/auth-store.js.map +1 -0
  102. package/lib/src/core/crypto.d.ts +3 -0
  103. package/lib/src/core/crypto.js +2 -0
  104. package/lib/src/core/crypto.js.map +1 -0
  105. package/lib/src/core/key-manager.d.ts +31 -0
  106. package/lib/src/core/key-manager.js +108 -0
  107. package/lib/src/core/key-manager.js.map +1 -0
  108. package/lib/src/core/protected-store.d.ts +5 -0
  109. package/lib/src/core/protected-store.js +2 -0
  110. package/lib/src/core/protected-store.js.map +1 -0
  111. package/lib/src/core/publisher.d.ts +6 -0
  112. package/lib/src/core/publisher.js +2 -0
  113. package/lib/src/core/publisher.js.map +1 -0
  114. package/lib/src/core/sdk-config.d.ts +52 -0
  115. package/lib/src/core/sdk-config.js +56 -0
  116. package/lib/src/core/sdk-config.js.map +1 -0
  117. package/lib/src/core/subscriber.d.ts +3 -0
  118. package/lib/src/core/subscriber.js +2 -0
  119. package/lib/src/core/subscriber.js.map +1 -0
  120. package/lib/src/gen/graphql-types.d.ts +101 -0
  121. package/lib/src/gen/graphql-types.js +102 -0
  122. package/lib/src/gen/graphql-types.js.map +1 -0
  123. package/lib/src/index.d.ts +4 -0
  124. package/lib/src/index.js +6 -0
  125. package/lib/src/index.js.map +1 -0
  126. package/lib/src/runtimes/browser/browser-crypto.d.ts +2 -0
  127. package/lib/src/runtimes/browser/browser-crypto.js +7 -0
  128. package/lib/src/runtimes/browser/browser-crypto.js.map +1 -0
  129. package/lib/src/runtimes/node/node-crypto.d.ts +2 -0
  130. package/lib/src/runtimes/node/node-crypto.js +6 -0
  131. package/lib/src/runtimes/node/node-crypto.js.map +1 -0
  132. package/lib/src/sdk.d.ts +1 -0
  133. package/lib/src/sdk.js +6 -0
  134. package/lib/src/sdk.js.map +1 -0
  135. package/lib/src/user/auth-provider.d.ts +97 -0
  136. package/lib/src/user/auth-provider.js +108 -0
  137. package/lib/src/user/auth-provider.js.map +1 -0
  138. package/lib/src/user/auth.d.ts +64 -0
  139. package/lib/src/user/auth.js +131 -0
  140. package/lib/src/user/auth.js.map +1 -0
  141. package/lib/src/user/error.d.ts +18 -0
  142. package/lib/src/user/error.js +28 -0
  143. package/lib/src/user/error.js.map +1 -0
  144. package/lib/src/user/identity-provider.d.ts +73 -0
  145. package/lib/src/user/identity-provider.js +241 -0
  146. package/lib/src/user/identity-provider.js.map +1 -0
  147. package/lib/src/user/user-client-interface.d.ts +168 -0
  148. package/lib/src/user/user-client-interface.js +2 -0
  149. package/lib/src/user/user-client-interface.js.map +1 -0
  150. package/lib/src/user/user-client.d.ts +82 -0
  151. package/lib/src/user/user-client.js +435 -0
  152. package/lib/src/user/user-client.js.map +1 -0
  153. package/lib/src/user/user-key-names.d.ts +6 -0
  154. package/lib/src/user/user-key-names.js +7 -0
  155. package/lib/src/user/user-key-names.js.map +1 -0
  156. package/lib/src/utils/resolvable-promise.d.ts +9 -0
  157. package/lib/src/utils/resolvable-promise.js +16 -0
  158. package/lib/src/utils/resolvable-promise.js.map +1 -0
  159. package/lib/test/integration/user-client-int.spec.d.ts +1 -0
  160. package/lib/test/integration/user-client-int.spec.js +203 -0
  161. package/lib/test/integration/user-client-int.spec.js.map +1 -0
  162. package/lib/test/unit/core/sdk-config.spec.d.ts +1 -0
  163. package/lib/test/unit/core/sdk-config.spec.js +49 -0
  164. package/lib/test/unit/core/sdk-config.spec.js.map +1 -0
  165. package/lib/test/unit/key-manager.spec.d.ts +1 -0
  166. package/lib/test/unit/key-manager.spec.js +21 -0
  167. package/lib/test/unit/key-manager.spec.js.map +1 -0
  168. package/lib/test/unit/user-client.spec.d.ts +1 -0
  169. package/lib/test/unit/user-client.spec.js +320 -0
  170. package/lib/test/unit/user-client.spec.js.map +1 -0
  171. package/package.json +47 -41
  172. package/docs/assets/icons.css +0 -1043
  173. package/docs/assets/icons.png +0 -0
  174. package/docs/assets/icons@2x.png +0 -0
  175. package/lib/client/apiClient.js +0 -206
  176. package/lib/core/api-key-names.js +0 -15
  177. package/lib/core/auth-store.js +0 -144
  178. package/lib/core/crypto.js +0 -5
  179. package/lib/core/key-manager.js +0 -158
  180. package/lib/core/protected-store.js +0 -5
  181. package/lib/core/publisher.js +0 -5
  182. package/lib/core/sdk-config.js +0 -56
  183. package/lib/core/subscriber.js +0 -5
  184. package/lib/gen/graphql-types.js +0 -141
  185. package/lib/index.js +0 -67
  186. package/lib/runtimes/browser/browser-crypto.js +0 -15
  187. package/lib/runtimes/node/node-crypto.js +0 -12
  188. package/lib/sdk.js +0 -18
  189. package/lib/user/auth-provider.js +0 -158
  190. package/lib/user/auth.js +0 -185
  191. package/lib/user/identity-provider.js +0 -272
  192. package/lib/user/user-client-interface.js +0 -5
  193. package/lib/user/user-client.js +0 -530
  194. package/lib/user/user-key-names.js +0 -13
  195. package/lib/utils/resolvable-promise.js +0 -22
@@ -0,0 +1,320 @@
1
+ import { CognitoAuthUI } from '../../src/user/auth';
2
+ import { DefaultSudoUserClient } from '../../src/user/user-client';
3
+ import { Config } from '../../src/core/sdk-config';
4
+ import { mock, instance, when, reset, anyString } from 'ts-mockito';
5
+ import * as JWT from 'jsonwebtoken';
6
+ import { generateKeyPairSync } from 'crypto';
7
+ import { apiKeyNames } from '../../src/core/api-key-names';
8
+ import { AuthenticationError, DefaultConfigurationManager, DefaultLogger, NotSignedInError, } from '@sudoplatform/sudo-common';
9
+ import { generateKeyPair } from 'crypto';
10
+ import { promisify } from 'util';
11
+ import { LocalAuthenticationProvider } from '../../src/user/auth-provider';
12
+ import { userKeyNames } from '../../src/user/user-key-names';
13
+ const generateKeyPairAsync = promisify(generateKeyPair);
14
+ const globalAny = global;
15
+ globalAny.WebSocket = require('ws');
16
+ require('isomorphic-fetch');
17
+ const testConfig = {
18
+ federatedSignIn: {
19
+ appClientId: '120q904mra9d5l4psmvdbrgm49',
20
+ signInRedirectUri: 'http://localhost:3000/callback',
21
+ signOutRedirectUri: 'http://localhost:3000/',
22
+ webDomain: 'id-dev-fsso-sudoplatform.auth.us-east-1.amazoncognito.com',
23
+ },
24
+ identityService: {
25
+ region: 'us-east-1',
26
+ poolId: 'us-east-1_ZiPDToF73',
27
+ clientId: '120q904mra9d5l4psmvdbrgm49',
28
+ identityPoolId: 'us-east-1:8fe6d8ed-cd77-4622-b1bb-3f0c147638ad',
29
+ apiUrl: 'https://mqn7cjrzcrd75jpsma3xw4744a.appsync-api.us-east-1.amazonaws.com/graphql',
30
+ apiKey: 'da2-xejsa343urfifmzkycmz3rqdom',
31
+ bucket: 'ids-userdata-id-dev-fsso-userdatabucket2d841c35-j9x47k5042fk',
32
+ transientBucket: 'ids-userdata-id-dev-fsso-transientuserdatabucket0-1enoeyoho1sjl',
33
+ registrationMethods: ['TEST', 'FSSO'],
34
+ },
35
+ };
36
+ const privateKey = generateKeyPairSync('rsa', {
37
+ modulusLength: 2048,
38
+ publicKeyEncoding: {
39
+ format: 'pem',
40
+ type: 'pkcs1',
41
+ },
42
+ privateKeyEncoding: {
43
+ format: 'pem',
44
+ type: 'pkcs1',
45
+ },
46
+ }).privateKey;
47
+ const kid = 'test';
48
+ const mockIdToken = 'eyJraWQiOiJ3YzlaekU1eDJMT1BvZVV1XC9cL1JPWnZCV3ozbU1Zem15bXJDTFhYTmRvcms9IiwiYWxnIjoiUlMyNTYifQ.eyJjdXN0b206b2dfaWRlbnRpdHlJZCI6InVzLWVhc3QtMTo4MzE3MThmNC00MzFlLTQ0MDgtYjM0Yi02YmM3MWZjNDJmZmIiLCJzdWIiOiIxMzA4MGI0OS1jMjc3LTQ4M2QtOGQ0Zi0yZGVmZGIyNjE0ZDQiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9aaVBEVG9GNzMiLCJjb2duaXRvOnVzZXJuYW1lIjoiU3Vkb1VzZXItMGNhZmYzNzEtMjc4Zi00ODE0LWE4NjQtN2NhMTdmYWU2ODg1IiwiY3VzdG9tOnVzZXJUeXBlIjoiVEVTVCIsImF1ZCI6IjEyMHE5MDRtcmE5ZDVsNHBzbXZkYnJnbTQ5IiwiY3VzdG9tOmVudGl0bGVtZW50c1NldCI6ImR1bW15X2VudGl0bGVtZW50c19zZXQiLCJldmVudF9pZCI6Ijg2YzFhZDFkLTMwNDItNDFjMC05OTVmLTQ3ZTM0NWNjMjUxZCIsImN1c3RvbTpvZ19zdWIiOiIxMzA4MGI0OS1jMjc3LTQ4M2QtOGQ0Zi0yZGVmZGIyNjE0ZDQiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTYyMjQyNzA5NywiY3VzdG9tOmlkZW50aXR5SWQiOiJ1cy1lYXN0LTE6ODMxNzE4ZjQtNDMxZS00NDA4LWIzNGItNmJjNzFmYzQyZmZiIiwiZXhwIjoxNjIyNDMwNzAyLCJpYXQiOjE2MjI0MjcxMDJ9.WfhwPvhZn9STh4BSMI_w9PIx9YmAKqEyCJYuJ8NDJCfbATtwSt3QRyYILMjx6mY8IYgnEwyfoDu3Lz5-fb2tBCANz4lykW5lzS7-FxCZ2Ba4Ywr89b2cCayp3Aw3dVSHwwPtFu7-odwnHR9tpZd7jHeIVBlKQIn0WLppRTU9H1AIJh8Pq9FS6YK7uIFaOmNZxe_S18HlT8GQJNwqPZk4P8QEVyazKN9fKidO8EcQVrJoCZnJHCPP9hzum7yo2HJWvWhhlN2Si-VnqfCwDG4hpig9NcCUkGbrOYKCpDjCRZhBhcnpec310X8Lf3Qya8wZEFs1IcYHnhdKpfX4A1DYLQ';
49
+ function customLaunchUriFunction(url) {
50
+ location.replace(url);
51
+ }
52
+ function toArrayBuffer(value) {
53
+ return new TextEncoder().encode(value).buffer;
54
+ }
55
+ const authUIMock = mock();
56
+ const authUI = instance(authUIMock);
57
+ const identityProviderMock = mock();
58
+ const identityProvider = instance(identityProviderMock);
59
+ const authenticationStoreMock = mock();
60
+ const authenticationStore = instance(authenticationStoreMock);
61
+ const keyManagerMock = mock();
62
+ const keyManager = instance(keyManagerMock);
63
+ const sudoKeyManagerMock = mock();
64
+ const sudoKeyManager = instance(sudoKeyManagerMock);
65
+ const apiClientMock = mock();
66
+ const apiClient = instance(apiClientMock);
67
+ DefaultConfigurationManager.getInstance().setConfig(JSON.stringify(testConfig));
68
+ const userClient = new DefaultSudoUserClient({
69
+ authenticationStore,
70
+ apiClient,
71
+ authUI,
72
+ identityProvider,
73
+ sudoKeyManager,
74
+ });
75
+ const config = DefaultConfigurationManager.getInstance().bindConfigSet(Config, undefined);
76
+ const logger = new DefaultLogger();
77
+ afterEach(() => {
78
+ reset(authUIMock);
79
+ reset(authenticationStoreMock);
80
+ reset(keyManagerMock);
81
+ reset(sudoKeyManagerMock);
82
+ reset(identityProviderMock);
83
+ userClient.setAuthUI(authUI);
84
+ userClient.setIdentityProvider(identityProvider);
85
+ });
86
+ describe('SudoUserClient', () => {
87
+ describe('presentFederatedSignInUI()', () => {
88
+ it('should fail with authentication error - default launchUri - attempt to launch UI with window.open', async () => {
89
+ if (!config.federatedSignIn) {
90
+ fail('federatedSignIn unexpectedly falsy');
91
+ }
92
+ const authUI = new CognitoAuthUI(authenticationStore, config.federatedSignIn, keyManager, logger);
93
+ userClient.setAuthUI(authUI);
94
+ expect(() => userClient.presentFederatedSignInUI()).toThrowError(AuthenticationError);
95
+ });
96
+ it('should fail with authentication error - custom launchUri - attempt to launch UI with location.replace(url)', async () => {
97
+ if (!config.federatedSignIn) {
98
+ fail('federatedSignIn unexpectedly falsy');
99
+ }
100
+ const authUI = new CognitoAuthUI(authenticationStore, config.federatedSignIn, keyManager, logger, customLaunchUriFunction);
101
+ userClient.setAuthUI(authUI);
102
+ expect(() => userClient.presentFederatedSignInUI()).toThrowError(AuthenticationError);
103
+ });
104
+ });
105
+ describe('processFederatedSignInTokens()', () => {
106
+ it('should complete successfully', async () => {
107
+ when(authUIMock.processFederatedSignInTokens('dummy_url')).thenResolve({
108
+ idToken: 'dummy_id_token',
109
+ accessToken: 'dummy_access_token',
110
+ refreshToken: 'dummy_refresh_token',
111
+ tokenExpiry: 12345,
112
+ });
113
+ when(sudoKeyManagerMock.getPassword(userKeyNames.userId)).thenResolve(toArrayBuffer('dummy_username'));
114
+ when(identityProviderMock.refreshTokens('dummy_refresh_token')).thenResolve({
115
+ idToken: mockIdToken,
116
+ accessToken: 'dummy_access_token',
117
+ refreshToken: 'dummy_refresh_token',
118
+ tokenExpiry: 12345,
119
+ });
120
+ const authTokens = await userClient.processFederatedSignInTokens('dummy_url');
121
+ expect(authTokens.idToken).toBe(mockIdToken);
122
+ expect(authTokens.accessToken).toBe('dummy_access_token');
123
+ expect(authTokens.refreshToken).toBe('dummy_refresh_token');
124
+ expect(authTokens.tokenExpiry).toBe(12345);
125
+ });
126
+ it('should fail with authentication error', async () => {
127
+ when(authUIMock.processFederatedSignInTokens('dummy_url')).thenReject();
128
+ await expect(userClient.processFederatedSignInTokens('dummy_url')).rejects.toThrowError(AuthenticationError);
129
+ });
130
+ });
131
+ describe('getSubject()', () => {
132
+ const token = JWT.sign({}, privateKey, {
133
+ jwtid: '123',
134
+ audience: 'testAudience',
135
+ expiresIn: '10s',
136
+ notBefore: '0m',
137
+ subject: 'dummy_sub',
138
+ issuer: 'https://test.sudoplatform.com',
139
+ header: { alg: 'RS256', kid },
140
+ algorithm: 'RS256',
141
+ });
142
+ it('should complete successfully', async () => {
143
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve(toArrayBuffer(token));
144
+ const sub = await userClient.getSubject();
145
+ expect(sub).toBe('dummy_sub');
146
+ });
147
+ });
148
+ describe('getUserName()', () => {
149
+ it('should complete successfully', async () => {
150
+ when(sudoKeyManagerMock.getPassword(userKeyNames.userId)).thenResolve(toArrayBuffer('test_user'));
151
+ const userName = await userClient.getUserName();
152
+ expect(userName).toBe('test_user');
153
+ });
154
+ });
155
+ describe('refreshTokens()', () => {
156
+ it('should complete successfully', async () => {
157
+ when(sudoKeyManagerMock.getPassword(userKeyNames.userId)).thenResolve(toArrayBuffer('test_user'));
158
+ when(identityProviderMock.refreshTokens('refresh_token')).thenResolve({
159
+ idToken: 'dummy_id_token',
160
+ accessToken: 'dummy_access_token',
161
+ refreshToken: 'dummy_refresh_token',
162
+ tokenExpiry: 12345,
163
+ });
164
+ const authTokens = await userClient.refreshTokens('refresh_token');
165
+ expect(authTokens.idToken).toBe('dummy_id_token');
166
+ expect(authTokens.accessToken).toBe('dummy_access_token');
167
+ expect(authTokens.refreshToken).toBe('dummy_refresh_token');
168
+ expect(authTokens.tokenExpiry).toBe(12345);
169
+ });
170
+ it('should fail with authentication error', async () => {
171
+ when(sudoKeyManagerMock.getPassword(userKeyNames.userId)).thenResolve(toArrayBuffer('test_user'));
172
+ when(identityProviderMock.refreshTokens('refresh_token')).thenReject();
173
+ await expect(userClient.refreshTokens('refresh_token')).rejects.toThrowError(AuthenticationError);
174
+ });
175
+ });
176
+ describe('getLatestAuthToken()', () => {
177
+ it('should complete successfully', async () => {
178
+ const tokenExpiry = new Date().getTime() + 3600000;
179
+ const validTokenExpiry = tokenExpiry / 1000;
180
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve(toArrayBuffer('dummy_id_token'));
181
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshToken)).thenResolve(toArrayBuffer('dummy_refresh_token'));
182
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.tokenExpiry)).thenResolve(toArrayBuffer(validTokenExpiry.toString()));
183
+ const idToken = await userClient.getLatestAuthToken();
184
+ expect(idToken).toBe('dummy_id_token');
185
+ });
186
+ it('should return empty token - user not signed in', async () => {
187
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve();
188
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshToken)).thenResolve();
189
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.tokenExpiry)).thenResolve();
190
+ const empty = '';
191
+ const idToken = await userClient.getLatestAuthToken();
192
+ expect(idToken).toBe(empty);
193
+ });
194
+ it('should return empty token - error encountered calling refreshTokens', async () => {
195
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve(toArrayBuffer('id_token'));
196
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshToken)).thenResolve(toArrayBuffer('refresh_token'));
197
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.tokenExpiry)).thenResolve(toArrayBuffer('100'));
198
+ when(identityProviderMock.refreshTokens('refresh_token')).thenReject();
199
+ const empty = '';
200
+ const idToken = await userClient.getLatestAuthToken();
201
+ expect(idToken).toBe(empty);
202
+ });
203
+ });
204
+ describe('signOut()', () => {
205
+ it('should complete successfully', async () => {
206
+ let isSignedOut = false;
207
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshToken)).thenResolve(toArrayBuffer('dummy_refresh_token'));
208
+ await userClient.signOut();
209
+ isSignedOut = true;
210
+ expect(isSignedOut).toBeTruthy();
211
+ });
212
+ it('should fail if not signed in', async () => {
213
+ await expect(userClient.signOut()).rejects.toThrowError(NotSignedInError);
214
+ });
215
+ });
216
+ describe('globalSignOut()', () => {
217
+ it('should complete successfully', async () => {
218
+ let isSignedOut = false;
219
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve(toArrayBuffer('dummy_id_token'));
220
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.accessToken)).thenResolve(toArrayBuffer('dummy_access_token'));
221
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshToken)).thenResolve(toArrayBuffer('dummy_refresh_token'));
222
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.tokenExpiry)).thenResolve(toArrayBuffer(Number(new Date().getTime() + 60 * 1000).toString()));
223
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshTokenExpiry)).thenResolve(toArrayBuffer(Number(new Date().getTime() + 60 * 60 * 1000 + 10000).toString()));
224
+ await userClient.globalSignOut();
225
+ isSignedOut = true;
226
+ expect(isSignedOut).toBeTruthy();
227
+ });
228
+ it('should fail if not signed in', async () => {
229
+ await expect(userClient.globalSignOut()).rejects.toThrowError(NotSignedInError);
230
+ });
231
+ });
232
+ describe('presentSignOutUI()', () => {
233
+ it('should fail trying to invoke signout url - attempt to launch UI with window.open', async () => {
234
+ if (!config.federatedSignIn) {
235
+ fail('federatedSignIn unexpectedly falsy');
236
+ }
237
+ const authUI = new CognitoAuthUI(authenticationStore, config.federatedSignIn, keyManager, logger);
238
+ userClient.setAuthUI(authUI);
239
+ expect(() => userClient.presentSignOutUI()).toThrowError(new Error('window is not defined'));
240
+ });
241
+ });
242
+ describe('isSignedIn()', () => {
243
+ it('should complete successfully', async () => {
244
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve(toArrayBuffer('dummy_id_token'));
245
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.accessToken)).thenResolve(toArrayBuffer('dummy_access_token'));
246
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshToken)).thenResolve(toArrayBuffer('dummy_refresh_token'));
247
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.tokenExpiry)).thenResolve(toArrayBuffer(Number(new Date().getTime() + 60 * 1000).toString()));
248
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.refreshTokenExpiry)).thenResolve(toArrayBuffer(Number(new Date().getTime() + 60 * 60 * 1000 + 10000).toString()));
249
+ expect(await userClient.isSignedIn()).toBeTruthy();
250
+ });
251
+ });
252
+ describe('customFSSO()', () => {
253
+ it('should complete successfully', async () => {
254
+ const keyPair = await generateKeyPairAsync('rsa', {
255
+ modulusLength: 2048,
256
+ publicKeyEncoding: {
257
+ format: 'pem',
258
+ type: 'pkcs1',
259
+ },
260
+ privateKeyEncoding: {
261
+ format: 'pem',
262
+ type: 'pkcs1',
263
+ },
264
+ });
265
+ const authenticationProvider = new LocalAuthenticationProvider('client_system_test_iss', keyPair.privateKey, 'dummy_key_id', 'dummy_username');
266
+ const authInfo = await authenticationProvider.getAuthenticationInfo();
267
+ expect(authInfo.isValid()).toBeTruthy();
268
+ expect(authInfo.getUsername()).toBe('dummy_username');
269
+ const token = authInfo.encode();
270
+ const decoded = JWT.decode(token, { complete: true });
271
+ expect(decoded.header['kid']).toBe('dummy_key_id');
272
+ const verified = JWT.verify(token, keyPair.publicKey, {
273
+ issuer: 'client_system_test_iss',
274
+ audience: 'identity-service',
275
+ subject: 'dummy_username',
276
+ algorithms: ['RS256'],
277
+ });
278
+ expect(verified).toBeTruthy();
279
+ const authUIMock = mock();
280
+ const authUI = instance(authUIMock);
281
+ userClient.setAuthUI(authUI);
282
+ when(identityProviderMock.signInWithToken('dummy_username', anyString(), 'FSSO')).thenResolve({
283
+ idToken: mockIdToken,
284
+ accessToken: 'dummy_access_token',
285
+ refreshToken: 'dummy_refresh_token',
286
+ tokenExpiry: 1,
287
+ });
288
+ when(keyManagerMock.getString(apiKeyNames.idToken)).thenResolve(mockIdToken);
289
+ when(sudoKeyManagerMock.getPassword(apiKeyNames.idToken)).thenResolve(toArrayBuffer(mockIdToken));
290
+ const tokens = await userClient.signInWithAuthenticationProvider(authenticationProvider);
291
+ expect(tokens.idToken).toBe(mockIdToken);
292
+ expect(tokens.accessToken).toBe('dummy_access_token');
293
+ expect(tokens.refreshToken).toBe('dummy_refresh_token');
294
+ expect(tokens.tokenExpiry).toBe(1);
295
+ expect(await userClient.getUserClaim('custom:identityId')).toBeTruthy();
296
+ });
297
+ });
298
+ describe('disabledUser()', () => {
299
+ it('signInWithToken should fail due to user being disabled', async () => {
300
+ const keyPair = await generateKeyPairAsync('rsa', {
301
+ modulusLength: 2048,
302
+ publicKeyEncoding: {
303
+ format: 'pem',
304
+ type: 'pkcs1',
305
+ },
306
+ privateKeyEncoding: {
307
+ format: 'pem',
308
+ type: 'pkcs1',
309
+ },
310
+ });
311
+ const authenticationProvider = new LocalAuthenticationProvider('client_system_test_iss', keyPair.privateKey, 'dummy_key_id', 'disabled_username');
312
+ const authInfo = await authenticationProvider.getAuthenticationInfo();
313
+ expect(authInfo.isValid()).toBeTruthy();
314
+ expect(authInfo.getUsername()).toBe('disabled_username');
315
+ when(identityProviderMock.signInWithToken('disabled_username', anyString(), anyString())).thenReject(new AuthenticationError('User disabled')); // reject due to user disabled error being returned from Cognito
316
+ await expect(userClient.signInWithAuthenticationProvider(authenticationProvider)).rejects.toThrowError(AuthenticationError);
317
+ });
318
+ });
319
+ });
320
+ //# sourceMappingURL=user-client.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-client.spec.js","sourceRoot":"","sources":["../../../test/unit/user-client.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudoplatform/sudo-user",
3
- "version": "10.1.0",
3
+ "version": "12.0.0",
4
4
  "author": "Anonyome Labs, Inc.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,22 +8,27 @@
8
8
  },
9
9
  "license": "Apache-2.0",
10
10
  "scripts": {
11
+ "prepare": "husky install",
11
12
  "lint": "yarn lint:eslint && yarn lint:prettier",
12
13
  "lint:eslint": "eslint \"{bin,test,src}/**/*.{ts,tsx}\"",
13
- "lint:prettier": "prettier -l \"{bin,test,src}/**/*.{js,json,jsx,ts,tsx}\"",
14
+ "lint:prettier": "prettier -l \"{bin,test,src}/**/*.{js,json,jsx,ts,tsx,yml}\"",
14
15
  "codegen": "graphql-codegen -c codegen.yml",
15
16
  "verify": "yarn audit && yarn lint",
16
17
  "unit-test": "yarn jest test/unit --verbose --coverage",
17
18
  "integration-test": "/bin/bash -c 'jest test/integration'",
18
19
  "test": "yarn unit-test",
19
- "build": "yarn codegen && yarn verify && yarn build:transpile && yarn build:declarations && yarn build:docs",
20
- "build:transpile": "babel src --out-dir lib --extensions '.ts'",
21
- "build:declarations": "tsc --project tsconfig.declarations.json",
20
+ "build": "yarn codegen && yarn verify && yarn build:transpile && yarn build:docs",
21
+ "build:transpile": "concurrently \"yarn build:transpile:cjs\" \"yarn build:transpile:esm\"",
22
+ "build:transpile:cjs": "tsc --project tsconfig.commonjs.json",
23
+ "build:transpile:esm": "tsc",
22
24
  "build:docs": "typedoc --excludePrivate --out docs src/index.ts"
23
25
  },
24
- "main": "lib/index.js",
25
- "types": "lib/index.d.ts",
26
+ "main": "./cjs/index.js",
27
+ "types": "./cjs/index.d.ts",
28
+ "module": "./lib/index.js",
29
+ "sideEffects": false,
26
30
  "files": [
31
+ "cjs",
27
32
  "lib",
28
33
  "docs",
29
34
  "types"
@@ -32,15 +37,14 @@
32
37
  "./lib/runtimes/node/node-crypto.js": "./lib/runtimes/browser/browser-crypto.js"
33
38
  },
34
39
  "dependencies": {
35
- "@aws-sdk/client-cognito-identity-provider": "^3.80.0",
40
+ "@aws-sdk/client-cognito-identity-provider": "^3.131.0",
36
41
  "@graphql-typed-document-node/core": "^3.1.1",
37
- "@sudoplatform/sudo-web-crypto-provider": "^3.1.0",
42
+ "@sudoplatform/sudo-web-crypto-provider": "^7.0.0",
38
43
  "amazon-cognito-auth-js": "^1.3.3",
39
44
  "apollo-cache-inmemory": "^1.6.6",
40
- "asn1js": "^2.4.0",
41
- "aws-appsync": "4.1.5",
45
+ "aws-appsync": "^4.1.7",
42
46
  "fp-ts": "^2.12.1",
43
- "graphql": "^15.6.1",
47
+ "graphql": "^15.8.0",
44
48
  "io-ts": "^2.2.16",
45
49
  "jsonwebtoken": "^8.5.1",
46
50
  "lodash": "^4.17.21",
@@ -51,53 +55,55 @@
51
55
  },
52
56
  "resolutions": {
53
57
  "apollo-cache-inmemory": "^1.6.6",
58
+ "apollo-client": "^2.6.10",
59
+ "apollo-link": "^1.2.14",
60
+ "apollo-link-http": "^1.5.17",
54
61
  "@graphql-codegen/**/ansi-regex": "^5.0.1",
55
62
  "cross-fetch": "^3.1.5",
56
63
  "node-fetch": "^2.6.7",
57
- "minimist": "^1.2.6"
64
+ "minimist": "^1.2.6",
65
+ "undici": "^5.8.2",
66
+ "got": "^11.8.5"
58
67
  },
59
68
  "devDependencies": {
60
- "@babel/cli": "^7.16.0",
61
- "@babel/core": "^7.16.0",
62
- "@babel/plugin-proposal-class-properties": "^7.16.0",
63
- "@babel/plugin-proposal-private-methods": "^7.16.0",
64
- "@babel/preset-env": "^7.16.0",
65
- "@babel/preset-typescript": "^7.16.0",
66
- "@graphql-codegen/add": "^3.1.0",
67
- "@graphql-codegen/cli": "^2.2.1",
68
- "@graphql-codegen/plugin-helpers": "^2.2.0",
69
- "@graphql-codegen/typed-document-node": "^2.1.6",
70
- "@graphql-codegen/typescript": "^2.2.4",
71
- "@graphql-codegen/typescript-operations": "^2.1.8",
69
+ "@graphql-codegen/add": "^3.2.0",
70
+ "@graphql-codegen/cli": "^2.9.1",
71
+ "@graphql-codegen/plugin-helpers": "^2.6.0",
72
+ "@graphql-codegen/typed-document-node": "^2.3.2",
73
+ "@graphql-codegen/typescript": "^2.7.2",
74
+ "@graphql-codegen/typescript-operations": "^2.5.2",
72
75
  "@graphql-typed-document-node/apollo-client-2": "^1.0.0",
73
- "@sudoplatform/sudo-common": "^6.2.0",
76
+ "@sudoplatform/sudo-common": "^8.0.0",
74
77
  "@types/amazon-cognito-auth-js": "^1.3.0",
75
- "@types/firefox-webext-browser": "^82.0.1",
76
- "@types/jest": "^27.4.1",
78
+ "@types/firefox-webext-browser": "^94.0.1",
79
+ "@types/jest": "^28.1.3",
77
80
  "@types/jsonwebtoken": "^8.5.8",
78
81
  "@types/lodash": "^4.14.182",
79
- "@types/node": "^14.17.27",
82
+ "@types/node": "^16.11.45",
80
83
  "@types/uuid": "^8.3.4",
81
- "@typescript-eslint/eslint-plugin": "^5.21.0",
82
- "@typescript-eslint/parser": "^5.21.0",
84
+ "@typescript-eslint/eslint-plugin": "^5.33.1",
85
+ "@typescript-eslint/parser": "^5.33.1",
83
86
  "apollo-client": "^2.6.10",
84
- "eslint": "^8.14.0",
87
+ "concurrently": "^7.3.0",
88
+ "eslint": "^8.22.0",
85
89
  "eslint-config-prettier": "^8.5.0",
86
90
  "eslint-plugin-import": "^2.26.0",
87
- "eslint-plugin-prettier": "^4.0.0",
91
+ "eslint-plugin-prettier": "^4.2.1",
92
+ "eslint-plugin-tree-shaking": "^1.10.0",
93
+ "husky": "^8.0.1",
88
94
  "isomorphic-fetch": "^3.0.0",
89
- "isomorphic-webcrypto": "^2.3.8",
90
- "jest": "27.3.1",
91
- "prettier": "^2.6.2",
92
- "react": "16.13.1",
95
+ "jest": "^28.1.3",
96
+ "jest-environment-node": "^28.1.3",
97
+ "prettier": "^2.7.1",
93
98
  "subscriptions-transport-ws": "^0.11.0",
99
+ "ts-jest": "^28.0.8",
94
100
  "ts-mockito": "^2.6.1",
95
- "typedoc": "^0.22.15",
96
- "typescript": "^4.6.4",
101
+ "typedoc": "^0.23.10",
102
+ "typescript": "^4.7.4",
97
103
  "websocket": "^1.0.34"
98
104
  },
99
105
  "peerDependencies": {
100
- "@sudoplatform/sudo-common": "^6.0.0",
101
- "io-ts": "^2.2.11"
106
+ "@sudoplatform/sudo-common": "^8.0.0",
107
+ "io-ts": "^2.2.16"
102
108
  }
103
109
  }