@cloudbase/app 1.4.1 → 2.0.0-alpha.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/dist/cjs/constants/common.d.ts +8 -1
- package/dist/cjs/constants/common.js +15 -3
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +6 -3
- package/dist/cjs/libs/cache.js +3 -18
- package/dist/cjs/libs/request.d.ts +2 -7
- package/dist/cjs/libs/request.js +23 -212
- package/dist/esm/constants/common.d.ts +8 -1
- package/dist/esm/constants/common.js +13 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +5 -3
- package/dist/esm/libs/cache.js +3 -18
- package/dist/esm/libs/request.d.ts +2 -7
- package/dist/esm/libs/request.js +25 -214
- package/package.json +7 -5
- package/src/constants/common.ts +26 -12
- package/src/index.ts +6 -2
- package/src/libs/cache.ts +23 -21
- package/src/libs/request.ts +20 -153
- package/dist/cjs/constants/events.d.ts +0 -7
- package/dist/cjs/constants/events.js +0 -11
- package/dist/esm/constants/events.d.ts +0 -7
- package/dist/esm/constants/events.js +0 -8
- package/src/constants/events.ts +0 -7
package/src/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { initCache, getCacheByEnvId, getLocalCache } from './libs/cache';
|
|
|
11
11
|
import { ICloudbaseRequest } from '@cloudbase/types/request';
|
|
12
12
|
import { initRequest, getRequestByEnvId } from './libs/request';
|
|
13
13
|
import { getSdkName, setSdkVersion, setEndPoint, setRegionLevelEndpoint, setSdkName } from './constants/common';
|
|
14
|
+
export { getBaseEndPoint } from './constants/common'
|
|
14
15
|
const { useAdapters, useDefaultAdapter, RUNTIME } = adapters;
|
|
15
16
|
const { ERRORS, COMMUNITY_SITE_URL } = constants;
|
|
16
17
|
const { printWarn } = utils;
|
|
@@ -33,12 +34,15 @@ const extensionMap: KV<ICloudbaseExtension> = {};
|
|
|
33
34
|
|
|
34
35
|
class Cloudbase implements ICloudbase {
|
|
35
36
|
public authInstance: ICloudbaseAuth;
|
|
37
|
+
public oauthInstance: any;
|
|
36
38
|
public requestClient: any;
|
|
39
|
+
public oauthClient: any
|
|
37
40
|
private _config: ICloudbaseConfig;
|
|
38
41
|
|
|
39
42
|
constructor(config?: ICloudbaseConfig) {
|
|
40
43
|
this._config = config ? config : this._config;
|
|
41
44
|
this.authInstance = null;
|
|
45
|
+
this.oauthInstance = null
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
get config() {
|
|
@@ -119,14 +123,14 @@ class Cloudbase implements ICloudbase {
|
|
|
119
123
|
// 修正timeout取值
|
|
120
124
|
this._config.timeout = this._formatTimeout(this._config.timeout);
|
|
121
125
|
// 初始化cache和request
|
|
122
|
-
const { env, persistence, debug, timeout, appSecret, appSign } = this._config;
|
|
126
|
+
const { env, persistence, debug, timeout, appSecret, appSign, oauthClient } = this._config;
|
|
123
127
|
initCache({ env, persistence, debug, platformInfo: this.platform });
|
|
124
|
-
initRequest({ env, region: config.region || '', timeout, appSecret, appSign });
|
|
125
128
|
|
|
126
129
|
if (config.region) {
|
|
127
130
|
setRegionLevelEndpoint(env, config.region || '')
|
|
128
131
|
}
|
|
129
132
|
const app = new Cloudbase(this._config);
|
|
133
|
+
initRequest({ env, region: config.region || '', timeout, appSecret, appSign, oauthClient, _fromApp: app });
|
|
130
134
|
app.requestClient = this.requestClient;
|
|
131
135
|
return app;
|
|
132
136
|
}
|
package/src/libs/cache.ts
CHANGED
|
@@ -2,12 +2,13 @@ import { KV } from "@cloudbase/types";
|
|
|
2
2
|
import { cache } from "@cloudbase/utilities";
|
|
3
3
|
import { ICloudbaseCache, ICacheConfig } from "@cloudbase/types/cache";
|
|
4
4
|
|
|
5
|
-
const KEY_ACCESS_TOKEN = 'access_token';
|
|
6
|
-
const KEY_ACCESS_TOKEN_EXPIRE = 'access_token_expire';
|
|
7
|
-
const KEY_REFRESH_TOKEN = 'refresh_token';
|
|
8
|
-
const KEY_ANONYMOUS_UUID = 'anonymous_uuid';
|
|
9
|
-
const KEY_LOGIN_TYPE = 'login_type';
|
|
10
5
|
const USER_INFO_KEY = 'user_info';
|
|
6
|
+
// const KEY_ACCESS_TOKEN = 'access_token';
|
|
7
|
+
// const KEY_ACCESS_TOKEN_EXPIRE = 'access_token_expire';
|
|
8
|
+
// const KEY_REFRESH_TOKEN = 'refresh_token';
|
|
9
|
+
// const KEY_ANONYMOUS_UUID = 'anonymous_uuid';
|
|
10
|
+
// const KEY_LOGIN_TYPE = 'login_type';
|
|
11
|
+
// const DEVICE_INFO = 'device_id';
|
|
11
12
|
|
|
12
13
|
const { CloudbaseCache } = cache;
|
|
13
14
|
|
|
@@ -15,30 +16,31 @@ const cacheMap: KV<ICloudbaseCache> = {};
|
|
|
15
16
|
// 本地存储
|
|
16
17
|
const localCacheMap: KV<ICloudbaseCache> = {};
|
|
17
18
|
|
|
18
|
-
export function initCache(config: ICacheConfig&{env:string}) {
|
|
19
|
-
const { env,persistence,platformInfo } = config;
|
|
19
|
+
export function initCache(config: ICacheConfig & { env: string }) {
|
|
20
|
+
const { env, persistence, platformInfo } = config;
|
|
20
21
|
|
|
21
|
-
const accessTokenKey
|
|
22
|
-
const accessTokenExpireKey = `${KEY_ACCESS_TOKEN_EXPIRE}_${env}`;
|
|
23
|
-
const refreshTokenKey = `${KEY_REFRESH_TOKEN}_${env}`;
|
|
24
|
-
const anonymousUuidKey = `${KEY_ANONYMOUS_UUID}_${env}`;
|
|
25
|
-
const loginTypeKey = `${KEY_LOGIN_TYPE}_${env}`;
|
|
26
|
-
const userInfoKey
|
|
22
|
+
// const accessTokenKey = `${KEY_ACCESS_TOKEN}_${env}`;
|
|
23
|
+
// const accessTokenExpireKey = `${KEY_ACCESS_TOKEN_EXPIRE}_${env}`;
|
|
24
|
+
// const refreshTokenKey = `${KEY_REFRESH_TOKEN}_${env}`;
|
|
25
|
+
// const anonymousUuidKey = `${KEY_ANONYMOUS_UUID}_${env}`;
|
|
26
|
+
// const loginTypeKey = `${KEY_LOGIN_TYPE}_${env}`;
|
|
27
|
+
const userInfoKey = `${USER_INFO_KEY}_${env}`;
|
|
28
|
+
// const deviceIdKey = `${DEVICE_INFO}`; // 非环境级别
|
|
27
29
|
|
|
28
30
|
const keys = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
userInfoKey,
|
|
32
|
+
// accessTokenKey,
|
|
33
|
+
// accessTokenExpireKey,
|
|
34
|
+
// refreshTokenKey,
|
|
35
|
+
// anonymousUuidKey,
|
|
36
|
+
// loginTypeKey,
|
|
37
|
+
// deviceIdKey
|
|
35
38
|
};
|
|
36
39
|
// 若指定env已存在cache则尝试更新persistence
|
|
37
|
-
cacheMap[env]?cacheMap[env].updatePersistence(persistence):(cacheMap[env] = new CloudbaseCache({
|
|
40
|
+
cacheMap[env] ? cacheMap[env].updatePersistence(persistence) : (cacheMap[env] = new CloudbaseCache({
|
|
38
41
|
...config,
|
|
39
42
|
keys,
|
|
40
43
|
platformInfo,
|
|
41
|
-
alwaysLocalKeys: ['anonymousUuidKey']
|
|
42
44
|
}));
|
|
43
45
|
localCacheMap[env] = localCacheMap[env] || new CloudbaseCache({
|
|
44
46
|
...config,
|
package/src/libs/request.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DATA_VERSION,
|
|
3
|
-
LOGINTYPE,
|
|
4
3
|
getSdkVersion,
|
|
5
|
-
getEndPoint
|
|
4
|
+
getEndPoint,
|
|
5
|
+
getBaseEndPoint
|
|
6
6
|
} from '../constants/common';
|
|
7
7
|
import {
|
|
8
8
|
IRequestOptions,
|
|
@@ -15,15 +15,15 @@ import { utils, adapters, constants } from '@cloudbase/utilities';
|
|
|
15
15
|
import { KV } from '@cloudbase/types';
|
|
16
16
|
import { IGetAccessTokenResult, ICloudbaseRequestConfig, IAppendedRequestInfo, IRequestBeforeHook } from '@cloudbase/types/request';
|
|
17
17
|
import { ICloudbaseCache } from '@cloudbase/types/cache';
|
|
18
|
-
import {
|
|
19
|
-
import { getCacheByEnvId, getLocalCache } from './cache';
|
|
20
|
-
import { EVENTS } from '../constants/events';
|
|
18
|
+
import { getLocalCache } from './cache';
|
|
21
19
|
import { Platform } from './adapter';
|
|
22
|
-
|
|
23
20
|
const { ERRORS } = constants;
|
|
24
21
|
const { genSeqId, isFormData, formatUrl, createSign } = utils;
|
|
25
22
|
const { RUNTIME } = adapters;
|
|
26
23
|
|
|
24
|
+
// import FingerprintJS from '@fingerprintjs/fingerprintjs'
|
|
25
|
+
// const fpPromise = FingerprintJS.load()
|
|
26
|
+
|
|
27
27
|
// 下面几种 action 不需要 access token
|
|
28
28
|
const ACTIONS_WITHOUT_ACCESSTOKEN = [
|
|
29
29
|
'auth.getJwt',
|
|
@@ -85,8 +85,6 @@ export interface ICloudbaseRequest {
|
|
|
85
85
|
post: (options: IRequestOptions) => Promise<ResponseObject>;
|
|
86
86
|
upload: (options: IUploadRequestOptions) => Promise<ResponseObject>;
|
|
87
87
|
download: (options: IRequestOptions) => Promise<ResponseObject>;
|
|
88
|
-
refreshAccessToken: () => Promise<IGetAccessTokenResult>;
|
|
89
|
-
getAccessToken: () => Promise<IGetAccessTokenResult>;
|
|
90
88
|
request: (action: string, params: KV<any>, options?: KV<any>) => Promise<ResponseObject>;
|
|
91
89
|
send: (action: string, data: KV<any>) => Promise<any>;
|
|
92
90
|
}
|
|
@@ -101,7 +99,6 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
101
99
|
_reqClass: SDKRequestInterface;
|
|
102
100
|
// 请求失败是否抛出Error
|
|
103
101
|
private _throwWhenRequestFail = false;
|
|
104
|
-
private _cache: ICloudbaseCache;
|
|
105
102
|
// 持久化本地存储
|
|
106
103
|
private _localCache: ICloudbaseCache;
|
|
107
104
|
/**
|
|
@@ -109,6 +106,7 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
109
106
|
* @param config
|
|
110
107
|
*/
|
|
111
108
|
constructor(config: ICloudbaseRequestConfig & { throw?: boolean }) {
|
|
109
|
+
|
|
112
110
|
this.config = config;
|
|
113
111
|
// eslint-disable-next-line
|
|
114
112
|
this._reqClass = new Platform.adapter.reqClass(<IRequestConfig>{
|
|
@@ -117,12 +115,12 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
117
115
|
restrictedMethods: ['post']
|
|
118
116
|
});
|
|
119
117
|
this._throwWhenRequestFail = config.throw || false;
|
|
120
|
-
this._cache = getCacheByEnvId(this.config.env);
|
|
121
118
|
this._localCache = getLocalCache(this.config.env);
|
|
122
119
|
bindHooks(this._reqClass, 'post', [beforeEach]);
|
|
123
120
|
bindHooks(this._reqClass, 'upload', [beforeEach]);
|
|
124
121
|
bindHooks(this._reqClass, 'download', [beforeEach]);
|
|
125
122
|
}
|
|
123
|
+
|
|
126
124
|
public async post(options: IRequestOptions): Promise<ResponseObject> {
|
|
127
125
|
const res = await this._reqClass.post(options);
|
|
128
126
|
return res;
|
|
@@ -136,61 +134,20 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
136
134
|
return res;
|
|
137
135
|
}
|
|
138
136
|
|
|
139
|
-
public
|
|
140
|
-
|
|
141
|
-
if (!this._refreshAccessTokenPromise) {
|
|
142
|
-
// 没有正在刷新,那么正常执行刷新逻辑
|
|
143
|
-
this._refreshAccessTokenPromise = this._refreshAccessToken();
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
let result;
|
|
147
|
-
let err;
|
|
148
|
-
try {
|
|
149
|
-
result = await this._refreshAccessTokenPromise;
|
|
150
|
-
} catch (e) {
|
|
151
|
-
err = e;
|
|
152
|
-
}
|
|
153
|
-
this._refreshAccessTokenPromise = null;
|
|
154
|
-
this._shouldRefreshAccessTokenHook = null;
|
|
155
|
-
if (err) {
|
|
156
|
-
throw err;
|
|
157
|
-
}
|
|
158
|
-
return result;
|
|
137
|
+
public getBaseEndPoint() {
|
|
138
|
+
return getBaseEndPoint()
|
|
159
139
|
}
|
|
160
140
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
throw new Error(JSON.stringify({
|
|
168
|
-
code: ERRORS.OPERATION_FAIL,
|
|
169
|
-
msg: 'refresh token is not exist, your local data might be messed up, please retry after clear localStorage or sessionStorage'
|
|
170
|
-
}));
|
|
171
|
-
}
|
|
172
|
-
// 如果没有access token或者过期,那么刷新
|
|
173
|
-
const accessToken = await this._cache.getStoreAsync(accessTokenKey);
|
|
174
|
-
const accessTokenExpire = Number(await this._cache.getStoreAsync(accessTokenExpireKey));
|
|
175
|
-
|
|
176
|
-
// 调用钩子函数
|
|
177
|
-
let shouldRefreshAccessToken = true;
|
|
178
|
-
if (this._shouldRefreshAccessTokenHook && !(await this._shouldRefreshAccessTokenHook(accessToken, accessTokenExpire))) {
|
|
179
|
-
shouldRefreshAccessToken = false;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
if ((!accessToken || !accessTokenExpire || accessTokenExpire < Date.now()) && shouldRefreshAccessToken) {
|
|
183
|
-
// 返回新的access tolen
|
|
184
|
-
return await this.refreshAccessToken();
|
|
185
|
-
} else {
|
|
186
|
-
// 返回本地的access token
|
|
187
|
-
return {
|
|
188
|
-
accessToken,
|
|
189
|
-
accessTokenExpire
|
|
190
|
-
};
|
|
141
|
+
public async getOauthAccessTokenV2(oauthClient: any): Promise<IGetAccessTokenResult> {
|
|
142
|
+
const validAccessToken = await oauthClient.getAccessToken()
|
|
143
|
+
const credentials = await oauthClient._getCredentials()
|
|
144
|
+
return {
|
|
145
|
+
accessToken: validAccessToken,
|
|
146
|
+
accessTokenExpire: new Date(credentials.expires_at).getTime()
|
|
191
147
|
}
|
|
192
148
|
}
|
|
193
149
|
|
|
150
|
+
|
|
194
151
|
/* eslint-disable complexity */
|
|
195
152
|
public async request(action: string, params: KV<any>, options?: KV<any>): Promise<ResponseObject> {
|
|
196
153
|
const tcbTraceKey = `x-tcb-trace_${this.config.env}`;
|
|
@@ -204,15 +161,10 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
204
161
|
...params
|
|
205
162
|
};
|
|
206
163
|
|
|
207
|
-
|
|
208
164
|
if (ACTIONS_WITHOUT_ACCESSTOKEN.indexOf(action) === -1) {
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
const refreshToken = await this._cache.getStoreAsync(refreshTokenKey);
|
|
213
|
-
if (refreshToken) {
|
|
214
|
-
tmpObj.access_token = (await this.getAccessToken()).accessToken;
|
|
215
|
-
}
|
|
165
|
+
const app = this.config._fromApp
|
|
166
|
+
const oauthClient = app.oauthInstance.oauth2client
|
|
167
|
+
tmpObj.access_token = (await this.getOauthAccessTokenV2(oauthClient)).accessToken
|
|
216
168
|
}
|
|
217
169
|
|
|
218
170
|
// 拼body和content-type
|
|
@@ -308,11 +260,6 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
308
260
|
|
|
309
261
|
public async send(action: string, data: KV<any> = {}): Promise<any> {
|
|
310
262
|
let response = await this.request(action, data, { onUploadProgress: data.onUploadProgress });
|
|
311
|
-
if (response.data.code === 'ACCESS_TOKEN_EXPIRED' && ACTIONS_WITHOUT_ACCESSTOKEN.indexOf(action) === -1) {
|
|
312
|
-
// access_token过期,重新获取
|
|
313
|
-
await this.refreshAccessToken();
|
|
314
|
-
response = await this.request(action, data, { onUploadProgress: data.onUploadProgress });
|
|
315
|
-
}
|
|
316
263
|
|
|
317
264
|
if (response.data.code && this._throwWhenRequestFail) {
|
|
318
265
|
throw new Error(JSON.stringify({
|
|
@@ -323,86 +270,6 @@ export class CloudbaseRequest implements ICloudbaseRequest {
|
|
|
323
270
|
|
|
324
271
|
return response.data;
|
|
325
272
|
}
|
|
326
|
-
|
|
327
|
-
// 调用接口刷新access token,并且返回
|
|
328
|
-
private async _refreshAccessToken(retryNum = 1): Promise<IGetAccessTokenResult> {
|
|
329
|
-
const { accessTokenKey, accessTokenExpireKey, refreshTokenKey, loginTypeKey, anonymousUuidKey } = this._cache.keys;
|
|
330
|
-
await this._cache.removeStoreAsync(accessTokenKey);
|
|
331
|
-
await this._cache.removeStoreAsync(accessTokenExpireKey);
|
|
332
|
-
|
|
333
|
-
let refreshToken = await this._cache.getStoreAsync(refreshTokenKey);
|
|
334
|
-
if (!refreshToken) {
|
|
335
|
-
throw new Error(JSON.stringify({
|
|
336
|
-
code: ERRORS.INVALID_OPERATION,
|
|
337
|
-
msg: 'not login'
|
|
338
|
-
}));
|
|
339
|
-
}
|
|
340
|
-
const params: KV<string> = {
|
|
341
|
-
refresh_token: refreshToken
|
|
342
|
-
};
|
|
343
|
-
const response = await this.request('auth.fetchAccessTokenWithRefreshToken', params);
|
|
344
|
-
if (response.data.code) {
|
|
345
|
-
const { code } = response.data;
|
|
346
|
-
if (code === 'SIGN_PARAM_INVALID' || code === 'REFRESH_TOKEN_EXPIRED' || code === 'INVALID_REFRESH_TOKEN') {
|
|
347
|
-
// 这里处理以下逻辑:
|
|
348
|
-
// 匿名登录时,如果刷新access token报错refresh token过期,此时应该:
|
|
349
|
-
// 1. 再用 uuid 拿一次新的refresh token
|
|
350
|
-
// 2. 拿新的refresh token换access token
|
|
351
|
-
const isAnonymous = await this._cache.getStoreAsync(loginTypeKey) === LOGINTYPE.ANONYMOUS;
|
|
352
|
-
if (isAnonymous && code === 'INVALID_REFRESH_TOKEN') {
|
|
353
|
-
// 获取新的 refresh token
|
|
354
|
-
const anonymous_uuid = await this._cache.getStoreAsync(anonymousUuidKey);
|
|
355
|
-
// 此处cache为基类property
|
|
356
|
-
const refresh_token = await this._cache.getStoreAsync(refreshTokenKey);
|
|
357
|
-
const res = await this.send('auth.signInAnonymously', {
|
|
358
|
-
anonymous_uuid,
|
|
359
|
-
refresh_token
|
|
360
|
-
});
|
|
361
|
-
this._setRefreshToken(res.refresh_token);
|
|
362
|
-
if (retryNum >= 1) {
|
|
363
|
-
return this._refreshAccessToken(--retryNum);
|
|
364
|
-
} else {
|
|
365
|
-
throw new Error(
|
|
366
|
-
JSON.stringify({
|
|
367
|
-
code: ERRORS.OPERATION_FAIL,
|
|
368
|
-
message: '重试获取 refresh token 失败'
|
|
369
|
-
})
|
|
370
|
-
)
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
cloudbase.fire(EVENTS.LOGIN_STATE_EXPIRED);
|
|
374
|
-
await this._cache.removeStoreAsync(refreshTokenKey);
|
|
375
|
-
}
|
|
376
|
-
throw new Error(JSON.stringify({
|
|
377
|
-
code: ERRORS.NETWORK_ERROR,
|
|
378
|
-
msg: `refresh access_token failed:${response.data.code}`
|
|
379
|
-
}));
|
|
380
|
-
}
|
|
381
|
-
if (response.data.access_token) {
|
|
382
|
-
cloudbase.fire(EVENTS.ACCESS_TOKEN_REFRESHD);
|
|
383
|
-
await this._cache.setStoreAsync(accessTokenKey, response.data.access_token);
|
|
384
|
-
// 本地时间可能没有同步
|
|
385
|
-
await this._cache.setStoreAsync(accessTokenExpireKey, response.data.access_token_expire + Date.now());
|
|
386
|
-
return {
|
|
387
|
-
accessToken: response.data.access_token,
|
|
388
|
-
accessTokenExpire: response.data.access_token_expire
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
// 匿名登录refresh_token过期情况下返回refresh_token
|
|
392
|
-
// 此场景下使用新的refresh_token获取access_token
|
|
393
|
-
if (response.data.refresh_token) {
|
|
394
|
-
await this._cache.removeStoreAsync(refreshTokenKey);
|
|
395
|
-
await this._cache.setStoreAsync(refreshTokenKey, response.data.refresh_token);
|
|
396
|
-
await this._refreshAccessToken();
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
private async _setRefreshToken(refreshToken: string) {
|
|
400
|
-
const { accessTokenKey, accessTokenExpireKey, refreshTokenKey } = this._cache.keys;
|
|
401
|
-
// refresh token设置前,先清掉 access token
|
|
402
|
-
await this._cache.removeStoreAsync(accessTokenKey);
|
|
403
|
-
await this._cache.removeStoreAsync(accessTokenExpireKey);
|
|
404
|
-
await this._cache.setStoreAsync(refreshTokenKey, refreshToken);
|
|
405
|
-
}
|
|
406
273
|
}
|
|
407
274
|
|
|
408
275
|
const requestMap: KV<CloudbaseRequest> = {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EVENTS = void 0;
|
|
4
|
-
exports.EVENTS = {
|
|
5
|
-
LOGIN_STATE_CHANGED: 'loginStateChanged',
|
|
6
|
-
LOGIN_STATE_EXPIRED: 'loginStateExpire',
|
|
7
|
-
LOGIN_TYPE_CHANGED: 'loginTypeChanged',
|
|
8
|
-
ANONYMOUS_CONVERTED: 'anonymousConverted',
|
|
9
|
-
ACCESS_TOKEN_REFRESHD: 'refreshAccessToken'
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsbUJBQW1CLEVBQUksbUJBQW1CO0lBQzFDLG1CQUFtQixFQUFJLGtCQUFrQjtJQUN6QyxrQkFBa0IsRUFBSyxrQkFBa0I7SUFDekMsbUJBQW1CLEVBQUksb0JBQW9CO0lBQzNDLHFCQUFxQixFQUFFLG9CQUFvQjtDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVWRU5UUyA9IHtcbiAgTE9HSU5fU1RBVEVfQ0hBTkdFRCAgOiAnbG9naW5TdGF0ZUNoYW5nZWQnLFxuICBMT0dJTl9TVEFURV9FWFBJUkVEICA6ICdsb2dpblN0YXRlRXhwaXJlJyxcbiAgTE9HSU5fVFlQRV9DSEFOR0VEICAgOiAnbG9naW5UeXBlQ2hhbmdlZCcsXG4gIEFOT05ZTU9VU19DT05WRVJURUQgIDogJ2Fub255bW91c0NvbnZlcnRlZCcsIC8v5Yy/5ZCN6LSm5oi36KKr6L2s5q2j5ZCO6Kem5Y+RXG4gIEFDQ0VTU19UT0tFTl9SRUZSRVNIRDogJ3JlZnJlc2hBY2Nlc3NUb2tlbidcbn07XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export var EVENTS = {
|
|
2
|
-
LOGIN_STATE_CHANGED: 'loginStateChanged',
|
|
3
|
-
LOGIN_STATE_EXPIRED: 'loginStateExpire',
|
|
4
|
-
LOGIN_TYPE_CHANGED: 'loginTypeChanged',
|
|
5
|
-
ANONYMOUS_CONVERTED: 'anonymousConverted',
|
|
6
|
-
ACCESS_TOKEN_REFRESHD: 'refreshAccessToken'
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHO0lBQ3BCLG1CQUFtQixFQUFJLG1CQUFtQjtJQUMxQyxtQkFBbUIsRUFBSSxrQkFBa0I7SUFDekMsa0JBQWtCLEVBQUssa0JBQWtCO0lBQ3pDLG1CQUFtQixFQUFJLG9CQUFvQjtJQUMzQyxxQkFBcUIsRUFBRSxvQkFBb0I7Q0FDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBFVkVOVFMgPSB7XG4gIExPR0lOX1NUQVRFX0NIQU5HRUQgIDogJ2xvZ2luU3RhdGVDaGFuZ2VkJyxcbiAgTE9HSU5fU1RBVEVfRVhQSVJFRCAgOiAnbG9naW5TdGF0ZUV4cGlyZScsXG4gIExPR0lOX1RZUEVfQ0hBTkdFRCAgIDogJ2xvZ2luVHlwZUNoYW5nZWQnLFxuICBBTk9OWU1PVVNfQ09OVkVSVEVEICA6ICdhbm9ueW1vdXNDb252ZXJ0ZWQnLCAvL+WMv+WQjei0puaIt+iiq+i9rOato+WQjuinpuWPkVxuICBBQ0NFU1NfVE9LRU5fUkVGUkVTSEQ6ICdyZWZyZXNoQWNjZXNzVG9rZW4nXG59O1xuIl19
|
package/src/constants/events.ts
DELETED