@cloudbase/oauth 1.2.0-beta → 2.2.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/.eslintignore +2 -0
- package/.eslintrc +26 -0
- package/CHANGELOG.md +30 -0
- package/Dockerfile +15 -0
- package/README.md +183 -0
- package/_exmaple/assets/scripts/function/function.ts +99 -0
- package/_exmaple/assets/scripts/index.ts +101 -0
- package/_exmaple/assets/scripts/request.ts +11 -0
- package/_exmaple/index.html +15 -0
- package/_exmaple/package.json +33 -0
- package/_exmaple/tsconfig.json +71 -0
- package/_exmaple/typings.d.ts +0 -0
- package/_exmaple/webpack.config.js +42 -0
- package/dist/cjs/auth/apis.d.ts +55 -0
- package/dist/cjs/auth/apis.js +568 -0
- package/{auth → dist/cjs/auth}/consts.d.ts +9 -21
- package/dist/cjs/auth/consts.js +61 -0
- package/dist/cjs/auth/models.d.ts +354 -0
- package/dist/cjs/auth/models.js +3 -0
- package/dist/cjs/captcha/captcha.d.ts +35 -0
- package/dist/cjs/captcha/captcha.js +267 -0
- package/dist/cjs/index.d.ts +14 -0
- package/dist/cjs/index.js +63 -0
- package/{oauthclient → dist/cjs/oauth2client}/consts.d.ts +22 -1
- package/dist/cjs/oauth2client/consts.js +73 -0
- package/dist/cjs/oauth2client/interface.d.ts +15 -0
- package/dist/cjs/oauth2client/interface.js +10 -0
- package/dist/cjs/oauth2client/models.d.ts +47 -0
- package/dist/cjs/oauth2client/models.js +3 -0
- package/dist/cjs/oauth2client/oauth2client.d.ts +71 -0
- package/dist/cjs/oauth2client/oauth2client.js +640 -0
- package/dist/cjs/utils/function/single-promise.d.ts +5 -0
- package/dist/cjs/utils/function/single-promise.js +89 -0
- package/dist/cjs/utils/uuid.d.ts +1 -0
- package/dist/cjs/utils/uuid.js +12 -0
- package/dist/esm/auth/apis.d.ts +55 -0
- package/dist/esm/auth/apis.js +566 -0
- package/dist/esm/auth/consts.d.ts +54 -0
- package/dist/esm/auth/consts.js +58 -0
- package/dist/esm/auth/models.d.ts +354 -0
- package/dist/esm/auth/models.js +1 -0
- package/dist/esm/captcha/captcha.d.ts +35 -0
- package/dist/esm/captcha/captcha.js +264 -0
- package/dist/esm/index.d.ts +14 -0
- package/dist/esm/index.js +32 -0
- package/dist/esm/oauth2client/consts.d.ts +67 -0
- package/dist/esm/oauth2client/consts.js +70 -0
- package/dist/esm/oauth2client/interface.d.ts +15 -0
- package/dist/esm/oauth2client/interface.js +7 -0
- package/dist/esm/oauth2client/models.d.ts +47 -0
- package/dist/esm/oauth2client/models.js +1 -0
- package/dist/esm/oauth2client/oauth2client.d.ts +71 -0
- package/dist/esm/oauth2client/oauth2client.js +636 -0
- package/dist/esm/utils/function/single-promise.d.ts +5 -0
- package/dist/esm/utils/function/single-promise.js +86 -0
- package/dist/esm/utils/uuid.d.ts +1 -0
- package/dist/esm/utils/uuid.js +8 -0
- package/package.json +27 -14
- package/publish.sh +2 -0
- package/src/auth/apis.ts +642 -0
- package/src/auth/consts.ts +57 -0
- package/src/auth/models.ts +444 -0
- package/src/captcha/captcha.ts +222 -0
- package/src/index.ts +49 -0
- package/src/oauth2client/consts.ts +69 -0
- package/src/oauth2client/interface.ts +57 -0
- package/src/oauth2client/models.ts +61 -0
- package/src/oauth2client/oauth2client.ts +620 -0
- package/src/utils/function/single-promise.ts +40 -0
- package/src/utils/uuid.ts +11 -0
- package/tsconfig.esm.json +44 -0
- package/tsconfig.json +44 -0
- package/wiki/README.md +75 -0
- package/app/index.d.ts +0 -29
- package/app/index.js +0 -50
- package/app/index.js.map +0 -1
- package/app/internal.d.ts +0 -12
- package/app/internal.js +0 -25
- package/app/internal.js.map +0 -1
- package/app/openuri.d.ts +0 -20
- package/app/openuri.js +0 -106
- package/app/openuri.js.map +0 -1
- package/app/request.d.ts +0 -19
- package/app/request.js +0 -52
- package/app/request.js.map +0 -1
- package/app/storage.d.ts +0 -41
- package/app/storage.js +0 -35
- package/app/storage.js.map +0 -1
- package/auth/consts.js +0 -79
- package/auth/consts.js.map +0 -1
- package/auth/index.d.ts +0 -242
- package/auth/index.js +0 -550
- package/auth/index.js.map +0 -1
- package/auth/models.d.ts +0 -284
- package/auth/models.js +0 -4
- package/auth/models.js.map +0 -1
- package/captcha/index.d.ts +0 -45
- package/captcha/index.js +0 -135
- package/captcha/index.js.map +0 -1
- package/function/index.d.ts +0 -38
- package/function/index.js +0 -80
- package/function/index.js.map +0 -1
- package/index.d.ts +0 -8
- package/index.js +0 -17
- package/index.js.map +0 -1
- package/oauthclient/consts.js +0 -53
- package/oauthclient/consts.js.map +0 -1
- package/oauthclient/index.d.ts +0 -18
- package/oauthclient/index.js +0 -21
- package/oauthclient/index.js.map +0 -1
- package/oauthclient/interface.d.ts +0 -29
- package/oauthclient/interface.js +0 -10
- package/oauthclient/interface.js.map +0 -1
- package/oauthclient/models.d.ts +0 -40
- package/oauthclient/models.js +0 -3
- package/oauthclient/models.js.map +0 -1
- package/oauthclient/oauthclient.d.ts +0 -146
- package/oauthclient/oauthclient.js +0 -414
- package/oauthclient/oauthclient.js.map +0 -1
- package/utils/promise.d.ts +0 -18
- package/utils/promise.js +0 -48
- package/utils/promise.js.map +0 -1
- package/utils/uuid.d.ts +0 -5
- package/utils/uuid.js +0 -16
- package/utils/uuid.js.map +0 -1
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
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;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.Captcha = void 0;
|
|
40
|
+
var oauth2client_1 = require("../oauth2client/oauth2client");
|
|
41
|
+
var GET_CAPTCHA_URL = '/auth/v1/captcha/init';
|
|
42
|
+
var Captcha = (function () {
|
|
43
|
+
function Captcha(opts) {
|
|
44
|
+
if (!opts.openURIWithCallback) {
|
|
45
|
+
opts.openURIWithCallback = this._getDefaultOpenURIWithCallback();
|
|
46
|
+
}
|
|
47
|
+
if (!opts.storage) {
|
|
48
|
+
opts.storage = oauth2client_1.defaultStorage;
|
|
49
|
+
}
|
|
50
|
+
this._config = opts;
|
|
51
|
+
this._tokenSectionName = 'captcha_' + opts.clientId;
|
|
52
|
+
}
|
|
53
|
+
Captcha.prototype.request = function (url, options) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
+
var state, reqURL, resp, err_1;
|
|
56
|
+
return __generator(this, function (_a) {
|
|
57
|
+
switch (_a.label) {
|
|
58
|
+
case 0:
|
|
59
|
+
if (!options) {
|
|
60
|
+
options = {};
|
|
61
|
+
}
|
|
62
|
+
if (!options.method) {
|
|
63
|
+
options.method = 'GET';
|
|
64
|
+
}
|
|
65
|
+
state = options.method + ":" + url;
|
|
66
|
+
reqURL = url;
|
|
67
|
+
if (!options.withCaptcha) return [3, 2];
|
|
68
|
+
return [4, this._appendCaptchaTokenToURL(url, state, false)];
|
|
69
|
+
case 1:
|
|
70
|
+
reqURL = _a.sent();
|
|
71
|
+
_a.label = 2;
|
|
72
|
+
case 2:
|
|
73
|
+
_a.trys.push([2, 4, , 8]);
|
|
74
|
+
return [4, this._config.request(reqURL, options)];
|
|
75
|
+
case 3:
|
|
76
|
+
resp = _a.sent();
|
|
77
|
+
return [3, 8];
|
|
78
|
+
case 4:
|
|
79
|
+
err_1 = _a.sent();
|
|
80
|
+
if (!(err_1.error === 'captcha_required' || err_1.error === 'captcha_invalid')) return [3, 6];
|
|
81
|
+
return [4, this._appendCaptchaTokenToURL(url, state, err_1.error === 'captcha_invalid')];
|
|
82
|
+
case 5:
|
|
83
|
+
url = _a.sent();
|
|
84
|
+
return [2, this._config.request(url, options)];
|
|
85
|
+
case 6: return [2, Promise.reject(err_1)];
|
|
86
|
+
case 7: return [3, 8];
|
|
87
|
+
case 8: return [2, resp];
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
Captcha.prototype._getDefaultOpenURIWithCallback = function () {
|
|
93
|
+
if (window.location.search.indexOf('__captcha') > 0) {
|
|
94
|
+
document.body.style.display = 'none';
|
|
95
|
+
}
|
|
96
|
+
if (document.getElementById('captcha_panel_wrap') === null) {
|
|
97
|
+
var elementDiv = document.createElement('div');
|
|
98
|
+
elementDiv.style.cssText =
|
|
99
|
+
'background-color: rgba(0, 0, 0, 0.7);position: fixed;left: 0px;right: 0px;top: 0px;bottom: 0px;padding: 9vw 0 0 0;display: none;z-index:100;';
|
|
100
|
+
elementDiv.setAttribute('id', 'captcha_panel_wrap');
|
|
101
|
+
setTimeout(function () {
|
|
102
|
+
document.body.appendChild(elementDiv);
|
|
103
|
+
}, 0);
|
|
104
|
+
}
|
|
105
|
+
return this._defaultOpenURIWithCallback;
|
|
106
|
+
};
|
|
107
|
+
Captcha.prototype._defaultOpenURIWithCallback = function (url) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
+
var target, iframe;
|
|
110
|
+
return __generator(this, function (_a) {
|
|
111
|
+
target = document.getElementById('captcha_panel_wrap'), iframe = document.createElement('iframe');
|
|
112
|
+
target.innerHTML = '';
|
|
113
|
+
iframe.setAttribute('src', url);
|
|
114
|
+
iframe.setAttribute('id', 'review-panel-iframe');
|
|
115
|
+
iframe.style.cssText = 'min-width:355px;display:block;height:355px;margin:0 auto;background-color: rgb(255, 255, 255);border: none;';
|
|
116
|
+
target.appendChild(iframe);
|
|
117
|
+
target.style.display = 'block';
|
|
118
|
+
return [2, new Promise(function (resolve, reject) {
|
|
119
|
+
iframe.onload = function () {
|
|
120
|
+
try {
|
|
121
|
+
var windowLocation = window.location;
|
|
122
|
+
var iframeLocation = iframe.contentWindow.location;
|
|
123
|
+
if (iframeLocation.host +
|
|
124
|
+
iframeLocation.pathname ===
|
|
125
|
+
windowLocation.host +
|
|
126
|
+
windowLocation.pathname) {
|
|
127
|
+
target.style.display = 'none';
|
|
128
|
+
var iframeUrlParams = new URLSearchParams(iframeLocation.search);
|
|
129
|
+
var captchToken = iframeUrlParams.get('captcha_token');
|
|
130
|
+
if (captchToken) {
|
|
131
|
+
return resolve({
|
|
132
|
+
captcha_token: captchToken,
|
|
133
|
+
expires_in: Number(iframeUrlParams.get('expires_in'))
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return reject({
|
|
137
|
+
error: iframeUrlParams.get('error'),
|
|
138
|
+
error_description: iframeUrlParams.get('error_description')
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
target.style.display = 'block';
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
target.style.display = 'block';
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
})];
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
Captcha.prototype._getCaptchaToken = function (forceNewToken, state) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
155
|
+
var captchaToken_1, redirectURL, captchaTokenResp, captchaToken_2, captchaToken;
|
|
156
|
+
return __generator(this, function (_a) {
|
|
157
|
+
switch (_a.label) {
|
|
158
|
+
case 0:
|
|
159
|
+
if (!!forceNewToken) return [3, 2];
|
|
160
|
+
return [4, this._findCaptchaToken()];
|
|
161
|
+
case 1:
|
|
162
|
+
captchaToken_1 = _a.sent();
|
|
163
|
+
if (captchaToken_1) {
|
|
164
|
+
return [2, captchaToken_1];
|
|
165
|
+
}
|
|
166
|
+
_a.label = 2;
|
|
167
|
+
case 2:
|
|
168
|
+
redirectURL = window.location.origin + window.location.pathname + "?__captcha=on";
|
|
169
|
+
return [4, this._config.request(GET_CAPTCHA_URL, {
|
|
170
|
+
method: 'POST',
|
|
171
|
+
body: {
|
|
172
|
+
client_id: this._config.clientId,
|
|
173
|
+
redirect_uri: redirectURL,
|
|
174
|
+
state: state
|
|
175
|
+
},
|
|
176
|
+
withCredentials: false,
|
|
177
|
+
})];
|
|
178
|
+
case 3:
|
|
179
|
+
captchaTokenResp = _a.sent();
|
|
180
|
+
if (captchaTokenResp.captcha_token) {
|
|
181
|
+
captchaToken_2 = {
|
|
182
|
+
captcha_token: captchaTokenResp.captcha_token,
|
|
183
|
+
expires_in: captchaTokenResp.expires_in,
|
|
184
|
+
};
|
|
185
|
+
this._saveCaptchaToken(captchaToken_2);
|
|
186
|
+
return [2, captchaTokenResp.captcha_token];
|
|
187
|
+
}
|
|
188
|
+
return [4, this._config.openURIWithCallback(captchaTokenResp.url)];
|
|
189
|
+
case 4:
|
|
190
|
+
captchaToken = _a.sent();
|
|
191
|
+
this._saveCaptchaToken(captchaToken);
|
|
192
|
+
return [2, captchaToken.captcha_token];
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
Captcha.prototype._appendCaptchaTokenToURL = function (url, state, forceNewToken) {
|
|
198
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
199
|
+
var captchaToken;
|
|
200
|
+
return __generator(this, function (_a) {
|
|
201
|
+
switch (_a.label) {
|
|
202
|
+
case 0: return [4, this._getCaptchaToken(forceNewToken, state)];
|
|
203
|
+
case 1:
|
|
204
|
+
captchaToken = _a.sent();
|
|
205
|
+
if (url.indexOf("?") > 0) {
|
|
206
|
+
url += "&captcha_token=" + captchaToken;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
url += "?captcha_token=" + captchaToken;
|
|
210
|
+
}
|
|
211
|
+
return [2, url];
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
Captcha.prototype._saveCaptchaToken = function (token) {
|
|
217
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
218
|
+
var tokenStr;
|
|
219
|
+
return __generator(this, function (_a) {
|
|
220
|
+
switch (_a.label) {
|
|
221
|
+
case 0:
|
|
222
|
+
token.expires_at = new Date(Date.now() + (token.expires_in - 10) * 1000);
|
|
223
|
+
tokenStr = JSON.stringify(token);
|
|
224
|
+
return [4, this._config.storage.setItem(this._tokenSectionName, tokenStr)];
|
|
225
|
+
case 1:
|
|
226
|
+
_a.sent();
|
|
227
|
+
return [2];
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
Captcha.prototype._findCaptchaToken = function () {
|
|
233
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
234
|
+
var tokenStr, captchaToken, isExpired, error_1;
|
|
235
|
+
return __generator(this, function (_a) {
|
|
236
|
+
switch (_a.label) {
|
|
237
|
+
case 0: return [4, this._config.storage.getItem(this._tokenSectionName)];
|
|
238
|
+
case 1:
|
|
239
|
+
tokenStr = _a.sent();
|
|
240
|
+
if (!(tokenStr !== undefined && tokenStr !== null)) return [3, 5];
|
|
241
|
+
_a.label = 2;
|
|
242
|
+
case 2:
|
|
243
|
+
_a.trys.push([2, 3, , 5]);
|
|
244
|
+
captchaToken = JSON.parse(tokenStr);
|
|
245
|
+
if (captchaToken === null || captchaToken === void 0 ? void 0 : captchaToken.expires_at) {
|
|
246
|
+
captchaToken.expires_at = new Date(captchaToken.expires_at);
|
|
247
|
+
}
|
|
248
|
+
isExpired = captchaToken.expires_at < new Date();
|
|
249
|
+
if (isExpired) {
|
|
250
|
+
return [2, null];
|
|
251
|
+
}
|
|
252
|
+
return [2, captchaToken.captcha_token];
|
|
253
|
+
case 3:
|
|
254
|
+
error_1 = _a.sent();
|
|
255
|
+
return [4, this._config.storage.removeItem(this._tokenSectionName)];
|
|
256
|
+
case 4:
|
|
257
|
+
_a.sent();
|
|
258
|
+
return [2, null];
|
|
259
|
+
case 5: return [2, null];
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
return Captcha;
|
|
265
|
+
}());
|
|
266
|
+
exports.Captcha = Captcha;
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jYXB0Y2hhL2NhcHRjaGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQThEO0FBNEI5RCxJQUFNLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQTtBQUUvQztJQVFFLGlCQUFZLElBQW9CO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFBO1NBQ2pFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyw2QkFBYyxDQUFBO1NBQzlCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3JELENBQUM7SUFPWSx5QkFBTyxHQUFwQixVQUNFLEdBQVcsRUFDWCxPQUErQjs7Ozs7O3dCQUUvQixJQUFJLENBQUMsT0FBTyxFQUFFOzRCQUNaLE9BQU8sR0FBRyxFQUFFLENBQUM7eUJBQ2Q7d0JBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ25CLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO3lCQUN2Qjt3QkFDSyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO3dCQUNwQyxNQUFNLEdBQUcsR0FBRyxDQUFDOzZCQUNiLE9BQU8sQ0FBQyxXQUFXLEVBQW5CLGNBQW1CO3dCQUNaLFdBQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUE7O3dCQUEvRCxNQUFNLEdBQUcsU0FBc0QsQ0FB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QUFBOzs7O0tBQ1o7SUFDSCxjQUFDO0FBQUQsQ0FBQyxBQTdMRCxJQTZMQztBQTdMWSwwQkFBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpbXBsZVN0b3JhZ2UsIFJlcXVlc3RGdW5jdGlvbiB9IGZyb20gJy4uL29hdXRoMmNsaWVudC9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXV0aENsaWVudFJlcXVlc3RPcHRpb25zIH0gZnJvbSBcIi4uL29hdXRoMmNsaWVudC9tb2RlbHNcIjtcbmltcG9ydCB7IGRlZmF1bHRTdG9yYWdlIH0gZnJvbSBcIi4uL29hdXRoMmNsaWVudC9vYXV0aDJjbGllbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDYXB0Y2hhT3B0aW9ucyB7XG4gIGNsaWVudElkOiBzdHJpbmdcbiAgcmVxdWVzdDogUmVxdWVzdEZ1bmN0aW9uO1xuICBzdG9yYWdlOiBTaW1wbGVTdG9yYWdlO1xuICAvLyDmiZPlvIDnvZHpobXlubbpgJrov4dVUkzlm57osIPojrflj5YgQ2FwdGNoYVRva2Vu77yM6ZKI5a+55LiN6YCa55qE5bmz5Y+w77yM6K+l5Ye95pWw5Y+v5Lul6Ieq5a6a5LmJ5a6e546wLCDpu5jorqTpm4bmiJDmtY/op4jlmajnq6/orqTor4FcbiAgb3BlblVSSVdpdGhDYWxsYmFjaz86IE9wZW5VUklXaXRoQ2FsbGJhY2tGdWN0aW9uO1xufVxuXG50eXBlIE9wZW5VUklXaXRoQ2FsbGJhY2tGdWN0aW9uID0gKHVybDogc3RyaW5nKSA9PiBQcm9taXNlPENhcHRjaGFUb2tlbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwdGNoYVRva2VuIHtcbiAgY2FwdGNoYV90b2tlbjogc3RyaW5nXG4gIGV4cGlyZXNfaW46IG51bWJlclxuICBleHBpcmVzX2F0PzogRGF0ZSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwdGNoYVJlcXVlc3RPcHRpb25zIGV4dGVuZHMgQXV0aENsaWVudFJlcXVlc3RPcHRpb25zIHtcbiAgd2l0aENhcHRjaGE/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENhcHRjaGFSZXNwb25zZSB7XG4gIGNhcHRjaGFfdG9rZW4/OiBzdHJpbmdcbiAgZXhwaXJlc19pbj86IG51bWJlclxuICB1cmw/OiBzdHJpbmdcbn1cblxuY29uc3QgR0VUX0NBUFRDSEFfVVJMID0gJy9hdXRoL3YxL2NhcHRjaGEvaW5pdCdcblxuZXhwb3J0IGNsYXNzIENhcHRjaGEge1xuICBwcml2YXRlIF9jb25maWc6IENhcHRjaGFPcHRpb25zO1xuICBwcml2YXRlIF90b2tlblNlY3Rpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7Q2FwdGNoYU9wdGlvbnN9IG9wdHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdHM6IENhcHRjaGFPcHRpb25zKSB7XG4gICAgaWYgKCFvcHRzLm9wZW5VUklXaXRoQ2FsbGJhY2spIHtcbiAgICAgIG9wdHMub3BlblVSSVdpdGhDYWxsYmFjayA9IHRoaXMuX2dldERlZmF1bHRPcGVuVVJJV2l0aENhbGxiYWNrKClcbiAgICB9XG4gICAgaWYgKCFvcHRzLnN0b3JhZ2UpIHtcbiAgICAgIG9wdHMuc3RvcmFnZSA9IGRlZmF1bHRTdG9yYWdlXG4gICAgfVxuICAgIHRoaXMuX2NvbmZpZyA9IG9wdHNcbiAgICB0aGlzLl90b2tlblNlY3Rpb25OYW1lID0gJ2NhcHRjaGFfJyArIG9wdHMuY2xpZW50SWRcbiAgfVxuXG4gIC8qKlxuICAgKiByZXF1ZXN0IGh0dHAgbGlrZSBzaW1wbGUgZmV0Y2ggYXBpLCBleHA6cmVxdWVzdCgnL3YxL3VzZXIvbWUnLCB7d2l0aENyZWRlbnRpYWxzOnRydWV9KVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7QXV0aENsaWVudFJlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVxdWVzdDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ2FwdGNoYVJlcXVlc3RPcHRpb25zLFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLm1ldGhvZCkge1xuICAgICAgb3B0aW9ucy5tZXRob2QgPSAnR0VUJ1xuICAgIH1cbiAgICBjb25zdCBzdGF0ZSA9IG9wdGlvbnMubWV0aG9kICsgXCI6XCIgKyB1cmxcbiAgICBsZXQgcmVxVVJMID0gdXJsO1xuICAgIGlmIChvcHRpb25zLndpdGhDYXB0Y2hhKSB7XG4gICAgICByZXFVUkwgPSBhd2FpdCB0aGlzLl9hcHBlbmRDYXB0Y2hhVG9rZW5Ub1VSTCh1cmwsIHN0YXRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgbGV0IHJlc3A6IFQ7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3AgPSBhd2FpdCB0aGlzLl9jb25maWcucmVxdWVzdDxUPihyZXFVUkwsIG9wdGlvbnMpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyLmVycm9yID09PSAnY2FwdGNoYV9yZXF1aXJlZCcgfHwgZXJyLmVycm9yID09PSAnY2FwdGNoYV9pbnZhbGlkJykge1xuICAgICAgICB1cmwgPSBhd2FpdCB0aGlzLl9hcHBlbmRDYXB0Y2hhVG9rZW5Ub1VSTCh1cmwsIHN0YXRlLCBlcnIuZXJyb3IgPT09ICdjYXB0Y2hhX2ludmFsaWQnKVxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VD4odXJsLCBvcHRpb25zKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycilcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3BcbiAgfVxuXG4gIHByaXZhdGUgX2dldERlZmF1bHRPcGVuVVJJV2l0aENhbGxiYWNrKCk6IE9wZW5VUklXaXRoQ2FsbGJhY2tGdWN0aW9uIHtcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCdfX2NhcHRjaGEnKSA+IDApIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXB0Y2hhX3BhbmVsX3dyYXAnKSA9PT0gbnVsbCkge1xuICAgICAgdmFyIGVsZW1lbnREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGVsZW1lbnREaXYuc3R5bGUuY3NzVGV4dCA9XG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7cG9zaXRpb246IGZpeGVkO2xlZnQ6IDBweDtyaWdodDogMHB4O3RvcDogMHB4O2JvdHRvbTogMHB4O3BhZGRpbmc6IDl2dyAwIDAgMDtkaXNwbGF5OiBub25lO3otaW5kZXg6MTAwOyc7XG4gICAgICBlbGVtZW50RGl2LnNldEF0dHJpYnV0ZSgnaWQnLCAnY2FwdGNoYV9wYW5lbF93cmFwJyk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50RGl2KTtcbiAgICAgIH0sIDApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0T3BlblVSSVdpdGhDYWxsYmFja1xuICB9XG5cbiAgLyoqXG4gICAqIOm7mOiupOmAmui/h+a1j+iniOWZqOaJk+W8gOe9kemhteW5tuiOt+WPluWbnuiwg1xuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBfZGVmYXVsdE9wZW5VUklXaXRoQ2FsbGJhY2sodXJsOiBzdHJpbmcpOiBQcm9taXNlPENhcHRjaGFUb2tlbj4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXB0Y2hhX3BhbmVsX3dyYXAnKSxcbiAgICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpXG4gICAgdGFyZ2V0LmlubmVySFRNTCA9ICcnO1xuICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NyYycsIHVybClcbiAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdpZCcsICdyZXZpZXctcGFuZWwtaWZyYW1lJylcbiAgICBpZnJhbWUuc3R5bGUuY3NzVGV4dCA9ICdtaW4td2lkdGg6MzU1cHg7ZGlzcGxheTpibG9jaztoZWlnaHQ6MzU1cHg7bWFyZ2luOjAgYXV0bztiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ym9yZGVyOiBub25lOyc7XG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxDYXB0Y2hhVG9rZW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIHdpbmRvd0xvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uO1xuICAgICAgICAgIHZhciBpZnJhbWVMb2NhdGlvbiA9IGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGlmcmFtZUxvY2F0aW9uLmhvc3QgK1xuICAgICAgICAgICAgaWZyYW1lTG9jYXRpb24ucGF0aG5hbWUgPT09XG4gICAgICAgICAgICB3aW5kb3dMb2NhdGlvbi5ob3N0ICtcbiAgICAgICAgICAgIHdpbmRvd0xvY2F0aW9uLnBhdGhuYW1lXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0YXJnZXQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgIGNvbnN0IGlmcmFtZVVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoaWZyYW1lTG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcHRjaFRva2VuID0gaWZyYW1lVXJsUGFyYW1zLmdldCgnY2FwdGNoYV90b2tlbicpO1xuICAgICAgICAgICAgaWYgKGNhcHRjaFRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICBjYXB0Y2hhX3Rva2VuOiBjYXB0Y2hUb2tlbixcbiAgICAgICAgICAgICAgICBleHBpcmVzX2luOiBOdW1iZXIoaWZyYW1lVXJsUGFyYW1zLmdldCgnZXhwaXJlc19pbicpKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlamVjdCh7XG4gICAgICAgICAgICAgIGVycm9yOiBpZnJhbWVVcmxQYXJhbXMuZ2V0KCdlcnJvcicpLFxuICAgICAgICAgICAgICBlcnJvcl9kZXNjcmlwdGlvbjogaWZyYW1lVXJsUGFyYW1zLmdldCgnZXJyb3JfZGVzY3JpcHRpb24nKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0YXJnZXQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSlcbiAgfVxuICAvKipcbiAgICogX2dldENhcHRjaGFUb2tlbiDojrflj5ZjYXB0Y2hhVG9rZW5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgX2dldENhcHRjaGFUb2tlbihmb3JjZU5ld1Rva2VuOiBib29sZWFuLCBzdGF0ZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIWZvcmNlTmV3VG9rZW4pIHtcbiAgICAgIC8vIOWmguaenOacrOWcsOWtmOWcqO+8jOWImeebtOaOpei/lOWbnlxuICAgICAgY29uc3QgY2FwdGNoYVRva2VuID0gYXdhaXQgdGhpcy5fZmluZENhcHRjaGFUb2tlbigpXG4gICAgICBpZiAoY2FwdGNoYVRva2VuKSB7XG4gICAgICAgIHJldHVybiBjYXB0Y2hhVG9rZW5cbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmVkaXJlY3RVUkwgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgXCI/X19jYXB0Y2hhPW9uXCJcbiAgICBjb25zdCBjYXB0Y2hhVG9rZW5SZXNwID0gYXdhaXQgdGhpcy5fY29uZmlnLnJlcXVlc3Q8R2V0Q2FwdGNoYVJlc3BvbnNlPihHRVRfQ0FQVENIQV9VUkwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keToge1xuICAgICAgICBjbGllbnRfaWQ6IHRoaXMuX2NvbmZpZy5jbGllbnRJZCxcbiAgICAgICAgcmVkaXJlY3RfdXJpOiByZWRpcmVjdFVSTCxcbiAgICAgICAgc3RhdGU6IHN0YXRlXG4gICAgICB9LFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICB9KVxuICAgIGlmIChjYXB0Y2hhVG9rZW5SZXNwLmNhcHRjaGFfdG9rZW4pIHtcbiAgICAgIGNvbnN0IGNhcHRjaGFUb2tlbiA9IHtcbiAgICAgICAgY2FwdGNoYV90b2tlbjogY2FwdGNoYVRva2VuUmVzcC5jYXB0Y2hhX3Rva2VuLFxuICAgICAgICBleHBpcmVzX2luOiBjYXB0Y2hhVG9rZW5SZXNwLmV4cGlyZXNfaW4sXG4gICAgICB9XG4gICAgICB0aGlzLl9zYXZlQ2FwdGNoYVRva2VuKGNhcHRjaGFUb2tlbilcbiAgICAgIHJldHVybiBjYXB0Y2hhVG9rZW5SZXNwLmNhcHRjaGFfdG9rZW5cbiAgICB9XG4gICAgY29uc3QgY2FwdGNoYVRva2VuID0gYXdhaXQgdGhpcy5fY29uZmlnLm9wZW5VUklXaXRoQ2FsbGJhY2soY2FwdGNoYVRva2VuUmVzcC51cmwpXG4gICAgdGhpcy5fc2F2ZUNhcHRjaGFUb2tlbihjYXB0Y2hhVG9rZW4pXG4gICAgcmV0dXJuIGNhcHRjaGFUb2tlbi5jYXB0Y2hhX3Rva2VuXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9hcHBlbmRDYXB0Y2hhVG9rZW5Ub1VSTCh1cmw6IHN0cmluZywgc3RhdGU6IHN0cmluZywgZm9yY2VOZXdUb2tlbjogYm9vbGVhbik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY2FwdGNoYVRva2VuID0gYXdhaXQgdGhpcy5fZ2V0Q2FwdGNoYVRva2VuKGZvcmNlTmV3VG9rZW4sIHN0YXRlKTtcbiAgICBpZiAodXJsLmluZGV4T2YoXCI/XCIpID4gMCkge1xuICAgICAgdXJsICs9IFwiJmNhcHRjaGFfdG9rZW49XCIgKyBjYXB0Y2hhVG9rZW5cbiAgICB9IGVsc2Uge1xuICAgICAgdXJsICs9IFwiP2NhcHRjaGFfdG9rZW49XCIgKyBjYXB0Y2hhVG9rZW5cbiAgICB9XG4gICAgcmV0dXJuIHVybFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZUNhcHRjaGFUb2tlbih0b2tlbjogQ2FwdGNoYVRva2VuKSB7XG4gICAgdG9rZW4uZXhwaXJlc19hdCA9IG5ldyBEYXRlKFxuICAgICAgRGF0ZS5ub3coKSArICh0b2tlbi5leHBpcmVzX2luIC0gMTApICogMTAwMCxcbiAgICApO1xuICAgIGNvbnN0IHRva2VuU3RyOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0b2tlbik7XG4gICAgYXdhaXQgdGhpcy5fY29uZmlnLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl90b2tlblNlY3Rpb25OYW1lLCB0b2tlblN0cik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9maW5kQ2FwdGNoYVRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdG9rZW5TdHI6IHN0cmluZyA9IGF3YWl0IHRoaXMuX2NvbmZpZy5zdG9yYWdlLmdldEl0ZW0oXG4gICAgICB0aGlzLl90b2tlblNlY3Rpb25OYW1lLFxuICAgICk7XG4gICAgaWYgKHRva2VuU3RyICE9PSB1bmRlZmluZWQgJiYgdG9rZW5TdHIgIT09IG51bGwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNhcHRjaGFUb2tlbiA9IEpTT04ucGFyc2UodG9rZW5TdHIpO1xuICAgICAgICBpZiAoY2FwdGNoYVRva2VuPy5leHBpcmVzX2F0KSB7XG4gICAgICAgICAgY2FwdGNoYVRva2VuLmV4cGlyZXNfYXQgPSBuZXcgRGF0ZShjYXB0Y2hhVG9rZW4uZXhwaXJlc19hdCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNFeHBpcmVkID0gY2FwdGNoYVRva2VuLmV4cGlyZXNfYXQgPCBuZXcgRGF0ZSgpO1xuICAgICAgICBpZiAoaXNFeHBpcmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2FwdGNoYVRva2VuLmNhcHRjaGFfdG9rZW5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpZy5zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fdG9rZW5TZWN0aW9uTmFtZSk7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { Syntax, ErrorType } from './oauth2client/consts';
|
|
2
|
+
import { OAuth2Client } from './oauth2client/oauth2client';
|
|
3
|
+
export { defaultStorage, defaultRequest, ToResponseErrorOptions, toResponseError, generateRequestId, OAuth2Client, } from './oauth2client/oauth2client';
|
|
4
|
+
export { AuthClient, SimpleStorage } from './oauth2client/interface';
|
|
5
|
+
export { Credentials, ResponseError, OAuth2ClientOptions, AuthClientRequestOptions, } from './oauth2client/models';
|
|
6
|
+
import { AuthOptions, Auth } from './auth/apis';
|
|
7
|
+
export { AuthOptions, Auth } from './auth/apis';
|
|
8
|
+
import * as authModels from './auth/models';
|
|
9
|
+
export { authModels };
|
|
10
|
+
export declare class CloudbaseOAuth {
|
|
11
|
+
oauth2client: OAuth2Client;
|
|
12
|
+
authApi: Auth;
|
|
13
|
+
constructor(authOptions: AuthOptions);
|
|
14
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.CloudbaseOAuth = exports.authModels = void 0;
|
|
34
|
+
var consts_1 = require("./oauth2client/consts");
|
|
35
|
+
Object.defineProperty(exports, "Syntax", { enumerable: true, get: function () { return consts_1.Syntax; } });
|
|
36
|
+
Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function () { return consts_1.ErrorType; } });
|
|
37
|
+
var oauth2client_1 = require("./oauth2client/oauth2client");
|
|
38
|
+
var oauth2client_2 = require("./oauth2client/oauth2client");
|
|
39
|
+
Object.defineProperty(exports, "defaultStorage", { enumerable: true, get: function () { return oauth2client_2.defaultStorage; } });
|
|
40
|
+
Object.defineProperty(exports, "defaultRequest", { enumerable: true, get: function () { return oauth2client_2.defaultRequest; } });
|
|
41
|
+
Object.defineProperty(exports, "toResponseError", { enumerable: true, get: function () { return oauth2client_2.toResponseError; } });
|
|
42
|
+
Object.defineProperty(exports, "generateRequestId", { enumerable: true, get: function () { return oauth2client_2.generateRequestId; } });
|
|
43
|
+
Object.defineProperty(exports, "OAuth2Client", { enumerable: true, get: function () { return oauth2client_2.OAuth2Client; } });
|
|
44
|
+
var interface_1 = require("./oauth2client/interface");
|
|
45
|
+
Object.defineProperty(exports, "AuthClient", { enumerable: true, get: function () { return interface_1.AuthClient; } });
|
|
46
|
+
var apis_1 = require("./auth/apis");
|
|
47
|
+
var apis_2 = require("./auth/apis");
|
|
48
|
+
Object.defineProperty(exports, "Auth", { enumerable: true, get: function () { return apis_2.Auth; } });
|
|
49
|
+
var authModels = __importStar(require("./auth/models"));
|
|
50
|
+
exports.authModels = authModels;
|
|
51
|
+
var CloudbaseOAuth = (function () {
|
|
52
|
+
function CloudbaseOAuth(authOptions) {
|
|
53
|
+
var apiOrigin = authOptions.apiOrigin, clientId = authOptions.clientId;
|
|
54
|
+
this.oauth2client = new oauth2client_1.OAuth2Client({
|
|
55
|
+
apiOrigin: apiOrigin,
|
|
56
|
+
clientId: clientId
|
|
57
|
+
});
|
|
58
|
+
this.authApi = new apis_1.Auth(__assign({ credentialsClient: this.oauth2client }, authOptions));
|
|
59
|
+
}
|
|
60
|
+
return CloudbaseOAuth;
|
|
61
|
+
}());
|
|
62
|
+
exports.CloudbaseOAuth = CloudbaseOAuth;
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQTBEO0FBQWpELGdHQUFBLE1BQU0sT0FBQTtBQUFFLG1HQUFBLFNBQVMsT0FBQTtBQUUxQiw0REFBMEQ7QUFFMUQsNERBT3FDO0FBTm5DLDhHQUFBLGNBQWMsT0FBQTtBQUNkLDhHQUFBLGNBQWMsT0FBQTtBQUVkLCtHQUFBLGVBQWUsT0FBQTtBQUNmLGlIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDRHQUFBLFlBQVksT0FBQTtBQUdkLHNEQUFxRTtBQUE1RCx1R0FBQSxVQUFVLE9BQUE7QUFVbkIsb0NBQStDO0FBRS9DLG9DQUFnRDtBQUExQiw0RkFBQSxJQUFJLE9BQUE7QUFFMUIsd0RBQTRDO0FBQ25DLGdDQUFVO0FBR25CO0lBSUUsd0JBQVksV0FBd0I7UUFDMUIsSUFBQSxTQUFTLEdBQWUsV0FBVyxVQUExQixFQUFFLFFBQVEsR0FBSyxXQUFXLFNBQWhCLENBQWdCO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSwyQkFBWSxDQUFDO1lBQ25DLFNBQVMsV0FBQTtZQUNULFFBQVEsVUFBQTtTQUNULENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFJLFlBQ3JCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxZQUFZLElBQ2pDLFdBQVcsRUFDZCxDQUFBO0lBQ0osQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQWhCRCxJQWdCQztBQWhCWSx3Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFN5bnRheCwgRXJyb3JUeXBlIH0gZnJvbSAnLi9vYXV0aDJjbGllbnQvY29uc3RzJztcblxuaW1wb3J0IHsgT0F1dGgyQ2xpZW50IH0gZnJvbSAnLi9vYXV0aDJjbGllbnQvb2F1dGgyY2xpZW50J1xuXG5leHBvcnQge1xuICBkZWZhdWx0U3RvcmFnZSxcbiAgZGVmYXVsdFJlcXVlc3QsXG4gIFRvUmVzcG9uc2VFcnJvck9wdGlvbnMsXG4gIHRvUmVzcG9uc2VFcnJvcixcbiAgZ2VuZXJhdGVSZXF1ZXN0SWQsXG4gIE9BdXRoMkNsaWVudCxcbn0gZnJvbSAnLi9vYXV0aDJjbGllbnQvb2F1dGgyY2xpZW50JztcblxuZXhwb3J0IHsgQXV0aENsaWVudCwgU2ltcGxlU3RvcmFnZSB9IGZyb20gJy4vb2F1dGgyY2xpZW50L2ludGVyZmFjZSc7XG5cbi8vIGltcG9ydCB7IENyZWRlbnRpYWxzIH0gZnJvbSAnLi9vYXV0aDJjbGllbnQvbW9kZWxzJ1xuZXhwb3J0IHtcbiAgQ3JlZGVudGlhbHMsXG4gIFJlc3BvbnNlRXJyb3IsXG4gIE9BdXRoMkNsaWVudE9wdGlvbnMsXG4gIEF1dGhDbGllbnRSZXF1ZXN0T3B0aW9ucyxcbn0gZnJvbSAnLi9vYXV0aDJjbGllbnQvbW9kZWxzJztcblxuaW1wb3J0IHsgQXV0aE9wdGlvbnMsIEF1dGggfSBmcm9tICcuL2F1dGgvYXBpcydcblxuZXhwb3J0IHsgQXV0aE9wdGlvbnMsIEF1dGggfSBmcm9tICcuL2F1dGgvYXBpcyc7XG5cbmltcG9ydCAqIGFzIGF1dGhNb2RlbHMgZnJvbSAnLi9hdXRoL21vZGVscyc7XG5leHBvcnQgeyBhdXRoTW9kZWxzIH07XG5cblxuZXhwb3J0IGNsYXNzIENsb3VkYmFzZU9BdXRoIHtcbiAgcHVibGljIG9hdXRoMmNsaWVudDogT0F1dGgyQ2xpZW50XG4gIHB1YmxpYyBhdXRoQXBpOiBBdXRoXG5cbiAgY29uc3RydWN0b3IoYXV0aE9wdGlvbnM6IEF1dGhPcHRpb25zKSB7XG4gICAgY29uc3QgeyBhcGlPcmlnaW4sIGNsaWVudElkIH0gPSBhdXRoT3B0aW9uc1xuICAgIHRoaXMub2F1dGgyY2xpZW50ID0gbmV3IE9BdXRoMkNsaWVudCh7XG4gICAgICBhcGlPcmlnaW4sXG4gICAgICBjbGllbnRJZFxuICAgIH0pXG5cbiAgICB0aGlzLmF1dGhBcGkgPSBuZXcgQXV0aCh7XG4gICAgICBjcmVkZW50aWFsc0NsaWVudDogdGhpcy5vYXV0aDJjbGllbnQsXG4gICAgICAuLi5hdXRoT3B0aW9uc1xuICAgIH0pXG4gIH1cbn1cblxuIl19
|
|
@@ -36,11 +36,32 @@ export declare enum ErrorType {
|
|
|
36
36
|
INTERNAL = "internal",
|
|
37
37
|
UNAVAILABLE = "unavailable",
|
|
38
38
|
DATA_LOSS = "data_loss",
|
|
39
|
+
CAPTCHA_REQUIRED = "captcha_required",
|
|
40
|
+
CAPTCHA_INVALID = "captcha_invalid",
|
|
41
|
+
INVALID_PASSWORD = "invalid_password",
|
|
42
|
+
INVALID_STATUS = "invalid_status",
|
|
43
|
+
USER_PENDING = "user_pending",
|
|
44
|
+
USER_BLOCKED = "user_blocked",
|
|
45
|
+
INVALID_VERIFICATION_CODE = "invalid_verification_code",
|
|
46
|
+
TWO_FACTOR_REQUIRED = "two_factor_required",
|
|
47
|
+
INVALID_TWO_FACTOR = "invalid_two_factor",
|
|
48
|
+
INVALID_TWO_FACTOR_RECOVERY = "invalid_two_factor_recovery",
|
|
49
|
+
UNDER_REVIEW = "under_review",
|
|
50
|
+
INVALID_REQUEST = "invalid_request",
|
|
51
|
+
UNAUTHORIZED_CLIENT = "unauthorized_client",
|
|
39
52
|
ACCESS_DENIED = "access_denied",
|
|
40
53
|
UNSUPPORTED_RESPONSE_TYPE = "unsupported_response_type",
|
|
41
54
|
INVALID_SCOPE = "invalid_scope",
|
|
42
55
|
INVALID_GRANT = "invalid_grant",
|
|
43
56
|
SERVER_ERROR = "server_error",
|
|
44
57
|
TEMPORARILY_UNAVAILABLE = "temporarily_unavailable",
|
|
45
|
-
INTERACTION_REQUIRED = "interaction_required"
|
|
58
|
+
INTERACTION_REQUIRED = "interaction_required",
|
|
59
|
+
LOGIN_REQUIRED = "login_required",
|
|
60
|
+
ACCOUNT_SELECTION_REQUIRED = "account_selection_required",
|
|
61
|
+
CONSENT_REQUIRED = "consent_required",
|
|
62
|
+
INVALID_REQUEST_URI = "invalid_request_uri",
|
|
63
|
+
INVALID_REQUEST_OBJECT = "invalid_request_object",
|
|
64
|
+
REQUEST_NOT_SUPPORTED = "request_not_supported",
|
|
65
|
+
REQUEST_URI_NOT_SUPPORTED = "request_uri_not_supported",
|
|
66
|
+
REGISTRATION_NOT_SUPPORTED = "registration_not_supported"
|
|
46
67
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorType = exports.Syntax = void 0;
|
|
4
|
+
var Syntax;
|
|
5
|
+
(function (Syntax) {
|
|
6
|
+
Syntax["CLIENT_ID"] = "client_id";
|
|
7
|
+
Syntax["CLIENT_SECRET"] = "client_secret";
|
|
8
|
+
Syntax["RESPONSE_TYPE"] = "response_type";
|
|
9
|
+
Syntax["SCOPE"] = "scope";
|
|
10
|
+
Syntax["STATE"] = "state";
|
|
11
|
+
Syntax["REDIRECT_URI"] = "redirect_uri";
|
|
12
|
+
Syntax["ERROR"] = "error";
|
|
13
|
+
Syntax["ERROR_DESCRIPTION"] = "error_description";
|
|
14
|
+
Syntax["ERROR_URI"] = "error_uri";
|
|
15
|
+
Syntax["GRANT_TYPE"] = "grant_type";
|
|
16
|
+
Syntax["CODE"] = "code";
|
|
17
|
+
Syntax["ACCESS_TOKEN"] = "access_token";
|
|
18
|
+
Syntax["TOKEN_TYPE"] = "token_type";
|
|
19
|
+
Syntax["EXPIRES_IN"] = "expires_in";
|
|
20
|
+
Syntax["USERNAME"] = "username";
|
|
21
|
+
Syntax["PASSWORD"] = "password";
|
|
22
|
+
Syntax["REFRESH_TOKEN"] = "refresh_token";
|
|
23
|
+
})(Syntax = exports.Syntax || (exports.Syntax = {}));
|
|
24
|
+
var ErrorType;
|
|
25
|
+
(function (ErrorType) {
|
|
26
|
+
ErrorType["UNREACHABLE"] = "unreachable";
|
|
27
|
+
ErrorType["LOCAL"] = "local";
|
|
28
|
+
ErrorType["CANCELLED"] = "cancelled";
|
|
29
|
+
ErrorType["UNKNOWN"] = "unknown";
|
|
30
|
+
ErrorType["INVALID_ARGUMENT"] = "invalid_argument";
|
|
31
|
+
ErrorType["DEADLINE_EXCEEDED"] = "deadline_exceeded";
|
|
32
|
+
ErrorType["NOT_FOUND"] = "not_found";
|
|
33
|
+
ErrorType["ALREADY_EXISTS"] = "already_exists";
|
|
34
|
+
ErrorType["PERMISSION_DENIED"] = "permission_denied";
|
|
35
|
+
ErrorType["UNAUTHENTICATED"] = "unauthenticated";
|
|
36
|
+
ErrorType["RESOURCE_EXHAUSTED"] = "resource_exhausted";
|
|
37
|
+
ErrorType["FAILED_PRECONDITION"] = "failed_precondition";
|
|
38
|
+
ErrorType["ABORTED"] = "aborted";
|
|
39
|
+
ErrorType["OUT_OF_RANGE"] = "out_of_range";
|
|
40
|
+
ErrorType["UNIMPLEMENTED"] = "unimplemented";
|
|
41
|
+
ErrorType["INTERNAL"] = "internal";
|
|
42
|
+
ErrorType["UNAVAILABLE"] = "unavailable";
|
|
43
|
+
ErrorType["DATA_LOSS"] = "data_loss";
|
|
44
|
+
ErrorType["CAPTCHA_REQUIRED"] = "captcha_required";
|
|
45
|
+
ErrorType["CAPTCHA_INVALID"] = "captcha_invalid";
|
|
46
|
+
ErrorType["INVALID_PASSWORD"] = "invalid_password";
|
|
47
|
+
ErrorType["INVALID_STATUS"] = "invalid_status";
|
|
48
|
+
ErrorType["USER_PENDING"] = "user_pending";
|
|
49
|
+
ErrorType["USER_BLOCKED"] = "user_blocked";
|
|
50
|
+
ErrorType["INVALID_VERIFICATION_CODE"] = "invalid_verification_code";
|
|
51
|
+
ErrorType["TWO_FACTOR_REQUIRED"] = "two_factor_required";
|
|
52
|
+
ErrorType["INVALID_TWO_FACTOR"] = "invalid_two_factor";
|
|
53
|
+
ErrorType["INVALID_TWO_FACTOR_RECOVERY"] = "invalid_two_factor_recovery";
|
|
54
|
+
ErrorType["UNDER_REVIEW"] = "under_review";
|
|
55
|
+
ErrorType["INVALID_REQUEST"] = "invalid_request";
|
|
56
|
+
ErrorType["UNAUTHORIZED_CLIENT"] = "unauthorized_client";
|
|
57
|
+
ErrorType["ACCESS_DENIED"] = "access_denied";
|
|
58
|
+
ErrorType["UNSUPPORTED_RESPONSE_TYPE"] = "unsupported_response_type";
|
|
59
|
+
ErrorType["INVALID_SCOPE"] = "invalid_scope";
|
|
60
|
+
ErrorType["INVALID_GRANT"] = "invalid_grant";
|
|
61
|
+
ErrorType["SERVER_ERROR"] = "server_error";
|
|
62
|
+
ErrorType["TEMPORARILY_UNAVAILABLE"] = "temporarily_unavailable";
|
|
63
|
+
ErrorType["INTERACTION_REQUIRED"] = "interaction_required";
|
|
64
|
+
ErrorType["LOGIN_REQUIRED"] = "login_required";
|
|
65
|
+
ErrorType["ACCOUNT_SELECTION_REQUIRED"] = "account_selection_required";
|
|
66
|
+
ErrorType["CONSENT_REQUIRED"] = "consent_required";
|
|
67
|
+
ErrorType["INVALID_REQUEST_URI"] = "invalid_request_uri";
|
|
68
|
+
ErrorType["INVALID_REQUEST_OBJECT"] = "invalid_request_object";
|
|
69
|
+
ErrorType["REQUEST_NOT_SUPPORTED"] = "request_not_supported";
|
|
70
|
+
ErrorType["REQUEST_URI_NOT_SUPPORTED"] = "request_uri_not_supported";
|
|
71
|
+
ErrorType["REGISTRATION_NOT_SUPPORTED"] = "registration_not_supported";
|
|
72
|
+
})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29hdXRoMmNsaWVudC9jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxNQWtCWDtBQWxCRCxXQUFZLE1BQU07SUFDaEIsaUNBQXVCLENBQUE7SUFDdkIseUNBQStCLENBQUE7SUFDL0IseUNBQStCLENBQUE7SUFDL0IseUJBQWUsQ0FBQTtJQUNmLHlCQUFlLENBQUE7SUFDZix1Q0FBNkIsQ0FBQTtJQUM3Qix5QkFBZSxDQUFBO0lBQ2YsaURBQXVDLENBQUE7SUFDdkMsaUNBQXVCLENBQUE7SUFDdkIsbUNBQXlCLENBQUE7SUFDekIsdUJBQWEsQ0FBQTtJQUNiLHVDQUE2QixDQUFBO0lBQzdCLG1DQUF5QixDQUFBO0lBQ3pCLG1DQUF5QixDQUFBO0lBQ3pCLCtCQUFxQixDQUFBO0lBQ3JCLCtCQUFxQixDQUFBO0lBQ3JCLHlDQUErQixDQUFBO0FBQ2pDLENBQUMsRUFsQlcsTUFBTSxHQUFOLGNBQU0sS0FBTixjQUFNLFFBa0JqQjtBQUVELElBQVksU0FnRFg7QUFoREQsV0FBWSxTQUFTO0lBQ25CLHdDQUEyQixDQUFBO0lBQzNCLDRCQUFlLENBQUE7SUFDZixvQ0FBdUIsQ0FBQTtJQUN2QixnQ0FBbUIsQ0FBQTtJQUNuQixrREFBcUMsQ0FBQTtJQUNyQyxvREFBdUMsQ0FBQTtJQUN2QyxvQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBaUMsQ0FBQTtJQUNqQyxvREFBdUMsQ0FBQTtJQUN2QyxnREFBbUMsQ0FBQTtJQUNuQyxzREFBeUMsQ0FBQTtJQUN6Qyx3REFBMkMsQ0FBQTtJQUMzQyxnQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBK0IsQ0FBQTtJQUMvQixrQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBMkIsQ0FBQTtJQUMzQixvQ0FBdUIsQ0FBQTtJQUV2QixrREFBcUMsQ0FBQTtJQUNyQyxnREFBbUMsQ0FBQTtJQUNuQyxrREFBcUMsQ0FBQTtJQUNyQyw4Q0FBaUMsQ0FBQTtJQUNqQywwQ0FBNkIsQ0FBQTtJQUM3QiwwQ0FBNkIsQ0FBQTtJQUM3QixvRUFBdUQsQ0FBQTtJQUN2RCx3REFBMkMsQ0FBQTtJQUMzQyxzREFBeUMsQ0FBQTtJQUN6Qyx3RUFBMkQsQ0FBQTtJQUMzRCwwQ0FBNkIsQ0FBQTtJQUM3QixnREFBbUMsQ0FBQTtJQUNuQyx3REFBMkMsQ0FBQTtJQUMzQyw0Q0FBK0IsQ0FBQTtJQUMvQixvRUFBdUQsQ0FBQTtJQUN2RCw0Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBNkIsQ0FBQTtJQUM3QixnRUFBbUQsQ0FBQTtJQUNuRCwwREFBNkMsQ0FBQTtJQUM3Qyw4Q0FBaUMsQ0FBQTtJQUNqQyxzRUFBeUQsQ0FBQTtJQUN6RCxrREFBcUMsQ0FBQTtJQUNyQyx3REFBMkMsQ0FBQTtJQUMzQyw4REFBaUQsQ0FBQTtJQUNqRCw0REFBK0MsQ0FBQTtJQUMvQyxvRUFBdUQsQ0FBQTtJQUN2RCxzRUFBeUQsQ0FBQTtBQUMzRCxDQUFDLEVBaERXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBZ0RwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFN5bnRheCB7XG4gIENMSUVOVF9JRCA9ICdjbGllbnRfaWQnLFxuICBDTElFTlRfU0VDUkVUID0gJ2NsaWVudF9zZWNyZXQnLFxuICBSRVNQT05TRV9UWVBFID0gJ3Jlc3BvbnNlX3R5cGUnLFxuICBTQ09QRSA9ICdzY29wZScsXG4gIFNUQVRFID0gJ3N0YXRlJyxcbiAgUkVESVJFQ1RfVVJJID0gJ3JlZGlyZWN0X3VyaScsXG4gIEVSUk9SID0gJ2Vycm9yJyxcbiAgRVJST1JfREVTQ1JJUFRJT04gPSAnZXJyb3JfZGVzY3JpcHRpb24nLFxuICBFUlJPUl9VUkkgPSAnZXJyb3JfdXJpJyxcbiAgR1JBTlRfVFlQRSA9ICdncmFudF90eXBlJyxcbiAgQ09ERSA9ICdjb2RlJyxcbiAgQUNDRVNTX1RPS0VOID0gJ2FjY2Vzc190b2tlbicsXG4gIFRPS0VOX1RZUEUgPSAndG9rZW5fdHlwZScsXG4gIEVYUElSRVNfSU4gPSAnZXhwaXJlc19pbicsXG4gIFVTRVJOQU1FID0gJ3VzZXJuYW1lJyxcbiAgUEFTU1dPUkQgPSAncGFzc3dvcmQnLFxuICBSRUZSRVNIX1RPS0VOID0gJ3JlZnJlc2hfdG9rZW4nLFxufVxuXG5leHBvcnQgZW51bSBFcnJvclR5cGUge1xuICBVTlJFQUNIQUJMRSA9ICd1bnJlYWNoYWJsZScsXG4gIExPQ0FMID0gJ2xvY2FsJyxcbiAgQ0FOQ0VMTEVEID0gJ2NhbmNlbGxlZCcsXG4gIFVOS05PV04gPSAndW5rbm93bicsXG4gIElOVkFMSURfQVJHVU1FTlQgPSAnaW52YWxpZF9hcmd1bWVudCcsXG4gIERFQURMSU5FX0VYQ0VFREVEID0gJ2RlYWRsaW5lX2V4Y2VlZGVkJyxcbiAgTk9UX0ZPVU5EID0gJ25vdF9mb3VuZCcsXG4gIEFMUkVBRFlfRVhJU1RTID0gJ2FscmVhZHlfZXhpc3RzJyxcbiAgUEVSTUlTU0lPTl9ERU5JRUQgPSAncGVybWlzc2lvbl9kZW5pZWQnLFxuICBVTkFVVEhFTlRJQ0FURUQgPSAndW5hdXRoZW50aWNhdGVkJyxcbiAgUkVTT1VSQ0VfRVhIQVVTVEVEID0gJ3Jlc291cmNlX2V4aGF1c3RlZCcsXG4gIEZBSUxFRF9QUkVDT05ESVRJT04gPSAnZmFpbGVkX3ByZWNvbmRpdGlvbicsXG4gIEFCT1JURUQgPSAnYWJvcnRlZCcsXG4gIE9VVF9PRl9SQU5HRSA9ICdvdXRfb2ZfcmFuZ2UnLFxuICBVTklNUExFTUVOVEVEID0gJ3VuaW1wbGVtZW50ZWQnLFxuICBJTlRFUk5BTCA9ICdpbnRlcm5hbCcsXG4gIFVOQVZBSUxBQkxFID0gJ3VuYXZhaWxhYmxlJyxcbiAgREFUQV9MT1NTID0gJ2RhdGFfbG9zcycsXG4gIC8vIENvbW1vbkVycm9yXG4gIENBUFRDSEFfUkVRVUlSRUQgPSAnY2FwdGNoYV9yZXF1aXJlZCcsXG4gIENBUFRDSEFfSU5WQUxJRCA9ICdjYXB0Y2hhX2ludmFsaWQnLFxuICBJTlZBTElEX1BBU1NXT1JEID0gJ2ludmFsaWRfcGFzc3dvcmQnLFxuICBJTlZBTElEX1NUQVRVUyA9ICdpbnZhbGlkX3N0YXR1cycsXG4gIFVTRVJfUEVORElORyA9ICd1c2VyX3BlbmRpbmcnLFxuICBVU0VSX0JMT0NLRUQgPSAndXNlcl9ibG9ja2VkJyxcbiAgSU5WQUxJRF9WRVJJRklDQVRJT05fQ09ERSA9ICdpbnZhbGlkX3ZlcmlmaWNhdGlvbl9jb2RlJyxcbiAgVFdPX0ZBQ1RPUl9SRVFVSVJFRCA9ICd0d29fZmFjdG9yX3JlcXVpcmVkJyxcbiAgSU5WQUxJRF9UV09fRkFDVE9SID0gJ2ludmFsaWRfdHdvX2ZhY3RvcicsXG4gIElOVkFMSURfVFdPX0ZBQ1RPUl9SRUNPVkVSWSA9ICdpbnZhbGlkX3R3b19mYWN0b3JfcmVjb3ZlcnknLFxuICBVTkRFUl9SRVZJRVcgPSAndW5kZXJfcmV2aWV3JyxcbiAgSU5WQUxJRF9SRVFVRVNUID0gJ2ludmFsaWRfcmVxdWVzdCcsXG4gIFVOQVVUSE9SSVpFRF9DTElFTlQgPSAndW5hdXRob3JpemVkX2NsaWVudCcsXG4gIEFDQ0VTU19ERU5JRUQgPSAnYWNjZXNzX2RlbmllZCcsXG4gIFVOU1VQUE9SVEVEX1JFU1BPTlNFX1RZUEUgPSAndW5zdXBwb3J0ZWRfcmVzcG9uc2VfdHlwZScsXG4gIElOVkFMSURfU0NPUEUgPSAnaW52YWxpZF9zY29wZScsXG4gIElOVkFMSURfR1JBTlQgPSAnaW52YWxpZF9ncmFudCcsXG4gIFNFUlZFUl9FUlJPUiA9ICdzZXJ2ZXJfZXJyb3InLFxuICBURU1QT1JBUklMWV9VTkFWQUlMQUJMRSA9ICd0ZW1wb3JhcmlseV91bmF2YWlsYWJsZScsXG4gIElOVEVSQUNUSU9OX1JFUVVJUkVEID0gJ2ludGVyYWN0aW9uX3JlcXVpcmVkJyxcbiAgTE9HSU5fUkVRVUlSRUQgPSAnbG9naW5fcmVxdWlyZWQnLFxuICBBQ0NPVU5UX1NFTEVDVElPTl9SRVFVSVJFRCA9ICdhY2NvdW50X3NlbGVjdGlvbl9yZXF1aXJlZCcsXG4gIENPTlNFTlRfUkVRVUlSRUQgPSAnY29uc2VudF9yZXF1aXJlZCcsXG4gIElOVkFMSURfUkVRVUVTVF9VUkkgPSAnaW52YWxpZF9yZXF1ZXN0X3VyaScsXG4gIElOVkFMSURfUkVRVUVTVF9PQkpFQ1QgPSAnaW52YWxpZF9yZXF1ZXN0X29iamVjdCcsXG4gIFJFUVVFU1RfTk9UX1NVUFBPUlRFRCA9ICdyZXF1ZXN0X25vdF9zdXBwb3J0ZWQnLFxuICBSRVFVRVNUX1VSSV9OT1RfU1VQUE9SVEVEID0gJ3JlcXVlc3RfdXJpX25vdF9zdXBwb3J0ZWQnLFxuICBSRUdJU1RSQVRJT05fTk9UX1NVUFBPUlRFRCA9ICdyZWdpc3RyYXRpb25fbm90X3N1cHBvcnRlZCcsXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Credentials, AuthClientRequestOptions } from './models';
|
|
2
|
+
export declare abstract class AuthClient {
|
|
3
|
+
abstract setCredentials(credentials?: Credentials): void;
|
|
4
|
+
abstract request: RequestFunction;
|
|
5
|
+
abstract getAccessToken(): Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
export declare type RequestFunction = <T>(url: string, options?: AuthClientRequestOptions) => Promise<T>;
|
|
8
|
+
export interface SimpleStorage {
|
|
9
|
+
getItem: (key: string) => Promise<string | null>;
|
|
10
|
+
removeItem: (key: string) => Promise<void>;
|
|
11
|
+
setItem: (key: string, value: string) => Promise<void>;
|
|
12
|
+
getItemSync: (key: string) => string | null;
|
|
13
|
+
removeItemSync: (key: string) => void;
|
|
14
|
+
setItemSync: (key: string, value: string) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthClient = void 0;
|
|
4
|
+
var AuthClient = (function () {
|
|
5
|
+
function AuthClient() {
|
|
6
|
+
}
|
|
7
|
+
return AuthClient;
|
|
8
|
+
}());
|
|
9
|
+
exports.AuthClient = AuthClient;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29hdXRoMmNsaWVudC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0E7SUFBQTtJQW9CQSxDQUFDO0lBQUQsaUJBQUM7QUFBRCxDQUFDLEFBcEJELElBb0JDO0FBcEJxQixnQ0FBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWRlbnRpYWxzLCBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5cbi8qKlxuICogdGhlIGludGVyZmFjZSBmb3IgdGhlIE9hdXRoMkNsaWVudFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0aENsaWVudCB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhdXRoIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0Q3JlZGVudGlhbHMoY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyk6IHZvaWQ7XG4gIC8qKlxuICAgKiBQcm92aWRlcyBhbiBhbHRlcm5hdGl2ZSBmZXRjaCBhcGkgcmVxdWVzdCBpbXBsZW1lbnRhdGlvbiB3aXRoIGF1dGggY3JlZGVudGlhbHNcbiAgICogaWYgb3B0aW9ucy53aXRoQ3JlZGVudGlhbHM6dHJ1ZSwgdGhlIHJlcXVlc3Qgd2lsbCBhdXRvIGFkZCBBdXRob3JpemF0aW9uOiBCZWFyZXIgPEFjY2Vzc1Rva2VuPiBpbiB0aGUgcmVxdWVzdFxuICAgKiBlcnJvcjpcbiAgICogICAgIC0gdW5yZWFjaGFibGUsIHRoZSBuZXR3b3JrIGVycm9yIG9yIHJlc3BvbnNlIGlzIG5vdCBqc29uXG4gICAqICAgICAtIHVuYXV0aGVudGljYXRlZDogaGFzIG5vIHZhbGlkYXRlIGFjY2VzcyB0b2tlblxuICAgKi9cbiAgYWJzdHJhY3QgcmVxdWVzdDogUmVxdWVzdEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBnZXQgdGhlIGN1cnJlbnQgYWNjZXNzVG9rZW4gZnJvbSBBdXRoQ2xpZW50LCB5b3UgY2FuIHVzZSB0aGlzIHRvIGRldGVjdCBsb2dpbiBzdGF0dXNcbiAgICogZXJyb3I6XG4gICAqICAgIC0gIHVuYXV0aGVudGljYXRlZDogaGFzIG5vIHZhbGlkYXRlIGFjY2VzcyB0b2tlblxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QWNjZXNzVG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0RnVuY3Rpb24gPSA8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8VD47XG5cbi8qKiBBbiBpbnRlcmZhY2Ugb2YgdGhlIFNpbXBsZSAgV2ViIFN0b3JhZ2UgQVBJICAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlIHtcbiAgLyoqXG4gICAqIHZhbHVlID0gc3RvcmFnZVtrZXldXG4gICAqL1xuICBnZXRJdGVtOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nIHwgbnVsbD47XG4gIC8qKlxuICAgKiBkZWxldGUgc3RvcmFnZVtrZXldXG4gICAqL1xuICByZW1vdmVJdGVtOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBzdG9yYWdlW2tleV0gPSB2YWx1ZVxuICAgKi9cbiAgc2V0SXRlbTogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiB2YWx1ZSA9IHN0b3JhZ2Vba2V5XVxuICAgKi9cbiAgZ2V0SXRlbVN5bmM6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbiAgLyoqXG4gICAqIGRlbGV0ZSBzdG9yYWdlW2tleV1cbiAgICovXG4gIHJlbW92ZUl0ZW1TeW5jOiAoa2V5OiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBzdG9yYWdlW2tleV0gPSB2YWx1ZVxuICAgKi9cbiAgc2V0SXRlbVN5bmM6IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SimpleStorage } from './interface';
|
|
2
|
+
import { ErrorType } from './consts';
|
|
3
|
+
export interface Credentials {
|
|
4
|
+
token_type?: string | null;
|
|
5
|
+
access_token?: string | null;
|
|
6
|
+
refresh_token?: string | null;
|
|
7
|
+
scope?: string | null;
|
|
8
|
+
expires_in?: number | null;
|
|
9
|
+
expires_at?: Date | null;
|
|
10
|
+
sub?: string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface ResponseError {
|
|
13
|
+
error: ErrorType;
|
|
14
|
+
error_description?: string | null;
|
|
15
|
+
error_uri?: string | null;
|
|
16
|
+
details?: any | null;
|
|
17
|
+
}
|
|
18
|
+
export interface RequestOptions {
|
|
19
|
+
body?: any | null;
|
|
20
|
+
headers?: any | null;
|
|
21
|
+
method?: string;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
export declare type RequestFunction = <T>(url: string, options?: RequestOptions) => Promise<T>;
|
|
25
|
+
export interface AuthClientRequestOptions extends RequestOptions {
|
|
26
|
+
headers?: {
|
|
27
|
+
'x-request-id'?: string;
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
} | null;
|
|
30
|
+
withCredentials?: boolean;
|
|
31
|
+
retry?: number;
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}
|
|
34
|
+
export interface OAuth2ClientOptions {
|
|
35
|
+
devMode?: boolean;
|
|
36
|
+
apiOrigin: string;
|
|
37
|
+
clientId: string;
|
|
38
|
+
retry?: number;
|
|
39
|
+
baseRequest?: <T>(url: string, options?: RequestOptions) => Promise<T>;
|
|
40
|
+
storage?: SimpleStorage;
|
|
41
|
+
clientSecret?: string;
|
|
42
|
+
refreshTokenFunc?: (refreshToken?: string) => Promise<Credentials>;
|
|
43
|
+
tokenInURL?: boolean;
|
|
44
|
+
headers?: {
|
|
45
|
+
[key: string]: string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29hdXRoMmNsaWVudC9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2ltcGxlU3RvcmFnZX0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtFcnJvclR5cGV9IGZyb20gJy4vY29uc3RzJztcblxuLyoqIENyZWRlbnRpYWxzICoqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVkZW50aWFscyB7XG4gICAgdG9rZW5fdHlwZT86IHN0cmluZyB8IG51bGw7XG4gICAgYWNjZXNzX3Rva2VuPzogc3RyaW5nIHwgbnVsbDtcbiAgICByZWZyZXNoX3Rva2VuPzogc3RyaW5nIHwgbnVsbDtcbiAgICBzY29wZT86IHN0cmluZyB8IG51bGw7XG4gICAgZXhwaXJlc19pbj86IG51bWJlciB8IG51bGw7XG4gICAgZXhwaXJlc19hdD86IERhdGUgfCBudWxsO1xuICAgIHN1Yj86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKiBBbiBFcnJvciBGb3IgYWxsIGNvbmNlcm4gKiovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlRXJyb3Ige1xuICAgIGVycm9yOiBFcnJvclR5cGU7XG4gICAgZXJyb3JfZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVycm9yX3VyaT86IHN0cmluZyB8IG51bGw7XG4gICAgZGV0YWlscz86IGFueSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdE9wdGlvbnMge1xuICAgIGJvZHk/OiBhbnkgfCBudWxsO1xuICAgIGhlYWRlcnM/OiBhbnkgfCBudWxsO1xuICAgIG1ldGhvZD86IHN0cmluZztcblxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEZ1bmN0aW9uID0gPFQ+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyxcbikgPT4gUHJvbWlzZTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMgZXh0ZW5kcyBSZXF1ZXN0T3B0aW9ucyB7XG4gICAgaGVhZGVycz86IHtcbiAgICAgICAgJ3gtcmVxdWVzdC1pZCc/OiBzdHJpbmc7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICB9IHwgbnVsbDtcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIHJldHJ5PzogbnVtYmVyO1xuXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoMkNsaWVudE9wdGlvbnMge1xuICAgIGRldk1vZGU/OiBib29sZWFuO1xuICAgIGFwaU9yaWdpbjogc3RyaW5nO1xuICAgIGNsaWVudElkOiBzdHJpbmc7XG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBpcyAxLG1pbiB2YWx1ZSBpcyAwLCBtYXggdmFsdWUgaXMgNVxuICAgIHJldHJ5PzogbnVtYmVyO1xuICAgIGJhc2VSZXF1ZXN0PzogPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8VD47XG4gICAgLy8gU3RvcmFnZSwgZGVmYXVsdCBpcyBsb2NhbFN0b3JhZ2UsIHNldEl0ZW0oaywgdiksIGdldEl0ZW0oaykscmVtb3ZlSXRlbShrKVxuICAgIHN0b3JhZ2U/OiBTaW1wbGVTdG9yYWdlO1xuICAgIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgICByZWZyZXNoVG9rZW5GdW5jPzogKHJlZnJlc2hUb2tlbj86IHN0cmluZykgPT4gUHJvbWlzZTxDcmVkZW50aWFscz47XG4gICAgLy8gc2V0IHRoZSB0b2tlbiBpbiB1cmwgcXVlcnkgaW5zdGVhZCBvZiBoZWFkZXJcbiAgICB0b2tlbkluVVJMPzogYm9vbGVhbjtcbiAgICBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cbiJdfQ==
|