@cloudbase/oauth 1.0.0-alpha.4 → 1.2.0-beta

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 (102) hide show
  1. package/app/index.d.ts +29 -0
  2. package/app/index.js +50 -0
  3. package/app/index.js.map +1 -0
  4. package/app/internal.d.ts +12 -0
  5. package/app/internal.js +25 -0
  6. package/app/internal.js.map +1 -0
  7. package/app/openuri.d.ts +20 -0
  8. package/app/openuri.js +106 -0
  9. package/app/openuri.js.map +1 -0
  10. package/app/request.d.ts +19 -0
  11. package/app/request.js +52 -0
  12. package/app/request.js.map +1 -0
  13. package/app/storage.d.ts +41 -0
  14. package/app/storage.js +35 -0
  15. package/app/storage.js.map +1 -0
  16. package/{dist/auth → auth}/consts.d.ts +21 -9
  17. package/auth/consts.js +79 -0
  18. package/auth/consts.js.map +1 -0
  19. package/auth/index.d.ts +242 -0
  20. package/auth/index.js +550 -0
  21. package/auth/index.js.map +1 -0
  22. package/auth/models.d.ts +284 -0
  23. package/auth/models.js +4 -0
  24. package/auth/models.js.map +1 -0
  25. package/captcha/index.d.ts +45 -0
  26. package/captcha/index.js +135 -0
  27. package/captcha/index.js.map +1 -0
  28. package/function/index.d.ts +38 -0
  29. package/function/index.js +80 -0
  30. package/function/index.js.map +1 -0
  31. package/index.d.ts +8 -0
  32. package/index.js +17 -0
  33. package/index.js.map +1 -0
  34. package/{dist/oauth2client → oauthclient}/consts.d.ts +1 -22
  35. package/oauthclient/consts.js +53 -0
  36. package/oauthclient/consts.js.map +1 -0
  37. package/oauthclient/index.d.ts +18 -0
  38. package/oauthclient/index.js +21 -0
  39. package/oauthclient/index.js.map +1 -0
  40. package/oauthclient/interface.d.ts +29 -0
  41. package/oauthclient/interface.js +10 -0
  42. package/oauthclient/interface.js.map +1 -0
  43. package/oauthclient/models.d.ts +40 -0
  44. package/oauthclient/models.js +3 -0
  45. package/oauthclient/models.js.map +1 -0
  46. package/oauthclient/oauthclient.d.ts +146 -0
  47. package/oauthclient/oauthclient.js +414 -0
  48. package/oauthclient/oauthclient.js.map +1 -0
  49. package/package.json +14 -26
  50. package/utils/promise.d.ts +18 -0
  51. package/utils/promise.js +48 -0
  52. package/utils/promise.js.map +1 -0
  53. package/utils/uuid.d.ts +5 -0
  54. package/utils/uuid.js +16 -0
  55. package/utils/uuid.js.map +1 -0
  56. package/.eslintignore +0 -2
  57. package/.eslintrc +0 -26
  58. package/CHANGELOG.md +0 -30
  59. package/Dockerfile +0 -15
  60. package/README.md +0 -183
  61. package/_exmaple/assets/scripts/function/function.ts +0 -99
  62. package/_exmaple/assets/scripts/index.ts +0 -101
  63. package/_exmaple/assets/scripts/request.ts +0 -11
  64. package/_exmaple/index.html +0 -15
  65. package/_exmaple/package.json +0 -33
  66. package/_exmaple/tsconfig.json +0 -71
  67. package/_exmaple/typings.d.ts +0 -0
  68. package/_exmaple/webpack.config.js +0 -42
  69. package/dist/auth/apis.d.ts +0 -55
  70. package/dist/auth/apis.js +0 -572
  71. package/dist/auth/consts.js +0 -61
  72. package/dist/auth/models.d.ts +0 -355
  73. package/dist/auth/models.js +0 -3
  74. package/dist/captcha/captcha.d.ts +0 -35
  75. package/dist/captcha/captcha.js +0 -267
  76. package/dist/index.d.ts +0 -14
  77. package/dist/index.js +0 -63
  78. package/dist/oauth2client/consts.js +0 -73
  79. package/dist/oauth2client/interface.d.ts +0 -15
  80. package/dist/oauth2client/interface.js +0 -10
  81. package/dist/oauth2client/models.d.ts +0 -47
  82. package/dist/oauth2client/models.js +0 -3
  83. package/dist/oauth2client/oauth2client.d.ts +0 -71
  84. package/dist/oauth2client/oauth2client.js +0 -634
  85. package/dist/utils/function/single-promise.d.ts +0 -5
  86. package/dist/utils/function/single-promise.js +0 -89
  87. package/dist/utils/uuid.d.ts +0 -1
  88. package/dist/utils/uuid.js +0 -12
  89. package/publish.sh +0 -2
  90. package/src/auth/apis.ts +0 -646
  91. package/src/auth/consts.ts +0 -57
  92. package/src/auth/models.ts +0 -445
  93. package/src/captcha/captcha.ts +0 -222
  94. package/src/index.ts +0 -49
  95. package/src/oauth2client/consts.ts +0 -69
  96. package/src/oauth2client/interface.ts +0 -57
  97. package/src/oauth2client/models.ts +0 -61
  98. package/src/oauth2client/oauth2client.ts +0 -615
  99. package/src/utils/function/single-promise.ts +0 -40
  100. package/src/utils/uuid.ts +0 -11
  101. package/tsconfig.json +0 -44
  102. package/wiki/README.md +0 -75
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OAuth2Client = exports.LocalCredentials = exports.generateRequestId = exports.toResponseError = void 0;
4
+ const consts_1 = require("./consts");
5
+ const uuid_1 = require("../utils/uuid");
6
+ const promise_1 = require("../utils/promise");
7
+ const RequestIdHeaderName = 'x-request-id';
8
+ const DeviceIdHeaderName = 'x-device-id';
9
+ const DeviceIdSectionName = 'device_';
10
+ const toResponseError = (error, options) => {
11
+ let responseError;
12
+ const formatOptions = options || {};
13
+ if (error instanceof Error) {
14
+ responseError = {
15
+ error: formatOptions.error || consts_1.ErrorType.LOCAL,
16
+ error_description: formatOptions.error_description || error.message,
17
+ error_uri: formatOptions.error_uri,
18
+ details: formatOptions.details || error.stack,
19
+ };
20
+ }
21
+ else {
22
+ const formatError = error || {};
23
+ responseError = {
24
+ error: formatOptions.error || formatError.error || consts_1.ErrorType.LOCAL,
25
+ error_description: formatOptions.error_description || formatError.error_description,
26
+ error_uri: formatOptions.error_uri || formatError.error_uri,
27
+ details: formatOptions.details || formatError.details,
28
+ };
29
+ }
30
+ return responseError;
31
+ };
32
+ exports.toResponseError = toResponseError;
33
+ /**
34
+ * Generate request id.
35
+ * @return {string}
36
+ */
37
+ function generateRequestId() {
38
+ return uuid_1.uuidv4();
39
+ }
40
+ exports.generateRequestId = generateRequestId;
41
+ /**
42
+ * Check if credentials is expired.
43
+ * @param {Credentials} credentials
44
+ * @return {boolean}
45
+ */
46
+ function isCredentialsExpired(credentials) {
47
+ let isExpired = true;
48
+ if (credentials && credentials.expires_at && credentials.access_token) {
49
+ isExpired = credentials.expires_at < new Date();
50
+ }
51
+ return isExpired;
52
+ }
53
+ /**
54
+ * Local credentials.
55
+ * Local credentials, with memory cache and storage cache.
56
+ * If the memory cache expires, the storage cache is automatically loaded.
57
+ */
58
+ class LocalCredentials {
59
+ /**
60
+ * constructor
61
+ * @param {LocalCredentialsOptions} options
62
+ */
63
+ constructor(options) {
64
+ this._credentials = null;
65
+ this._promiseOnce = new promise_1.PromiseOnce();
66
+ this._tokenSectionName = options.tokenSectionName;
67
+ this._storage = options.storage;
68
+ }
69
+ /**
70
+ * setCredentials Provides an alternative fetch api request implementation with auth credentials
71
+ * @param {Credentials} credentials
72
+ */
73
+ async setCredentials(credentials) {
74
+ if (credentials && credentials.expires_in) {
75
+ credentials.expires_at = new Date(Date.now() + (credentials.expires_in - 30) * 1000);
76
+ if (this._storage) {
77
+ const tokenStr = JSON.stringify(credentials);
78
+ await this._storage.setItem(this._tokenSectionName, tokenStr);
79
+ }
80
+ this._credentials = credentials;
81
+ }
82
+ else {
83
+ if (this._storage) {
84
+ await this._storage.removeItem(this._tokenSectionName);
85
+ }
86
+ this._credentials = null;
87
+ }
88
+ }
89
+ /**
90
+ * Get credentials.
91
+ * @return {Promise<Credentials>}
92
+ */
93
+ async getCredentials() {
94
+ return this._promiseOnce.run('getCredentials', async () => {
95
+ if (isCredentialsExpired(this._credentials)) {
96
+ this._credentials = await this._getStorageCredentials();
97
+ }
98
+ return this._credentials;
99
+ });
100
+ }
101
+ /**
102
+ * Get storage credentials.
103
+ */
104
+ async _getStorageCredentials() {
105
+ return this._promiseOnce.run('_getStorageCredentials', async () => {
106
+ let credentials = null;
107
+ const tokenStr = await this._storage.getItem(this._tokenSectionName);
108
+ if (tokenStr !== undefined && tokenStr !== null) {
109
+ try {
110
+ credentials = JSON.parse(tokenStr);
111
+ if (credentials && credentials.expires_at) {
112
+ credentials.expires_at = new Date(credentials.expires_at);
113
+ }
114
+ }
115
+ catch (error) {
116
+ await this._storage.removeItem(this._tokenSectionName);
117
+ credentials = null;
118
+ }
119
+ }
120
+ return credentials;
121
+ });
122
+ }
123
+ }
124
+ exports.LocalCredentials = LocalCredentials;
125
+ /**
126
+ * OAuth2Client
127
+ */
128
+ class OAuth2Client {
129
+ /**
130
+ * constructor
131
+ * @param {OAuth2ClientOptions} options
132
+ */
133
+ constructor(options) {
134
+ this._promiseOnce = new promise_1.PromiseOnce();
135
+ this._retry = this._formatRetry(options.retry, OAuth2Client._defaultRetry);
136
+ this._baseRequest = options.request;
137
+ if (!options.clientSecret) {
138
+ options.clientSecret = "";
139
+ }
140
+ if (options.clientId !== '') {
141
+ this._basicAuth = "Basic " + btoa(options.clientId + ":" + options.clientSecret);
142
+ }
143
+ this._tokenInURL = options.tokenInURL;
144
+ this._headers = options.headers;
145
+ // @ts-ignore
146
+ this._storage = options.storage || defaultStorage;
147
+ this._localCredentials = new LocalCredentials({
148
+ tokenSectionName: 'credentials_',
149
+ storage: this._storage,
150
+ });
151
+ this._refreshTokenFunc =
152
+ options.refreshTokenFunc || this._defaultRefreshTokenFunc;
153
+ }
154
+ /**
155
+ * setCredentials Provides an alternative fetch api request implementation with auth credentials
156
+ * @param {Credentials} credentials
157
+ * @return {Promise<void>}
158
+ */
159
+ setCredentials(credentials) {
160
+ return this._localCredentials.setCredentials(credentials);
161
+ }
162
+ /**
163
+ * getAccessToken return a validate access token
164
+ */
165
+ async getAccessToken() {
166
+ const credentials = await this._getCredentials();
167
+ if (credentials && credentials.access_token) {
168
+ return Promise.resolve(credentials.access_token);
169
+ }
170
+ return Promise.reject({ error: consts_1.ErrorType.UNAUTHENTICATED });
171
+ }
172
+ /**
173
+ * getScope return a validate access token
174
+ */
175
+ async getScope() {
176
+ let credentials = await this._localCredentials.getCredentials();
177
+ if (credentials == null) {
178
+ return this._unAuthenticatedError("credentials not found");
179
+ }
180
+ return credentials.scope;
181
+ }
182
+ /**
183
+ * request http like simple fetch api, exp:request('/v1/user/me', {withCredentials:true})
184
+ * @param {string} url
185
+ * @param {AuthClientRequestOptions} options
186
+ */
187
+ async request(url, options) {
188
+ if (!options) {
189
+ options = {};
190
+ }
191
+ const retry = this._formatRetry(options.retry, this._retry);
192
+ options.headers = options.headers || {};
193
+ if (this._headers) {
194
+ options.headers = {
195
+ ...this._headers,
196
+ ...options.headers,
197
+ };
198
+ }
199
+ if (!options.headers[RequestIdHeaderName]) {
200
+ options.headers[RequestIdHeaderName] = generateRequestId();
201
+ }
202
+ if (!options.headers[DeviceIdHeaderName]) {
203
+ const deviceId = await this._getDeviceId();
204
+ options.headers[DeviceIdHeaderName] = deviceId;
205
+ }
206
+ if (options && options.withBasicAuth && this._basicAuth) {
207
+ options.headers['Authorization'] = this._basicAuth;
208
+ }
209
+ if (options && options.withCredentials) {
210
+ const credentials = await this._getCredentials();
211
+ if (credentials) {
212
+ if (this._tokenInURL) {
213
+ if (url.indexOf('?') < 0) {
214
+ url += '?';
215
+ }
216
+ url += 'access_token=' + credentials.access_token;
217
+ }
218
+ else {
219
+ options.headers['Authorization'] =
220
+ credentials.token_type + ' ' + credentials.access_token;
221
+ }
222
+ }
223
+ }
224
+ let response;
225
+ const maxRequestTimes = retry + 1;
226
+ for (let requestTime = 0; requestTime < maxRequestTimes; requestTime++) {
227
+ try {
228
+ response = await this._baseRequest(url, options);
229
+ break;
230
+ }
231
+ catch (responseError) {
232
+ if (options.withCredentials && responseError && responseError.error === consts_1.ErrorType.UNAUTHENTICATED) {
233
+ await this.setCredentials(null);
234
+ return Promise.reject(responseError);
235
+ }
236
+ if (requestTime === retry ||
237
+ !responseError ||
238
+ responseError.error !== 'unreachable') {
239
+ return Promise.reject(responseError);
240
+ }
241
+ }
242
+ await this._sleep(OAuth2Client._retryInterval);
243
+ }
244
+ return response;
245
+ }
246
+ /**
247
+ * Check retry value.
248
+ * @param {number} retry
249
+ * @return {number}
250
+ */
251
+ _checkRetry(retry) {
252
+ let responseError = null;
253
+ if (typeof retry !== 'number' ||
254
+ retry < OAuth2Client._minRetry ||
255
+ retry > OAuth2Client._maxRetry) {
256
+ responseError = {
257
+ error: consts_1.ErrorType.UNREACHABLE,
258
+ error_description: 'wrong options param: retry',
259
+ };
260
+ }
261
+ if (responseError) {
262
+ throw responseError;
263
+ }
264
+ return retry;
265
+ }
266
+ /**
267
+ * Format retry value.
268
+ * @param {number} retry
269
+ * @param {number} defaultVale
270
+ * @return {number}
271
+ */
272
+ _formatRetry(retry, defaultVale) {
273
+ if (typeof retry === 'undefined') {
274
+ return defaultVale;
275
+ }
276
+ else {
277
+ return this._checkRetry(retry);
278
+ }
279
+ }
280
+ /**
281
+ * Sleep.
282
+ * @param {number} ms
283
+ * @return {Promise<void>}
284
+ */
285
+ async _sleep(ms) {
286
+ return new Promise((resolve) => {
287
+ setTimeout(() => {
288
+ resolve();
289
+ }, ms);
290
+ });
291
+ }
292
+ /**
293
+ * Refresh expired token.
294
+ * @param {Credentials} credentials
295
+ * @return {Promise<Credentials>}
296
+ */
297
+ async _refreshToken(credentials) {
298
+ return this._promiseOnce.run('_refreshToken', async () => {
299
+ if (!credentials || !credentials.refresh_token) {
300
+ return this._unAuthenticatedError('no refresh token found in credentials');
301
+ }
302
+ try {
303
+ const newCredentials = await this._refreshTokenFunc(credentials.refresh_token);
304
+ await this._localCredentials.setCredentials(newCredentials);
305
+ return newCredentials;
306
+ }
307
+ catch (error) {
308
+ if (error.error === consts_1.ErrorType.INVALID_GRANT) {
309
+ await this._localCredentials.setCredentials(null);
310
+ return this._unAuthenticatedError(error.error_description);
311
+ }
312
+ return Promise.reject(error);
313
+ }
314
+ });
315
+ }
316
+ /**
317
+ * anonymous signIn
318
+ * @param {Credentials} credentials
319
+ * @return {Promise<Credentials>}
320
+ */
321
+ async _anonymousSignIn(credentials) {
322
+ return this._promiseOnce.run('_anonymous', async () => {
323
+ if (!credentials || credentials.scope !== 'anonymous') {
324
+ return this._unAuthenticatedError('no anonymous in credentials');
325
+ }
326
+ try {
327
+ const newCredentials = await this.request('/auth/v1/signin/anonymously', {
328
+ method: 'POST',
329
+ withBasicAuth: true,
330
+ body: {}
331
+ });
332
+ await this._localCredentials.setCredentials(newCredentials);
333
+ return newCredentials;
334
+ }
335
+ catch (error) {
336
+ if (error.error === consts_1.ErrorType.INVALID_GRANT) {
337
+ await this._localCredentials.setCredentials(null);
338
+ return this._unAuthenticatedError(error.error_description);
339
+ }
340
+ return Promise.reject(error);
341
+ }
342
+ });
343
+ }
344
+ /**
345
+ * Default refresh token function.
346
+ * @param {string} refreshToken
347
+ * @return {Promise<Credentials>}
348
+ */
349
+ _defaultRefreshTokenFunc(refreshToken) {
350
+ if (refreshToken === undefined || refreshToken === '') {
351
+ return this._unAuthenticatedError('refresh token not found');
352
+ }
353
+ return this.request('/auth/v1/token', {
354
+ method: 'POST',
355
+ withBasicAuth: true,
356
+ body: {
357
+ grant_type: 'refresh_token',
358
+ refresh_token: refreshToken,
359
+ },
360
+ });
361
+ }
362
+ /**
363
+ * Get credentials.
364
+ */
365
+ async _getCredentials() {
366
+ let credentials = await this._localCredentials.getCredentials();
367
+ if (credentials == null) {
368
+ return this._unAuthenticatedError("credentials not found");
369
+ }
370
+ if (isCredentialsExpired(credentials)) {
371
+ if (credentials && credentials.scope === 'anonymous') {
372
+ credentials = await this._anonymousSignIn(credentials);
373
+ }
374
+ else {
375
+ credentials = await this._refreshToken(credentials);
376
+ }
377
+ }
378
+ return credentials;
379
+ }
380
+ /**
381
+ * Get deviceId
382
+ */
383
+ async _getDeviceId() {
384
+ if (this._deviceID) {
385
+ return this._deviceID;
386
+ }
387
+ let deviceId = await this._storage.getItem(DeviceIdSectionName);
388
+ if (!(typeof deviceId === 'string' &&
389
+ deviceId.length >= 16 &&
390
+ deviceId.length <= 48)) {
391
+ deviceId = uuid_1.uuidv4();
392
+ await this._storage.setItem(DeviceIdSectionName, deviceId);
393
+ }
394
+ this._deviceID = deviceId;
395
+ return deviceId;
396
+ }
397
+ /**
398
+ * Generate unAuthenticated error.
399
+ * @param {string} err
400
+ * @return {Promise<T>}
401
+ */
402
+ _unAuthenticatedError(err) {
403
+ return Promise.reject({
404
+ error: consts_1.ErrorType.UNAUTHENTICATED,
405
+ error_description: err,
406
+ });
407
+ }
408
+ }
409
+ exports.OAuth2Client = OAuth2Client;
410
+ OAuth2Client._defaultRetry = 2;
411
+ OAuth2Client._minRetry = 0;
412
+ OAuth2Client._maxRetry = 5;
413
+ OAuth2Client._retryInterval = 1000;
414
+ //# sourceMappingURL=oauthclient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthclient.js","sourceRoot":"","sources":["../../src/oauthclient/oauthclient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,30 +1,18 @@
1
1
  {
2
- "name": "@cloudbase/oauth",
3
- "version": "1.0.0-alpha.4",
4
- "description": "cloudbase javascript sdk auth componets",
5
- "main": "./dist/index.js",
6
- "module": "dist/esm/index.js",
7
- "publishConfig": {
2
+ "name": "@cloudbase/oauth",
3
+ "version": "1.2.0-beta",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
+ "publishConfig": {
8
8
  "access": "public"
9
9
  },
10
- "scripts": {
11
- "eslint": "eslint \"{src,__tests__}/**/*.ts\"",
12
- "eslint:fix": "eslint --fix \"{src,__tests__}/**/*.ts\"",
13
- "clean": "rimraf dist",
14
- "compile": "tsc",
15
- "build": "yarn clean && yarn compile"
16
- },
17
- "license": "MIT",
18
- "devDependencies": {
19
- "@typescript-eslint/eslint-plugin": "^2.24.0",
20
- "@typescript-eslint/parser": "^2.24.0",
21
- "eslint": "^6.8.0",
22
- "eslint-config-google": "^0.14.0",
23
- "eslint-config-prettier": "^6.10.0",
24
- "eslint-plugin-prettier": "^3.1.2",
25
- "prettier": "^1.19.1",
26
- "rimraf": "^3.0.0",
27
- "typescript": "^3.8.3"
28
- },
29
- "gitHead": "408151ff95f10c324ed4a8826ee77ded1aea4b0e"
10
+ "scripts": {
11
+ "test": "echo \"Error: no test specified\" && exit 1",
12
+ "build": "tsc",
13
+ "prepare": "npm run build"
14
+ },
15
+ "keywords": [],
16
+ "author": "",
17
+ "license": "ISC"
30
18
  }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Promise Once
3
+ */
4
+ export declare class PromiseOnce {
5
+ /**
6
+ * Run Once promise.
7
+ * @param {string} key
8
+ * @param {Function} fn
9
+ * @return {Promise<T>}
10
+ */
11
+ run<T>(key: string, fn: () => Promise<T>): Promise<T>;
12
+ /**
13
+ * Run idle promise.
14
+ * @return {Promise<void>}
15
+ */
16
+ private _runIdlePromise;
17
+ private _fnPromiseMap;
18
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromiseOnce = void 0;
4
+ /**
5
+ * Promise Once
6
+ */
7
+ class PromiseOnce {
8
+ constructor() {
9
+ this._fnPromiseMap = new Map();
10
+ }
11
+ /**
12
+ * Run Once promise.
13
+ * @param {string} key
14
+ * @param {Function} fn
15
+ * @return {Promise<T>}
16
+ */
17
+ async run(key, fn) {
18
+ let result = this._fnPromiseMap.get(key);
19
+ if (!result) {
20
+ result = new Promise(async (resolve, reject) => {
21
+ try {
22
+ // The idle promise must be run to prevent _fnPromiseMap from
23
+ // storing the current promise function.
24
+ await this._runIdlePromise();
25
+ const fnResult = fn();
26
+ resolve(await fnResult);
27
+ }
28
+ catch (error) {
29
+ reject(error);
30
+ }
31
+ finally {
32
+ this._fnPromiseMap.delete(key);
33
+ }
34
+ });
35
+ this._fnPromiseMap.set(key, result);
36
+ }
37
+ return result;
38
+ }
39
+ /**
40
+ * Run idle promise.
41
+ * @return {Promise<void>}
42
+ */
43
+ _runIdlePromise() {
44
+ return Promise.resolve();
45
+ }
46
+ }
47
+ exports.PromiseOnce = PromiseOnce;
48
+ //# sourceMappingURL=promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/utils/promise.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,WAAW;IAAxB;QAoCY,kBAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;IACjE,CAAC;IApCG;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,EAAoB;QAC1C,IAAI,MAAM,GAAiB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,GAAG,IAAI,OAAO,CAAM,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,IAAI;oBACA,6DAA6D;oBAC7D,wCAAwC;oBACxC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAe,EAAE,EAAE,CAAC;oBAClC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;iBAC3B;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjB;wBAAS;oBACN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBAClC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,eAAe;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CAGJ;AArCD,kCAqCC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generate uuidv4 string.
3
+ * @return {string}
4
+ */
5
+ export declare function uuidv4(): string;
package/utils/uuid.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uuidv4 = void 0;
4
+ /**
5
+ * Generate uuidv4 string.
6
+ * @return {string}
7
+ */
8
+ function uuidv4() {
9
+ return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
10
+ const r = (Math.random() * 16) | 0;
11
+ const v = c == 'x' ? r : (r & 0x3) | 0x8;
12
+ return v.toString(16);
13
+ });
14
+ }
15
+ exports.uuidv4 = uuidv4;
16
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,MAAM;IAClB,OAAO,kCAAkC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACzC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC;AAND,wBAMC"}
package/.eslintignore DELETED
@@ -1,2 +0,0 @@
1
- dist/
2
- node_modules/
package/.eslintrc DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "extends": [
3
- "eslint-config-alloy/typescript"
4
- ],
5
- "rules": {
6
- "indent": [
7
- "warn",
8
- 2
9
- ],
10
- "guard-for-in": 0,
11
- "no-param-reassign": 0,
12
- "no-undefined": 0,
13
- "@typescript-eslint/explicit-member-accessibility": 0,
14
- "@typescript-eslint/no-loss-of-precision": 0,
15
- "@typescript-eslint/no-duplicate-imports": 0,
16
- "@typescript-eslint/consistent-type-assertions": 0,
17
- "@typescript-eslint/member-ordering": 0
18
- },
19
- "parserOptions": {
20
- "ecmaVersion": 6,
21
- "sourceType": "module",
22
- "ecmaFeatures": {
23
- "modules": true
24
- }
25
- }
26
- }
package/CHANGELOG.md DELETED
@@ -1,30 +0,0 @@
1
- ## 更新日志
2
-
3
-
4
- ### 1.3.3beta
5
-
6
- 1. 三方登录开放 `provider_access_token` 和 `provider_id_token`
7
-
8
-
9
- ### 1.2.3
10
-
11
- 1. OAuth2Client 增加 hasCredentials 方法,判断是否存在 credentials(不校验有限性也不触发 refresh token)
12
- 2. 增加 LocalCredentials 管理 credentials, 简化 OAuth2Client 代码逻辑
13
-
14
- ### 1.1.3
15
-
16
- 1. 修复 getAccessToken 方法获取不到 refresh 之后的 token 的 bug
17
- 2. 增加 SinglePromise 模块
18
-
19
- ### 1.0.12
20
-
21
- 1. 添加 ErrorType enum
22
-
23
- ### 1.0.11
24
-
25
- 1. OAuth2Client 中 refresh token,如果请求返回的 error 为 invalid_grant 时,删除本地 token
26
- 2. OAuth2Client 中,对 defaultRequest 的 options 数据进行拷贝,避免修改了传入的参数数据
27
-
28
- ### 1.0.9
29
-
30
- 1. 代码格式化
package/Dockerfile DELETED
@@ -1,15 +0,0 @@
1
- # FROM base_npm:latest
2
-
3
- # # ARG NPM_TOKEN
4
- # RUN mkdir -p /usr/src/app
5
- # WORKDIR /usr/src/app/
6
-
7
- # COPY package.json .
8
- # ADD . /usr/src/app
9
- # RUN npm set registry https://npm.xbase.xyz
10
- # RUN npm install
11
- # RUN npm run build
12
-
13
- # # @todo use semantic-release with gitlab ci to auto release with branch
14
- # # RUN npm view @xbase/sdk version
15
- # RUN npm publish