@cloudbase/auth 1.7.3-alpha.0 → 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/index.d.ts +50 -101
- package/dist/cjs/index.js +415 -778
- package/dist/esm/index.d.ts +50 -101
- package/dist/esm/index.js +416 -775
- package/package.json +52 -54
- package/src/index.ts +401 -766
- package/dist/cjs/common.d.ts +0 -8
- package/dist/cjs/common.js +0 -64
- package/dist/cjs/constants.d.ts +0 -12
- package/dist/cjs/constants.js +0 -17
- package/dist/cjs/providers/anonymousAuthProvider.d.ts +0 -15
- package/dist/cjs/providers/anonymousAuthProvider.js +0 -256
- package/dist/cjs/providers/base.d.ts +0 -21
- package/dist/cjs/providers/base.js +0 -152
- package/dist/cjs/providers/customAuthProvider.d.ts +0 -5
- package/dist/cjs/providers/customAuthProvider.js +0 -150
- package/dist/cjs/providers/emailAuthProvider.d.ts +0 -9
- package/dist/cjs/providers/emailAuthProvider.js +0 -250
- package/dist/cjs/providers/oauth2AuthProvider.d.ts +0 -61
- package/dist/cjs/providers/oauth2AuthProvider.js +0 -404
- package/dist/cjs/providers/phoneAuthProvider.d.ts +0 -17
- package/dist/cjs/providers/phoneAuthProvider.js +0 -219
- package/dist/cjs/providers/usernameAuthProvider.d.ts +0 -5
- package/dist/cjs/providers/usernameAuthProvider.js +0 -169
- package/dist/cjs/providers/weixinAuthProvider.d.ts +0 -28
- package/dist/cjs/providers/weixinAuthProvider.js +0 -294
- package/dist/esm/common.d.ts +0 -8
- package/dist/esm/common.js +0 -61
- package/dist/esm/constants.d.ts +0 -12
- package/dist/esm/constants.js +0 -14
- package/dist/esm/providers/anonymousAuthProvider.d.ts +0 -15
- package/dist/esm/providers/anonymousAuthProvider.js +0 -253
- package/dist/esm/providers/base.d.ts +0 -21
- package/dist/esm/providers/base.js +0 -149
- package/dist/esm/providers/customAuthProvider.d.ts +0 -5
- package/dist/esm/providers/customAuthProvider.js +0 -147
- package/dist/esm/providers/emailAuthProvider.d.ts +0 -9
- package/dist/esm/providers/emailAuthProvider.js +0 -247
- package/dist/esm/providers/oauth2AuthProvider.d.ts +0 -61
- package/dist/esm/providers/oauth2AuthProvider.js +0 -401
- package/dist/esm/providers/phoneAuthProvider.d.ts +0 -17
- package/dist/esm/providers/phoneAuthProvider.js +0 -216
- package/dist/esm/providers/usernameAuthProvider.d.ts +0 -5
- package/dist/esm/providers/usernameAuthProvider.js +0 -166
- package/dist/esm/providers/weixinAuthProvider.d.ts +0 -28
- package/dist/esm/providers/weixinAuthProvider.js +0 -291
- package/src/common.ts +0 -21
- package/src/constants.ts +0 -13
- package/src/providers/anonymousAuthProvider.ts +0 -126
- package/src/providers/base.ts +0 -78
- package/src/providers/customAuthProvider.ts +0 -69
- package/src/providers/emailAuthProvider.ts +0 -142
- package/src/providers/oauth2AuthProvider.ts +0 -585
- package/src/providers/phoneAuthProvider.ts +0 -132
- package/src/providers/usernameAuthProvider.ts +0 -77
- package/src/providers/weixinAuthProvider.ts +0 -193
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
var __extends = (this && this.__extends) || (function () {
|
|
2
|
-
var extendStatics = function (d, b) {
|
|
3
|
-
extendStatics = Object.setPrototypeOf ||
|
|
4
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
-
return extendStatics(d, b);
|
|
7
|
-
};
|
|
8
|
-
return function (d, b) {
|
|
9
|
-
extendStatics(d, b);
|
|
10
|
-
function __() { this.constructor = d; }
|
|
11
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
-
};
|
|
13
|
-
})();
|
|
14
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
};
|
|
20
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
21
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
22
|
-
};
|
|
23
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
24
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
25
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
26
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
27
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
28
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
29
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
33
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
34
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
35
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
36
|
-
function step(op) {
|
|
37
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
38
|
-
while (_) try {
|
|
39
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
40
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
41
|
-
switch (op[0]) {
|
|
42
|
-
case 0: case 1: t = op; break;
|
|
43
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
44
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
45
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
46
|
-
default:
|
|
47
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
48
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
49
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
50
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
51
|
-
if (t[2]) _.ops.pop();
|
|
52
|
-
_.trys.pop(); continue;
|
|
53
|
-
}
|
|
54
|
-
op = body.call(thisArg, _);
|
|
55
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
56
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
import { AuthProvider } from './base';
|
|
60
|
-
import { constants, utils, helpers, events } from '@cloudbase/utilities';
|
|
61
|
-
import { LOGINTYPE } from '../constants';
|
|
62
|
-
import { EVENTS, eventBus, LoginState } from '..';
|
|
63
|
-
var ERRORS = constants.ERRORS, COMMUNITY_SITE_URL = constants.COMMUNITY_SITE_URL;
|
|
64
|
-
var throwError = utils.throwError, isString = utils.isString;
|
|
65
|
-
var addEventListener = events.addEventListener;
|
|
66
|
-
var catchErrorsDecorator = helpers.catchErrorsDecorator, stopAuthLoginWithOAuth = helpers.stopAuthLoginWithOAuth;
|
|
67
|
-
var AnonymousAuthProvider = (function (_super) {
|
|
68
|
-
__extends(AnonymousAuthProvider, _super);
|
|
69
|
-
function AnonymousAuthProvider(config) {
|
|
70
|
-
var _this = _super.call(this, config) || this;
|
|
71
|
-
_this._onConverted = _this._onConverted.bind(_this);
|
|
72
|
-
addEventListener(EVENTS.ANONYMOUS_CONVERTED, _this._onConverted);
|
|
73
|
-
return _this;
|
|
74
|
-
}
|
|
75
|
-
AnonymousAuthProvider.prototype.signIn = function () {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
-
var _a, anonymousUuidKey, refreshTokenKey, anonymous_uuid, refresh_token, res, loginState;
|
|
78
|
-
return __generator(this, function (_b) {
|
|
79
|
-
switch (_b.label) {
|
|
80
|
-
case 0: return [4, this._cache.updatePersistenceAsync('local')];
|
|
81
|
-
case 1:
|
|
82
|
-
_b.sent();
|
|
83
|
-
_a = this._cache.keys, anonymousUuidKey = _a.anonymousUuidKey, refreshTokenKey = _a.refreshTokenKey;
|
|
84
|
-
return [4, this._cache.getStoreAsync(anonymousUuidKey)];
|
|
85
|
-
case 2:
|
|
86
|
-
anonymous_uuid = _b.sent();
|
|
87
|
-
return [4, this._cache.getStoreAsync(refreshTokenKey)];
|
|
88
|
-
case 3:
|
|
89
|
-
refresh_token = _b.sent();
|
|
90
|
-
return [4, this._request.send('auth.signInAnonymously', {
|
|
91
|
-
anonymous_uuid: anonymous_uuid,
|
|
92
|
-
refresh_token: refresh_token
|
|
93
|
-
})];
|
|
94
|
-
case 4:
|
|
95
|
-
res = _b.sent();
|
|
96
|
-
if (!(res.uuid && res.refresh_token)) return [3, 10];
|
|
97
|
-
return [4, this._setAnonymousUUID(res.uuid)];
|
|
98
|
-
case 5:
|
|
99
|
-
_b.sent();
|
|
100
|
-
return [4, this.setRefreshToken(res.refresh_token)];
|
|
101
|
-
case 6:
|
|
102
|
-
_b.sent();
|
|
103
|
-
return [4, this._request.refreshAccessToken()];
|
|
104
|
-
case 7:
|
|
105
|
-
_b.sent();
|
|
106
|
-
eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
|
|
107
|
-
env: this._config.env,
|
|
108
|
-
loginType: LOGINTYPE.ANONYMOUS,
|
|
109
|
-
persistence: 'local'
|
|
110
|
-
});
|
|
111
|
-
eventBus.fire(EVENTS.LOGIN_STATE_CHANGED);
|
|
112
|
-
loginState = new LoginState({
|
|
113
|
-
envId: this._config.env,
|
|
114
|
-
cache: this._cache,
|
|
115
|
-
request: this._request
|
|
116
|
-
});
|
|
117
|
-
return [4, loginState.checkLocalStateAsync()];
|
|
118
|
-
case 8:
|
|
119
|
-
_b.sent();
|
|
120
|
-
return [4, loginState.user.refresh()];
|
|
121
|
-
case 9:
|
|
122
|
-
_b.sent();
|
|
123
|
-
return [2, loginState];
|
|
124
|
-
case 10: throw new Error(JSON.stringify({
|
|
125
|
-
code: ERRORS.OPERATION_FAIL,
|
|
126
|
-
msg: JSON.stringify(res) || 'anonymous signIn failed'
|
|
127
|
-
}));
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
|
-
AnonymousAuthProvider.prototype.linkAndRetrieveDataWithTicket = function (ticket) {
|
|
133
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
134
|
-
var _a, anonymousUuidKey, refreshTokenKey, anonymous_uuid, refresh_token, res, loginState;
|
|
135
|
-
return __generator(this, function (_b) {
|
|
136
|
-
switch (_b.label) {
|
|
137
|
-
case 0:
|
|
138
|
-
if (!isString(ticket)) {
|
|
139
|
-
throwError(ERRORS.INVALID_PARAMS, 'ticket must be a string');
|
|
140
|
-
}
|
|
141
|
-
_a = this._cache.keys, anonymousUuidKey = _a.anonymousUuidKey, refreshTokenKey = _a.refreshTokenKey;
|
|
142
|
-
return [4, this._cache.getStoreAsync(anonymousUuidKey)];
|
|
143
|
-
case 1:
|
|
144
|
-
anonymous_uuid = _b.sent();
|
|
145
|
-
return [4, this._cache.getStoreAsync(refreshTokenKey)];
|
|
146
|
-
case 2:
|
|
147
|
-
refresh_token = _b.sent();
|
|
148
|
-
return [4, this._request.send('auth.linkAndRetrieveDataWithTicket', {
|
|
149
|
-
anonymous_uuid: anonymous_uuid,
|
|
150
|
-
refresh_token: refresh_token,
|
|
151
|
-
ticket: ticket
|
|
152
|
-
})];
|
|
153
|
-
case 3:
|
|
154
|
-
res = _b.sent();
|
|
155
|
-
if (!res.refresh_token) return [3, 8];
|
|
156
|
-
return [4, this._clearAnonymousUUID()];
|
|
157
|
-
case 4:
|
|
158
|
-
_b.sent();
|
|
159
|
-
return [4, this.setRefreshToken(res.refresh_token)];
|
|
160
|
-
case 5:
|
|
161
|
-
_b.sent();
|
|
162
|
-
return [4, this._request.refreshAccessToken()];
|
|
163
|
-
case 6:
|
|
164
|
-
_b.sent();
|
|
165
|
-
eventBus.fire(EVENTS.ANONYMOUS_CONVERTED, { env: this._config.env });
|
|
166
|
-
eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, { loginType: LOGINTYPE.CUSTOM, persistence: 'local' });
|
|
167
|
-
loginState = new LoginState({
|
|
168
|
-
envId: this._config.env,
|
|
169
|
-
cache: this._cache,
|
|
170
|
-
request: this._request
|
|
171
|
-
});
|
|
172
|
-
return [4, loginState.checkLocalStateAsync()];
|
|
173
|
-
case 7:
|
|
174
|
-
_b.sent();
|
|
175
|
-
return [2, loginState];
|
|
176
|
-
case 8:
|
|
177
|
-
throwError(ERRORS.OPERATION_FAIL, JSON.stringify(res) || 'linkAndRetrieveDataWithTicket failed');
|
|
178
|
-
_b.label = 9;
|
|
179
|
-
case 9: return [2];
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
};
|
|
184
|
-
AnonymousAuthProvider.prototype._setAnonymousUUID = function (id) {
|
|
185
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
186
|
-
var _a, anonymousUuidKey, loginTypeKey;
|
|
187
|
-
return __generator(this, function (_b) {
|
|
188
|
-
switch (_b.label) {
|
|
189
|
-
case 0:
|
|
190
|
-
_a = this._cache.keys, anonymousUuidKey = _a.anonymousUuidKey, loginTypeKey = _a.loginTypeKey;
|
|
191
|
-
return [4, this._cache.removeStoreAsync(anonymousUuidKey)];
|
|
192
|
-
case 1:
|
|
193
|
-
_b.sent();
|
|
194
|
-
return [4, this._cache.setStoreAsync(anonymousUuidKey, id)];
|
|
195
|
-
case 2:
|
|
196
|
-
_b.sent();
|
|
197
|
-
return [4, this._cache.setStoreAsync(loginTypeKey, LOGINTYPE.ANONYMOUS)];
|
|
198
|
-
case 3:
|
|
199
|
-
_b.sent();
|
|
200
|
-
return [2];
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
AnonymousAuthProvider.prototype._clearAnonymousUUID = function () {
|
|
206
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
207
|
-
return __generator(this, function (_a) {
|
|
208
|
-
switch (_a.label) {
|
|
209
|
-
case 0: return [4, this._cache.removeStoreAsync(this._cache.keys.anonymousUuidKey)];
|
|
210
|
-
case 1:
|
|
211
|
-
_a.sent();
|
|
212
|
-
return [2];
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
};
|
|
217
|
-
AnonymousAuthProvider.prototype._onConverted = function (ev) {
|
|
218
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
219
|
-
var env;
|
|
220
|
-
return __generator(this, function (_a) {
|
|
221
|
-
switch (_a.label) {
|
|
222
|
-
case 0:
|
|
223
|
-
env = ev.data.env;
|
|
224
|
-
if (env !== this._config.env) {
|
|
225
|
-
return [2];
|
|
226
|
-
}
|
|
227
|
-
return [4, this._cache.updatePersistenceAsync(this._config.persistence)];
|
|
228
|
-
case 1:
|
|
229
|
-
_a.sent();
|
|
230
|
-
return [2];
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
};
|
|
235
|
-
__decorate([
|
|
236
|
-
stopAuthLoginWithOAuth(),
|
|
237
|
-
catchErrorsDecorator({
|
|
238
|
-
title: '匿名登录失败',
|
|
239
|
-
messages: [
|
|
240
|
-
'请确认以下各项:',
|
|
241
|
-
' 1 - 当前环境是否开启了匿名登录',
|
|
242
|
-
' 2 - 调用 auth().anonymouseProvider().signIn() 的语法或参数是否正确',
|
|
243
|
-
"\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A" + COMMUNITY_SITE_URL
|
|
244
|
-
]
|
|
245
|
-
}),
|
|
246
|
-
__metadata("design:type", Function),
|
|
247
|
-
__metadata("design:paramtypes", []),
|
|
248
|
-
__metadata("design:returntype", Promise)
|
|
249
|
-
], AnonymousAuthProvider.prototype, "signIn", null);
|
|
250
|
-
return AnonymousAuthProvider;
|
|
251
|
-
}(AuthProvider));
|
|
252
|
-
export { AnonymousAuthProvider };
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5vbnltb3VzQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9hbm9ueW1vdXNBdXRoUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRTFDLElBQUEsTUFBTSxHQUF5QixTQUFTLE9BQWxDLEVBQUUsa0JBQWtCLEdBQUssU0FBUyxtQkFBZCxDQUFlO0FBQ3pDLElBQUEsVUFBVSxHQUFlLEtBQUssV0FBcEIsRUFBRSxRQUFRLEdBQUssS0FBSyxTQUFWLENBQVc7QUFDL0IsSUFBQSxnQkFBZ0IsR0FBSyxNQUFNLGlCQUFYLENBQVk7QUFDNUIsSUFBQSxvQkFBb0IsR0FBNkIsT0FBTyxxQkFBcEMsRUFBRSxzQkFBc0IsR0FBSyxPQUFPLHVCQUFaLENBQWE7QUFFakU7SUFBMkMseUNBQVk7SUFDckQsK0JBQVksTUFBcUY7UUFBakcsWUFDRSxrQkFBTSxNQUFNLENBQUMsU0FLZDtRQUhDLEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLENBQUM7UUFFakQsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEtBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7SUFDbEUsQ0FBQztJQVlZLHNDQUFNLEdBQW5COzs7Ozs0QkFFRSxX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ckIsMERBQTBEO2dCQUMxRCxpS0FBNkIsa0JBQW9CO2FBQ2xEO1NBQ0YsQ0FBQzs7Ozt1REF5Q0Q7SUFxREgsNEJBQUM7Q0FBQSxBQWhIRCxDQUEyQyxZQUFZLEdBZ0h0RDtTQWhIWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgSUNsb3VkYmFzZUF1dGhDb25maWcsIElMb2dpblN0YXRlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9hdXRoJztcbmltcG9ydCB7IGNvbnN0YW50cywgdXRpbHMsIGhlbHBlcnMsIGV2ZW50cyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJztcbmltcG9ydCB7IElDbG91ZGJhc2VDYWNoZSB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY2FjaGUnO1xuaW1wb3J0IHsgSUNsb3VkYmFzZVJlcXVlc3QgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL3JlcXVlc3QnO1xuaW1wb3J0IHsgTE9HSU5UWVBFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEVWRU5UUywgZXZlbnRCdXMsIExvZ2luU3RhdGUgfSBmcm9tICcuLic7XG5cbmNvbnN0IHsgRVJST1JTLCBDT01NVU5JVFlfU0lURV9VUkwgfSA9IGNvbnN0YW50cztcbmNvbnN0IHsgdGhyb3dFcnJvciwgaXNTdHJpbmcgfSA9IHV0aWxzO1xuY29uc3QgeyBhZGRFdmVudExpc3RlbmVyIH0gPSBldmVudHM7XG5jb25zdCB7IGNhdGNoRXJyb3JzRGVjb3JhdG9yLCBzdG9wQXV0aExvZ2luV2l0aE9BdXRoIH0gPSBoZWxwZXJzO1xuXG5leHBvcnQgY2xhc3MgQW5vbnltb3VzQXV0aFByb3ZpZGVyIGV4dGVuZHMgQXV0aFByb3ZpZGVyIHtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ2xvdWRiYXNlQXV0aENvbmZpZyAmIHsgY2FjaGU6IElDbG91ZGJhc2VDYWNoZSwgcmVxdWVzdDogSUNsb3VkYmFzZVJlcXVlc3QgfSkge1xuICAgIHN1cGVyKGNvbmZpZyk7XG5cbiAgICB0aGlzLl9vbkNvbnZlcnRlZCA9IHRoaXMuX29uQ29udmVydGVkLmJpbmQodGhpcyk7XG4gICAgLy8g55uR5ZCs6L2s5q2j5LqL5Lu2XG4gICAgYWRkRXZlbnRMaXN0ZW5lcihFVkVOVFMuQU5PTllNT1VTX0NPTlZFUlRFRCwgdGhpcy5fb25Db252ZXJ0ZWQpO1xuICB9XG5cbiAgQHN0b3BBdXRoTG9naW5XaXRoT0F1dGgoKVxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIHRpdGxlOiAn5Yy/5ZCN55m75b2V5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g5b2T5YmN546v5aKD5piv5ZCm5byA5ZCv5LqG5Yy/5ZCN55m75b2VJyxcbiAgICAgICcgIDIgLSDosIPnlKggYXV0aCgpLmFub255bW91c2VQcm92aWRlcigpLnNpZ25JbigpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YFxuICAgIF1cbiAgfSlcbiAgcHVibGljIGFzeW5jIHNpZ25JbigpOiBQcm9taXNlPElMb2dpblN0YXRlPiB7XG4gICAgLy8g5Yy/5ZCN55m75b2V5YmN6L+B56e7Y2FjaGXliLBsb2NhbHN0b3JhZ2VcbiAgICBhd2FpdCB0aGlzLl9jYWNoZS51cGRhdGVQZXJzaXN0ZW5jZUFzeW5jKCdsb2NhbCcpO1xuICAgIGNvbnN0IHsgYW5vbnltb3VzVXVpZEtleSwgcmVmcmVzaFRva2VuS2V5IH0gPSB0aGlzLl9jYWNoZS5rZXlzO1xuICAgIC8vIOWmguaenOacrOWcsOWtmOaciXVpZOWImeWMv+WQjeeZu+W9leaXtuS8oOe7mXNlcnZlclxuICAgIGNvbnN0IGFub255bW91c191dWlkID0gYXdhaXQgdGhpcy5fY2FjaGUuZ2V0U3RvcmVBc3luYyhhbm9ueW1vdXNVdWlkS2V5KTtcbiAgICAvLyDmraTlpIRjYWNoZeS4uuWfuuexu3Byb3BlcnR5XG4gICAgY29uc3QgcmVmcmVzaF90b2tlbiA9IGF3YWl0IHRoaXMuX2NhY2hlLmdldFN0b3JlQXN5bmMocmVmcmVzaFRva2VuS2V5KTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuX3JlcXVlc3Quc2VuZCgnYXV0aC5zaWduSW5Bbm9ueW1vdXNseScsIHtcbiAgICAgIGFub255bW91c191dWlkLFxuICAgICAgcmVmcmVzaF90b2tlblxuICAgIH0pO1xuICAgIGlmIChyZXMudXVpZCAmJiByZXMucmVmcmVzaF90b2tlbikge1xuICAgICAgYXdhaXQgdGhpcy5fc2V0QW5vbnltb3VzVVVJRChyZXMudXVpZCk7XG4gICAgICBhd2FpdCB0aGlzLnNldFJlZnJlc2hUb2tlbihyZXMucmVmcmVzaF90b2tlbik7XG4gICAgICBhd2FpdCB0aGlzLl9yZXF1ZXN0LnJlZnJlc2hBY2Nlc3NUb2tlbigpO1xuXG4gICAgICBldmVudEJ1cy5maXJlKEVWRU5UUy5MT0dJTl9UWVBFX0NIQU5HRUQsIHtcbiAgICAgICAgZW52OiB0aGlzLl9jb25maWcuZW52LFxuICAgICAgICBsb2dpblR5cGU6IExPR0lOVFlQRS5BTk9OWU1PVVMsXG4gICAgICAgIHBlcnNpc3RlbmNlOiAnbG9jYWwnXG4gICAgICB9KTtcblxuICAgICAgZXZlbnRCdXMuZmlyZShFVkVOVFMuTE9HSU5fU1RBVEVfQ0hBTkdFRCk7XG5cbiAgICAgIGNvbnN0IGxvZ2luU3RhdGUgPSBuZXcgTG9naW5TdGF0ZSh7XG4gICAgICAgIGVudklkOiB0aGlzLl9jb25maWcuZW52LFxuICAgICAgICBjYWNoZTogdGhpcy5fY2FjaGUsXG4gICAgICAgIHJlcXVlc3Q6IHRoaXMuX3JlcXVlc3RcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgbG9naW5TdGF0ZS5jaGVja0xvY2FsU3RhdGVBc3luYygpO1xuICAgICAgYXdhaXQgbG9naW5TdGF0ZS51c2VyLnJlZnJlc2goKTtcbiAgICAgIHJldHVybiBsb2dpblN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBjb2RlOiBFUlJPUlMuT1BFUkFUSU9OX0ZBSUwsXG4gICAgICAgIG1zZzogSlNPTi5zdHJpbmdpZnkocmVzKSB8fCAnYW5vbnltb3VzIHNpZ25JbiBmYWlsZWQnXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiDljL/lkI3ovazmraNcbiAgICogQHBhcmFtIHRpY2tldFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxpbmtBbmRSZXRyaWV2ZURhdGFXaXRoVGlja2V0KHRpY2tldDogc3RyaW5nKTogUHJvbWlzZTxJTG9naW5TdGF0ZT4ge1xuICAgIGlmICghaXNTdHJpbmcodGlja2V0KSkge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICd0aWNrZXQgbXVzdCBiZSBhIHN0cmluZycpO1xuICAgIH1cbiAgICBjb25zdCB7IGFub255bW91c1V1aWRLZXksIHJlZnJlc2hUb2tlbktleSB9ID0gdGhpcy5fY2FjaGUua2V5cztcbiAgICBjb25zdCBhbm9ueW1vdXNfdXVpZCA9IGF3YWl0IHRoaXMuX2NhY2hlLmdldFN0b3JlQXN5bmMoYW5vbnltb3VzVXVpZEtleSk7XG4gICAgY29uc3QgcmVmcmVzaF90b2tlbiA9IGF3YWl0IHRoaXMuX2NhY2hlLmdldFN0b3JlQXN5bmMocmVmcmVzaFRva2VuS2V5KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLl9yZXF1ZXN0LnNlbmQoJ2F1dGgubGlua0FuZFJldHJpZXZlRGF0YVdpdGhUaWNrZXQnLCB7XG4gICAgICBhbm9ueW1vdXNfdXVpZCxcbiAgICAgIHJlZnJlc2hfdG9rZW4sXG4gICAgICB0aWNrZXRcbiAgICB9KTtcbiAgICBpZiAocmVzLnJlZnJlc2hfdG9rZW4pIHtcbiAgICAgIC8vIOi9rOato+WQjua4hemZpOacrOWcsOS/neWtmOeahOWMv+WQjXV1aWRcbiAgICAgIGF3YWl0IHRoaXMuX2NsZWFyQW5vbnltb3VzVVVJRCgpO1xuICAgICAgYXdhaXQgdGhpcy5zZXRSZWZyZXNoVG9rZW4ocmVzLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgYXdhaXQgdGhpcy5fcmVxdWVzdC5yZWZyZXNoQWNjZXNzVG9rZW4oKTtcbiAgICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkFOT05ZTU9VU19DT05WRVJURUQsIHsgZW52OiB0aGlzLl9jb25maWcuZW52IH0pO1xuICAgICAgZXZlbnRCdXMuZmlyZShFVkVOVFMuTE9HSU5fVFlQRV9DSEFOR0VELCB7IGxvZ2luVHlwZTogTE9HSU5UWVBFLkNVU1RPTSwgcGVyc2lzdGVuY2U6ICdsb2NhbCcgfSk7XG4gICAgICBjb25zdCBsb2dpblN0YXRlID0gbmV3IExvZ2luU3RhdGUoe1xuICAgICAgICBlbnZJZDogdGhpcy5fY29uZmlnLmVudixcbiAgICAgICAgY2FjaGU6IHRoaXMuX2NhY2hlLFxuICAgICAgICByZXF1ZXN0OiB0aGlzLl9yZXF1ZXN0XG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGxvZ2luU3RhdGUuY2hlY2tMb2NhbFN0YXRlQXN5bmMoKTtcblxuICAgICAgcmV0dXJuIGxvZ2luU3RhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLk9QRVJBVElPTl9GQUlMLCBKU09OLnN0cmluZ2lmeShyZXMpIHx8ICdsaW5rQW5kUmV0cmlldmVEYXRhV2l0aFRpY2tldCBmYWlsZWQnKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBhc3luYyBfc2V0QW5vbnltb3VzVVVJRChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBhbm9ueW1vdXNVdWlkS2V5LCBsb2dpblR5cGVLZXkgfSA9IHRoaXMuX2NhY2hlLmtleXM7XG4gICAgYXdhaXQgdGhpcy5fY2FjaGUucmVtb3ZlU3RvcmVBc3luYyhhbm9ueW1vdXNVdWlkS2V5KTtcbiAgICBhd2FpdCB0aGlzLl9jYWNoZS5zZXRTdG9yZUFzeW5jKGFub255bW91c1V1aWRLZXksIGlkKTtcbiAgICBhd2FpdCB0aGlzLl9jYWNoZS5zZXRTdG9yZUFzeW5jKGxvZ2luVHlwZUtleSwgTE9HSU5UWVBFLkFOT05ZTU9VUyk7XG4gIH1cbiAgcHJpdmF0ZSBhc3luYyBfY2xlYXJBbm9ueW1vdXNVVUlEKCkge1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnJlbW92ZVN0b3JlQXN5bmModGhpcy5fY2FjaGUua2V5cy5hbm9ueW1vdXNVdWlkS2V5KTtcbiAgfVxuICBwcml2YXRlIGFzeW5jIF9vbkNvbnZlcnRlZChldikge1xuICAgIGNvbnN0IHsgZW52IH0gPSBldi5kYXRhO1xuICAgIGlmIChlbnYgIT09IHRoaXMuX2NvbmZpZy5lbnYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8g5Yy/5ZCN6L2s5q2j5ZCO6L+B56e7Y2FjaGVcbiAgICBhd2FpdCB0aGlzLl9jYWNoZS51cGRhdGVQZXJzaXN0ZW5jZUFzeW5jKHRoaXMuX2NvbmZpZy5wZXJzaXN0ZW5jZSk7XG4gIH1cbn0iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ICloudbaseConfig, ICloudbase } from '@cloudbase/types';
|
|
2
|
-
import { ICloudbaseCache } from '@cloudbase/types/cache';
|
|
3
|
-
import { ICloudbaseRequest } from '@cloudbase/types/request';
|
|
4
|
-
import { ICloudbaseAuthConfig } from '@cloudbase/types/auth';
|
|
5
|
-
import { LoginState } from '..';
|
|
6
|
-
export declare abstract class AuthProvider {
|
|
7
|
-
protected readonly _config: ICloudbaseConfig;
|
|
8
|
-
protected readonly _cache: ICloudbaseCache;
|
|
9
|
-
protected readonly _request: ICloudbaseRequest;
|
|
10
|
-
protected readonly _fromApp: ICloudbase;
|
|
11
|
-
constructor(config: ICloudbaseAuthConfig & {
|
|
12
|
-
cache: ICloudbaseCache;
|
|
13
|
-
request: ICloudbaseRequest;
|
|
14
|
-
});
|
|
15
|
-
protected checkLocalLoginState(): Promise<LoginState>;
|
|
16
|
-
protected setRefreshToken(refreshToken: string): Promise<void>;
|
|
17
|
-
protected setAccessToken(accessToken: string, accessTokenExpire: string): Promise<void>;
|
|
18
|
-
protected refreshUserInfo(): Promise<any>;
|
|
19
|
-
protected setLocalUserInfo(userInfo: any): Promise<void>;
|
|
20
|
-
abstract signIn(...args: any[]): Promise<any>;
|
|
21
|
-
}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { LoginState } from '..';
|
|
38
|
-
var AuthProvider = (function () {
|
|
39
|
-
function AuthProvider(config) {
|
|
40
|
-
this._config = config;
|
|
41
|
-
this._cache = config.cache;
|
|
42
|
-
this._request = config.request;
|
|
43
|
-
this._fromApp = config._fromApp;
|
|
44
|
-
}
|
|
45
|
-
AuthProvider.prototype.checkLocalLoginState = function () {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var _a, accessTokenKey, accessTokenExpireKey, accessToken, accessTokenExpire, loginState;
|
|
48
|
-
return __generator(this, function (_b) {
|
|
49
|
-
switch (_b.label) {
|
|
50
|
-
case 0:
|
|
51
|
-
_a = this._cache.keys, accessTokenKey = _a.accessTokenKey, accessTokenExpireKey = _a.accessTokenExpireKey;
|
|
52
|
-
return [4, this._cache.getStoreAsync(accessTokenKey)];
|
|
53
|
-
case 1:
|
|
54
|
-
accessToken = _b.sent();
|
|
55
|
-
return [4, this._cache.getStoreAsync(accessTokenExpireKey)];
|
|
56
|
-
case 2:
|
|
57
|
-
accessTokenExpire = _b.sent();
|
|
58
|
-
if (!accessToken) return [3, 4];
|
|
59
|
-
if (!(accessTokenExpire && accessTokenExpire > Date.now())) return [3, 4];
|
|
60
|
-
loginState = new LoginState({
|
|
61
|
-
envId: this._config.env,
|
|
62
|
-
cache: this._cache,
|
|
63
|
-
request: this._request
|
|
64
|
-
});
|
|
65
|
-
return [4, loginState.checkLocalStateAsync()];
|
|
66
|
-
case 3:
|
|
67
|
-
_b.sent();
|
|
68
|
-
return [2, loginState];
|
|
69
|
-
case 4: return [2];
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
AuthProvider.prototype.setRefreshToken = function (refreshToken) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
76
|
-
var _a, accessTokenKey, accessTokenExpireKey, refreshTokenKey;
|
|
77
|
-
return __generator(this, function (_b) {
|
|
78
|
-
switch (_b.label) {
|
|
79
|
-
case 0:
|
|
80
|
-
_a = this._cache.keys, accessTokenKey = _a.accessTokenKey, accessTokenExpireKey = _a.accessTokenExpireKey, refreshTokenKey = _a.refreshTokenKey;
|
|
81
|
-
return [4, this._cache.removeStoreAsync(accessTokenKey)];
|
|
82
|
-
case 1:
|
|
83
|
-
_b.sent();
|
|
84
|
-
return [4, this._cache.removeStoreAsync(accessTokenExpireKey)];
|
|
85
|
-
case 2:
|
|
86
|
-
_b.sent();
|
|
87
|
-
return [4, this._cache.setStoreAsync(refreshTokenKey, refreshToken)];
|
|
88
|
-
case 3:
|
|
89
|
-
_b.sent();
|
|
90
|
-
return [2];
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
AuthProvider.prototype.setAccessToken = function (accessToken, accessTokenExpire) {
|
|
96
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
97
|
-
var _a, accessTokenKey, accessTokenExpireKey;
|
|
98
|
-
return __generator(this, function (_b) {
|
|
99
|
-
switch (_b.label) {
|
|
100
|
-
case 0:
|
|
101
|
-
_a = this._cache.keys, accessTokenKey = _a.accessTokenKey, accessTokenExpireKey = _a.accessTokenExpireKey;
|
|
102
|
-
return [4, this._cache.setStoreAsync(accessTokenKey, accessToken)];
|
|
103
|
-
case 1:
|
|
104
|
-
_b.sent();
|
|
105
|
-
return [4, this._cache.setStoreAsync(accessTokenExpireKey, accessTokenExpire)];
|
|
106
|
-
case 2:
|
|
107
|
-
_b.sent();
|
|
108
|
-
return [2];
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
};
|
|
113
|
-
AuthProvider.prototype.refreshUserInfo = function () {
|
|
114
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
115
|
-
var action, userInfo;
|
|
116
|
-
return __generator(this, function (_a) {
|
|
117
|
-
switch (_a.label) {
|
|
118
|
-
case 0:
|
|
119
|
-
action = 'auth.getUserInfo';
|
|
120
|
-
return [4, this._request.send(action, {})];
|
|
121
|
-
case 1:
|
|
122
|
-
userInfo = (_a.sent()).data;
|
|
123
|
-
return [4, this.setLocalUserInfo(userInfo)];
|
|
124
|
-
case 2:
|
|
125
|
-
_a.sent();
|
|
126
|
-
return [2, userInfo];
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
|
-
AuthProvider.prototype.setLocalUserInfo = function (userInfo) {
|
|
132
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
133
|
-
var userInfoKey;
|
|
134
|
-
return __generator(this, function (_a) {
|
|
135
|
-
switch (_a.label) {
|
|
136
|
-
case 0:
|
|
137
|
-
userInfoKey = this._cache.keys.userInfoKey;
|
|
138
|
-
return [4, this._cache.setStoreAsync(userInfoKey, userInfo)];
|
|
139
|
-
case 1:
|
|
140
|
-
_a.sent();
|
|
141
|
-
return [2];
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
return AuthProvider;
|
|
147
|
-
}());
|
|
148
|
-
export { AuthProvider };
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRWhDO0lBTUUsc0JBQVksTUFBcUY7UUFDL0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDakMsQ0FBQztJQUllLDJDQUFvQixHQUFwQzs7Ozs7O3dCQUNRLEtBQTJDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUF6RCxjQUFjLG9CQUFBLEVBQUUsb0JBQW9CLDBCQUFBLENBQXNCO3dCQUM5QyxXQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFBOzt3QkFBN0QsV0FBVyxHQUFHLFNBQStDO3dCQUN6QyxXQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUE7O3dCQUF6RSxpQkFBaUIsR0FBRyxTQUFxRDs2QkFFM0UsV0FBVyxFQUFYLGNBQVc7NkJBQ1QsQ0FBQSxpQkFBaUIsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUEsRUFBbkQsY0FBbUQ7d0JBRS9DLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQzs0QkFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRzs0QkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNOzRCQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7eUJBQ3ZCLENBQUMsQ0FBQzt3QkFDSCxXQUFNLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxFQUFBOzt3QkFBdkMsU0FBdUMsQ0FBQzt3QkFFeEMsV0FBTyxVQUFVLEVBQUM7Ozs7O0tBT3ZCO0lBQ2Usc0NBQWUsR0FBL0IsVUFBZ0MsWUFBb0I7Ozs7Ozt3QkFDNUMsS0FBNEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQTFFLGNBQWMsb0JBQUEsRUFBRSxvQkFBb0IsMEJBQUEsRUFBRSxlQUFlLHFCQUFBLENBQXNCO3dCQUVuRixXQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUE7O3dCQUFsRCxTQUFrRCxDQUFDO3dCQUNuRCxXQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsRUFBQTs7d0JBQXhELFNBQXdELENBQUM7d0JBQ3pELFdBQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxFQUFBOzt3QkFBOUQsU0FBOEQsQ0FBQzs7Ozs7S0FDaEU7SUFDZSxxQ0FBYyxHQUE5QixVQUErQixXQUFtQixFQUFFLGlCQUF5Qjs7Ozs7O3dCQUNyRSxLQUEyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBekQsY0FBYyxvQkFBQSxFQUFFLG9CQUFvQiwwQkFBQSxDQUFzQjt3QkFDbEUsV0FBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLEVBQUE7O3dCQUE1RCxTQUE0RCxDQUFDO3dCQUM3RCxXQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLEVBQUE7O3dCQUF4RSxTQUF3RSxDQUFDOzs7OztLQUMxRTtJQUNlLHNDQUFlLEdBQS9COzs7Ozs7d0JBQ1EsTUFBTSxHQUFHLGtCQUFrQixDQUFDO3dCQUNQLFdBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFBOzt3QkFBakQsUUFBUSxHQUFLLENBQUEsU0FBb0MsQ0FBQSxLQUF6Qzt3QkFDdEIsV0FBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUE7O3dCQUFyQyxTQUFxQyxDQUFDO3dCQUN0QyxXQUFPLFFBQVEsRUFBQzs7OztLQUNqQjtJQUNlLHVDQUFnQixHQUFoQyxVQUFpQyxRQUFROzs7Ozs7d0JBQy9CLFdBQVcsR0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksWUFBckIsQ0FBc0I7d0JBQ3pDLFdBQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxFQUFBOzt3QkFBdEQsU0FBc0QsQ0FBQzs7Ozs7S0FDeEQ7SUFZSCxtQkFBQztBQUFELENBQUMsQUF2RUQsSUF1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlQ29uZmlnLCBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcyc7XG5pbXBvcnQgeyBJQ2xvdWRiYXNlQ2FjaGUgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NhY2hlJztcbmltcG9ydCB7IElDbG91ZGJhc2VSZXF1ZXN0IH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9yZXF1ZXN0JztcbmltcG9ydCB7IElDbG91ZGJhc2VBdXRoQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9hdXRoJztcbmltcG9ydCB7IExvZ2luU3RhdGUgfSBmcm9tICcuLic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRoUHJvdmlkZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NvbmZpZzogSUNsb3VkYmFzZUNvbmZpZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jYWNoZTogSUNsb3VkYmFzZUNhY2hlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3JlcXVlc3Q6IElDbG91ZGJhc2VSZXF1ZXN0O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Zyb21BcHA6IElDbG91ZGJhc2U7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ2xvdWRiYXNlQXV0aENvbmZpZyAmIHsgY2FjaGU6IElDbG91ZGJhc2VDYWNoZSwgcmVxdWVzdDogSUNsb3VkYmFzZVJlcXVlc3QgfSkge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9jYWNoZSA9IGNvbmZpZy5jYWNoZTtcbiAgICB0aGlzLl9yZXF1ZXN0ID0gY29uZmlnLnJlcXVlc3Q7XG4gICAgdGhpcy5fZnJvbUFwcCA9IGNvbmZpZy5fZnJvbUFwcFxuICB9XG4gIC8qKlxuICAgKiDliKTmlq3mnKzlnLDmmK/lkKblt7Lnu4/mnInnmbvlvZXmgIHvvIzlpoLmnpzmnInkuJTmsqHov4fmnJ/vvIzliJnov5Tlm550cnVl77yM5ZCm5YiZ5riF55CG5pys5Zyw55m75b2V5oCBXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgY2hlY2tMb2NhbExvZ2luU3RhdGUoKSB7XG4gICAgY29uc3QgeyBhY2Nlc3NUb2tlbktleSwgYWNjZXNzVG9rZW5FeHBpcmVLZXkgfSA9IHRoaXMuX2NhY2hlLmtleXM7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLl9jYWNoZS5nZXRTdG9yZUFzeW5jKGFjY2Vzc1Rva2VuS2V5KTtcbiAgICBjb25zdCBhY2Nlc3NUb2tlbkV4cGlyZSA9IGF3YWl0IHRoaXMuX2NhY2hlLmdldFN0b3JlQXN5bmMoYWNjZXNzVG9rZW5FeHBpcmVLZXkpO1xuXG4gICAgaWYgKGFjY2Vzc1Rva2VuKSB7XG4gICAgICBpZiAoYWNjZXNzVG9rZW5FeHBpcmUgJiYgYWNjZXNzVG9rZW5FeHBpcmUgPiBEYXRlLm5vdygpKSB7XG4gICAgICAgIC8vIGFjY2Vzc+WtmOWcqOS4lOayoeaciei/h+acn++8jOmCo+S5iOebtOaOpei/lOWbnlxuICAgICAgICBjb25zdCBsb2dpblN0YXRlID0gbmV3IExvZ2luU3RhdGUoe1xuICAgICAgICAgIGVudklkOiB0aGlzLl9jb25maWcuZW52LFxuICAgICAgICAgIGNhY2hlOiB0aGlzLl9jYWNoZSxcbiAgICAgICAgICByZXF1ZXN0OiB0aGlzLl9yZXF1ZXN0XG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBsb2dpblN0YXRlLmNoZWNrTG9jYWxTdGF0ZUFzeW5jKCk7XG5cbiAgICAgICAgcmV0dXJuIGxvZ2luU3RhdGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBhY2Nlc3MgdG9rZW7lrZjlnKjkvYbmmK/ov4fmnJ/kuobvvIzpgqPkuYjliKDpmaTmjonph43mlrDmi4lcbiAgICAgICAgLy8gYXdhaXQgdGhpcy5fY2FjaGUucmVtb3ZlU3RvcmVBc3luYyhhY2Nlc3NUb2tlbktleSk7XG4gICAgICAgIC8vIGF3YWl0IHRoaXMuX2NhY2hlLnJlbW92ZVN0b3JlQXN5bmMoYWNjZXNzVG9rZW5FeHBpcmVLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgYXN5bmMgc2V0UmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbjogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBhY2Nlc3NUb2tlbktleSwgYWNjZXNzVG9rZW5FeHBpcmVLZXksIHJlZnJlc2hUb2tlbktleSB9ID0gdGhpcy5fY2FjaGUua2V5cztcbiAgICAvLyByZWZyZXNoIHRva2Vu6K6+572u5YmN77yM5YWI5riF5o6JIGFjY2VzcyB0b2tlblxuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnJlbW92ZVN0b3JlQXN5bmMoYWNjZXNzVG9rZW5LZXkpO1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnJlbW92ZVN0b3JlQXN5bmMoYWNjZXNzVG9rZW5FeHBpcmVLZXkpO1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMocmVmcmVzaFRva2VuS2V5LCByZWZyZXNoVG9rZW4pO1xuICB9XG4gIHByb3RlY3RlZCBhc3luYyBzZXRBY2Nlc3NUb2tlbihhY2Nlc3NUb2tlbjogc3RyaW5nLCBhY2Nlc3NUb2tlbkV4cGlyZTogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBhY2Nlc3NUb2tlbktleSwgYWNjZXNzVG9rZW5FeHBpcmVLZXkgfSA9IHRoaXMuX2NhY2hlLmtleXM7XG4gICAgYXdhaXQgdGhpcy5fY2FjaGUuc2V0U3RvcmVBc3luYyhhY2Nlc3NUb2tlbktleSwgYWNjZXNzVG9rZW4pO1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMoYWNjZXNzVG9rZW5FeHBpcmVLZXksIGFjY2Vzc1Rva2VuRXhwaXJlKTtcbiAgfVxuICBwcm90ZWN0ZWQgYXN5bmMgcmVmcmVzaFVzZXJJbmZvKCkge1xuICAgIGNvbnN0IGFjdGlvbiA9ICdhdXRoLmdldFVzZXJJbmZvJztcbiAgICBjb25zdCB7IGRhdGE6IHVzZXJJbmZvIH0gPSBhd2FpdCB0aGlzLl9yZXF1ZXN0LnNlbmQoYWN0aW9uLCB7fSk7XG4gICAgYXdhaXQgdGhpcy5zZXRMb2NhbFVzZXJJbmZvKHVzZXJJbmZvKTtcbiAgICByZXR1cm4gdXNlckluZm87XG4gIH1cbiAgcHJvdGVjdGVkIGFzeW5jIHNldExvY2FsVXNlckluZm8odXNlckluZm8pIHtcbiAgICBjb25zdCB7IHVzZXJJbmZvS2V5IH0gPSB0aGlzLl9jYWNoZS5rZXlzO1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmModXNlckluZm9LZXksIHVzZXJJbmZvKTtcbiAgfVxuXG4gIC8vIHByb3RlY3RlZCBhc3luYyBzdG9wQXV0aExvZ2luV2l0aE9hdXRoKCkge1xuICAvLyAgIGNvbnN0IHsgX2Zyb21BcHAgfSA9IHRoaXMuX2NvbmZpZ1xuICAvLyAgIGNvbnN0IGNoZWNrUmVzID0gYXdhaXQgY2hlY2tGcm9tQXV0aFYxT3JWMihfZnJvbUFwcClcbiAgLy8gICBjb25zdCB7IGF1dGhUeXBlIH0gPSBjaGVja1Jlc1xuICAvLyAgIGNvbnNvbGUubG9nKCdhdXRoVHlwZScsIGF1dGhUeXBlKVxuICAvLyAgIGlmIChhdXRoVHlwZSA9PT0gJ29hdXRoJykge1xuICAvLyAgICAgdGhyb3cgRXJyb3IoJ+W9k+WJjeW3suS9v+eUqCBvYXV0aCDnmbvlvZXvvIzor7fmiYvliqjpgIDlh7ogb2F1dGgg55m75b2V5ZCO5YaN6L+b6KGMIGF1dGgg55m75b2VJylcbiAgLy8gICB9XG4gIC8vIH1cbiAgYWJzdHJhY3Qgc2lnbkluKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxhbnk+O1xufSJdfQ==
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
var __extends = (this && this.__extends) || (function () {
|
|
2
|
-
var extendStatics = function (d, b) {
|
|
3
|
-
extendStatics = Object.setPrototypeOf ||
|
|
4
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
-
return extendStatics(d, b);
|
|
7
|
-
};
|
|
8
|
-
return function (d, b) {
|
|
9
|
-
extendStatics(d, b);
|
|
10
|
-
function __() { this.constructor = d; }
|
|
11
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
-
};
|
|
13
|
-
})();
|
|
14
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
};
|
|
20
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
21
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
22
|
-
};
|
|
23
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
24
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
25
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
26
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
27
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
28
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
29
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
33
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
34
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
35
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
36
|
-
function step(op) {
|
|
37
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
38
|
-
while (_) try {
|
|
39
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
40
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
41
|
-
switch (op[0]) {
|
|
42
|
-
case 0: case 1: t = op; break;
|
|
43
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
44
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
45
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
46
|
-
default:
|
|
47
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
48
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
49
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
50
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
51
|
-
if (t[2]) _.ops.pop();
|
|
52
|
-
_.trys.pop(); continue;
|
|
53
|
-
}
|
|
54
|
-
op = body.call(thisArg, _);
|
|
55
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
56
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
import { utils, constants, helpers } from '@cloudbase/utilities';
|
|
60
|
-
import { AuthProvider } from './base';
|
|
61
|
-
import { LOGINTYPE } from '../constants';
|
|
62
|
-
import { eventBus, EVENTS, LoginState } from '..';
|
|
63
|
-
var ERRORS = constants.ERRORS, COMMUNITY_SITE_URL = constants.COMMUNITY_SITE_URL;
|
|
64
|
-
var isString = utils.isString;
|
|
65
|
-
var catchErrorsDecorator = helpers.catchErrorsDecorator, stopAuthLoginWithOAuth = helpers.stopAuthLoginWithOAuth;
|
|
66
|
-
var CustomAuthProvider = (function (_super) {
|
|
67
|
-
__extends(CustomAuthProvider, _super);
|
|
68
|
-
function CustomAuthProvider() {
|
|
69
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
70
|
-
}
|
|
71
|
-
CustomAuthProvider.prototype.signIn = function (ticket) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
-
var refreshTokenKey, res, _a, _b, _c, _d, loginState;
|
|
74
|
-
return __generator(this, function (_e) {
|
|
75
|
-
switch (_e.label) {
|
|
76
|
-
case 0:
|
|
77
|
-
if (!isString(ticket)) {
|
|
78
|
-
throw new Error(JSON.stringify({
|
|
79
|
-
code: ERRORS.INVALID_PARAMS,
|
|
80
|
-
msg: 'ticket must be a string'
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
refreshTokenKey = this._cache.keys.refreshTokenKey;
|
|
84
|
-
_b = (_a = this._request).send;
|
|
85
|
-
_c = ['auth.signInWithTicket'];
|
|
86
|
-
_d = {
|
|
87
|
-
ticket: ticket
|
|
88
|
-
};
|
|
89
|
-
return [4, this._cache.getStoreAsync(refreshTokenKey)];
|
|
90
|
-
case 1: return [4, _b.apply(_a, _c.concat([(_d.refresh_token = (_e.sent()) || '',
|
|
91
|
-
_d)]))];
|
|
92
|
-
case 2:
|
|
93
|
-
res = _e.sent();
|
|
94
|
-
if (!res.refresh_token) return [3, 7];
|
|
95
|
-
return [4, this.setRefreshToken(res.refresh_token)];
|
|
96
|
-
case 3:
|
|
97
|
-
_e.sent();
|
|
98
|
-
return [4, this._request.refreshAccessToken()];
|
|
99
|
-
case 4:
|
|
100
|
-
_e.sent();
|
|
101
|
-
eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
|
|
102
|
-
env: this._config.env,
|
|
103
|
-
loginType: LOGINTYPE.CUSTOM,
|
|
104
|
-
persistence: this._config.persistence
|
|
105
|
-
});
|
|
106
|
-
eventBus.fire(EVENTS.LOGIN_STATE_CHANGED);
|
|
107
|
-
return [4, this.refreshUserInfo()];
|
|
108
|
-
case 5:
|
|
109
|
-
_e.sent();
|
|
110
|
-
loginState = new LoginState({
|
|
111
|
-
envId: this._config.env,
|
|
112
|
-
cache: this._cache,
|
|
113
|
-
request: this._request
|
|
114
|
-
});
|
|
115
|
-
return [4, loginState.checkLocalStateAsync()];
|
|
116
|
-
case 6:
|
|
117
|
-
_e.sent();
|
|
118
|
-
return [2, loginState];
|
|
119
|
-
case 7: throw new Error(JSON.stringify({
|
|
120
|
-
code: ERRORS.OPERATION_FAIL,
|
|
121
|
-
msg: 'custom signIn failed'
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
__decorate([
|
|
128
|
-
stopAuthLoginWithOAuth(),
|
|
129
|
-
catchErrorsDecorator({
|
|
130
|
-
title: '自定义登录失败',
|
|
131
|
-
messages: [
|
|
132
|
-
'请确认以下各项:',
|
|
133
|
-
' 1 - 当前环境是否开启了自定义登录',
|
|
134
|
-
' 2 - 调用 auth().customAuthProvider().signIn() 的语法或参数是否正确',
|
|
135
|
-
' 3 - ticket 是否归属于当前环境',
|
|
136
|
-
' 4 - 创建 ticket 的自定义登录私钥是否过期',
|
|
137
|
-
"\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A" + COMMUNITY_SITE_URL
|
|
138
|
-
]
|
|
139
|
-
}),
|
|
140
|
-
__metadata("design:type", Function),
|
|
141
|
-
__metadata("design:paramtypes", [String]),
|
|
142
|
-
__metadata("design:returntype", Promise)
|
|
143
|
-
], CustomAuthProvider.prototype, "signIn", null);
|
|
144
|
-
return CustomAuthProvider;
|
|
145
|
-
}(AuthProvider));
|
|
146
|
-
export { CustomAuthProvider };
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9jdXN0b21BdXRoUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFMUMsSUFBQSxNQUFNLEdBQXlCLFNBQVMsT0FBbEMsRUFBRSxrQkFBa0IsR0FBSyxTQUFTLG1CQUFkLENBQWU7QUFDekMsSUFBQSxRQUFRLEdBQUssS0FBSyxTQUFWLENBQVc7QUFDbkIsSUFBQSxvQkFBb0IsR0FBNkIsT0FBTyxxQkFBcEMsRUFBRSxzQkFBc0IsR0FBSyxPQUFPLHVCQUFaLENBQWE7QUFFakU7SUFBd0Msc0NBQVk7SUFBcEQ7O0lBeURBLENBQUM7SUEzQ2MsbUNBQU0sR0FBbkIsVUFBb0IsTUFBYzs7Ozs7O3dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7Z0NBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYztnQ0FDM0IsR0FBRyxFQUFFLHlCQUF5Qjs2QkFDL0IsQ0FBQyxDQUFDLENBQUM7eUJBQ0w7d0JBQ08sZUFBZSxHQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxnQkFBckIsQ0FBc0I7d0JBQzNCLEtBQUEsQ0FBQSxLQUFBLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxJQUFJLENBQUE7OEJBQUMsdUJBQXVCOzs0QkFDMUQsTUFBTSxRQUFBOzt3QkFDUyxXQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFBOzRCQUZyRCxXQUFNLHlCQUVoQixnQkFBYSxHQUFFLENBQUEsU0FBZ0QsS0FBSSxFQUFFO3NDQUNyRSxFQUFBOzt3QkFISSxHQUFHLEdBQUcsU0FHVjs2QkFDRSxHQUFHLENBQUMsYUFBYSxFQUFqQixjQUFpQjt3QkFFbkIsV0FBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBQTs7d0JBQTdDLFNBQTZDLENBQUM7d0JBQzlDLFdBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxFQUFBOzt3QkFBeEMsU0FBd0MsQ0FBQzt3QkFFekMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7NEJBQ3ZDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7NEJBQ3JCLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTs0QkFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVzt5QkFDdEMsQ0FBQyxDQUFDO3dCQUVILFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBRzFDLFdBQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFBOzt3QkFBNUIsU0FBNEIsQ0FBQzt3QkFFdkIsVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDOzRCQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHOzRCQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07NEJBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTt5QkFDdkIsQ0FBQyxDQUFDO3dCQUNILFdBQU0sVUFBVSxDQUFDLG9CQUFvQixFQUFFLEVBQUE7O3dCQUF2QyxTQUF1QyxDQUFDO3dCQUV4QyxXQUFPLFVBQVUsRUFBQzs0QkFFbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7d0JBQzNCLEdBQUcsRUFBRSxzQkFBc0I7cUJBQzVCLENBQUMsQ0FBQyxDQUFDOzs7O0tBRVA7SUExQ0Q7UUFaQyxzQkFBc0IsRUFBRTtRQUN4QixvQkFBb0IsQ0FBQztZQUNwQixLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUU7Z0JBQ1IsVUFBVTtnQkFDVixzQkFBc0I7Z0JBQ3RCLDBEQUEwRDtnQkFDMUQsd0JBQXdCO2dCQUN4Qiw4QkFBOEI7Z0JBQzlCLGlLQUE2QixrQkFBb0I7YUFDbEQ7U0FDRixDQUFDOzs7O29EQTJDRDtJQUNILHlCQUFDO0NBQUEsQUF6REQsQ0FBd0MsWUFBWSxHQXlEbkQ7U0F6RFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyB1dGlscywgY29uc3RhbnRzLCBoZWxwZXJzIH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnO1xuaW1wb3J0IHsgSUxvZ2luU3RhdGUgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2F1dGgnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IExPR0lOVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBldmVudEJ1cywgRVZFTlRTLCBMb2dpblN0YXRlIH0gZnJvbSAnLi4nO1xuXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHM7XG5jb25zdCB7IGlzU3RyaW5nIH0gPSB1dGlscztcbmNvbnN0IHsgY2F0Y2hFcnJvcnNEZWNvcmF0b3IsIHN0b3BBdXRoTG9naW5XaXRoT0F1dGggfSA9IGhlbHBlcnM7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21BdXRoUHJvdmlkZXIgZXh0ZW5kcyBBdXRoUHJvdmlkZXIge1xuXG4gIEBzdG9wQXV0aExvZ2luV2l0aE9BdXRoKClcbiAgQGNhdGNoRXJyb3JzRGVjb3JhdG9yKHtcbiAgICB0aXRsZTogJ+iHquWumuS5ieeZu+W9leWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOW9k+WJjeeOr+Wig+aYr+WQpuW8gOWQr+S6huiHquWumuS5ieeZu+W9lScsXG4gICAgICAnICAyIC0g6LCD55SoIGF1dGgoKS5jdXN0b21BdXRoUHJvdmlkZXIoKS5zaWduSW4oKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMyAtIHRpY2tldCDmmK/lkKblvZLlsZ7kuo7lvZPliY3njq/looMnLFxuICAgICAgJyAgNCAtIOWIm+W7uiB0aWNrZXQg55qE6Ieq5a6a5LmJ55m75b2V56eB6ZKl5piv5ZCm6L+H5pyfJyxcbiAgICAgIGDlpoLmnpzpl67popjkvp3nhLblrZjlnKjvvIzlu7rorq7liLDlrpjmlrnpl67nrZTnpL7ljLrmj5Dpl67miJblr7vmib7luK7liqnvvJoke0NPTU1VTklUWV9TSVRFX1VSTH1gXG4gICAgXVxuICB9KVxuICBwdWJsaWMgYXN5bmMgc2lnbkluKHRpY2tldDogc3RyaW5nKTogUHJvbWlzZTxJTG9naW5TdGF0ZT4ge1xuICAgIGlmICghaXNTdHJpbmcodGlja2V0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgY29kZTogRVJST1JTLklOVkFMSURfUEFSQU1TLFxuICAgICAgICBtc2c6ICd0aWNrZXQgbXVzdCBiZSBhIHN0cmluZydcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgeyByZWZyZXNoVG9rZW5LZXkgfSA9IHRoaXMuX2NhY2hlLmtleXM7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5fcmVxdWVzdC5zZW5kKCdhdXRoLnNpZ25JbldpdGhUaWNrZXQnLCB7XG4gICAgICB0aWNrZXQsXG4gICAgICByZWZyZXNoX3Rva2VuOiBhd2FpdCB0aGlzLl9jYWNoZS5nZXRTdG9yZUFzeW5jKHJlZnJlc2hUb2tlbktleSkgfHwgJydcbiAgICB9KTtcbiAgICBpZiAocmVzLnJlZnJlc2hfdG9rZW4pIHtcbiAgICAgIC8vIOS/neWtmOaWsHJlZnJlc2ggdG9rZW7lubbkuJTliLfmlrBhY2Nlc3MgdG9rZW5cbiAgICAgIGF3YWl0IHRoaXMuc2V0UmVmcmVzaFRva2VuKHJlcy5yZWZyZXNoX3Rva2VuKTtcbiAgICAgIGF3YWl0IHRoaXMuX3JlcXVlc3QucmVmcmVzaEFjY2Vzc1Rva2VuKCk7XG5cbiAgICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkxPR0lOX1RZUEVfQ0hBTkdFRCwge1xuICAgICAgICBlbnY6IHRoaXMuX2NvbmZpZy5lbnYsXG4gICAgICAgIGxvZ2luVHlwZTogTE9HSU5UWVBFLkNVU1RPTSxcbiAgICAgICAgcGVyc2lzdGVuY2U6IHRoaXMuX2NvbmZpZy5wZXJzaXN0ZW5jZVxuICAgICAgfSk7XG5cbiAgICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkxPR0lOX1NUQVRFX0NIQU5HRUQpO1xuXG4gICAgICAvLyBzZXQgdXNlciBpbmZvXG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2hVc2VySW5mbygpO1xuXG4gICAgICBjb25zdCBsb2dpblN0YXRlID0gbmV3IExvZ2luU3RhdGUoe1xuICAgICAgICBlbnZJZDogdGhpcy5fY29uZmlnLmVudixcbiAgICAgICAgY2FjaGU6IHRoaXMuX2NhY2hlLFxuICAgICAgICByZXF1ZXN0OiB0aGlzLl9yZXF1ZXN0XG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGxvZ2luU3RhdGUuY2hlY2tMb2NhbFN0YXRlQXN5bmMoKTtcblxuICAgICAgcmV0dXJuIGxvZ2luU3RhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGNvZGU6IEVSUk9SUy5PUEVSQVRJT05fRkFJTCxcbiAgICAgICAgbXNnOiAnY3VzdG9tIHNpZ25JbiBmYWlsZWQnXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG59Il19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ILoginState } from '@cloudbase/types/auth';
|
|
2
|
-
import { AuthProvider } from './base';
|
|
3
|
-
export declare class EmailAuthProvider extends AuthProvider {
|
|
4
|
-
signIn(email: string, password: string): Promise<ILoginState>;
|
|
5
|
-
signUp(email: string, password: string): Promise<any>;
|
|
6
|
-
resetPassword(email: string): Promise<any>;
|
|
7
|
-
resetPasswordWithToken(token: string, newPassword: string): Promise<any>;
|
|
8
|
-
activate(token: string): Promise<any>;
|
|
9
|
-
}
|