@emilgroup/auth-sdk-node 1.11.1-beta.0 → 1.12.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/README.md +2 -2
- package/api/authservice-api.ts +0 -58
- package/base.ts +16 -8
- package/dist/api/authservice-api.d.ts +0 -25
- package/dist/api/authservice-api.js +0 -65
- package/dist/base.d.ts +4 -2
- package/dist/base.js +26 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,11 +17,11 @@ Although this package can be used in both TypeScript and JavaScript, it is inten
|
|
|
17
17
|
Navigate to the folder of your consuming project and run one of the following commands:
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
npm install @emilgroup/auth-sdk-node@1.
|
|
20
|
+
npm install @emilgroup/auth-sdk-node@1.12.0 --save
|
|
21
21
|
```
|
|
22
22
|
or
|
|
23
23
|
```
|
|
24
|
-
yarn add @emilgroup/auth-sdk-node@1.
|
|
24
|
+
yarn add @emilgroup/auth-sdk-node@1.12.0
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
And then you can import ``.
|
package/api/authservice-api.ts
CHANGED
|
@@ -168,37 +168,6 @@ export const AuthserviceApiAxiosParamCreator = function (configuration?: Configu
|
|
|
168
168
|
options: localVarRequestOptions,
|
|
169
169
|
};
|
|
170
170
|
},
|
|
171
|
-
/**
|
|
172
|
-
*
|
|
173
|
-
* @param {*} [options] Override http request option.
|
|
174
|
-
* @throws {RequiredError}
|
|
175
|
-
*/
|
|
176
|
-
generateReadmeToken: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
177
|
-
const localVarPath = `/authservice/v1/readme-token`;
|
|
178
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
179
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
180
|
-
let baseOptions;
|
|
181
|
-
let baseAccessToken;
|
|
182
|
-
if (configuration) {
|
|
183
|
-
baseOptions = configuration.baseOptions;
|
|
184
|
-
baseAccessToken = configuration.accessToken;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
188
|
-
const localVarHeaderParameter = {} as any;
|
|
189
|
-
const localVarQueryParameter = {} as any;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
194
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
195
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
196
|
-
|
|
197
|
-
return {
|
|
198
|
-
url: toPathString(localVarUrlObj),
|
|
199
|
-
options: localVarRequestOptions,
|
|
200
|
-
};
|
|
201
|
-
},
|
|
202
171
|
/**
|
|
203
172
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
204
173
|
* @summary Get SAML login link for tenant
|
|
@@ -593,15 +562,6 @@ export const AuthserviceApiFp = function(configuration?: Configuration) {
|
|
|
593
562
|
const localVarAxiosArgs = await localVarAxiosParamCreator.forgotPassword(forgotPasswordRequestDto, options);
|
|
594
563
|
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
595
564
|
},
|
|
596
|
-
/**
|
|
597
|
-
*
|
|
598
|
-
* @param {*} [options] Override http request option.
|
|
599
|
-
* @throws {RequiredError}
|
|
600
|
-
*/
|
|
601
|
-
async generateReadmeToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
|
|
602
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.generateReadmeToken(options);
|
|
603
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
604
|
-
},
|
|
605
565
|
/**
|
|
606
566
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
607
567
|
* @summary Get SAML login link for tenant
|
|
@@ -742,14 +702,6 @@ export const AuthserviceApiFactory = function (configuration?: Configuration, ba
|
|
|
742
702
|
forgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, options?: any): AxiosPromise<void> {
|
|
743
703
|
return localVarFp.forgotPassword(forgotPasswordRequestDto, options).then((request) => request(axios, basePath));
|
|
744
704
|
},
|
|
745
|
-
/**
|
|
746
|
-
*
|
|
747
|
-
* @param {*} [options] Override http request option.
|
|
748
|
-
* @throws {RequiredError}
|
|
749
|
-
*/
|
|
750
|
-
generateReadmeToken(options?: any): AxiosPromise<void> {
|
|
751
|
-
return localVarFp.generateReadmeToken(options).then((request) => request(axios, basePath));
|
|
752
|
-
},
|
|
753
705
|
/**
|
|
754
706
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
755
707
|
* @summary Get SAML login link for tenant
|
|
@@ -1062,16 +1014,6 @@ export class AuthserviceApi extends BaseAPI {
|
|
|
1062
1014
|
return AuthserviceApiFp(this.configuration).forgotPassword(requestParameters.forgotPasswordRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
1063
1015
|
}
|
|
1064
1016
|
|
|
1065
|
-
/**
|
|
1066
|
-
*
|
|
1067
|
-
* @param {*} [options] Override http request option.
|
|
1068
|
-
* @throws {RequiredError}
|
|
1069
|
-
* @memberof AuthserviceApi
|
|
1070
|
-
*/
|
|
1071
|
-
public generateReadmeToken(options?: AxiosRequestConfig) {
|
|
1072
|
-
return AuthserviceApiFp(this.configuration).generateReadmeToken(options).then((request) => request(this.axios, this.basePath));
|
|
1073
|
-
}
|
|
1074
|
-
|
|
1075
1017
|
/**
|
|
1076
1018
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
1077
1019
|
* @summary Get SAML login link for tenant
|
package/base.ts
CHANGED
|
@@ -41,7 +41,7 @@ export const COLLECTION_FORMATS = {
|
|
|
41
41
|
|
|
42
42
|
export interface LoginClass {
|
|
43
43
|
accessToken: string;
|
|
44
|
-
permissions:
|
|
44
|
+
permissions: string;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export enum Environment {
|
|
@@ -79,6 +79,7 @@ export class BaseAPI {
|
|
|
79
79
|
protected configuration: Configuration;
|
|
80
80
|
private username?: string;
|
|
81
81
|
private password?: string;
|
|
82
|
+
private permissions?: string;
|
|
82
83
|
|
|
83
84
|
constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
|
|
84
85
|
if (configuration) {
|
|
@@ -149,6 +150,10 @@ export class BaseAPI {
|
|
|
149
150
|
this.configuration.basePath = env;
|
|
150
151
|
}
|
|
151
152
|
|
|
153
|
+
getPermissions(): Array<string> {
|
|
154
|
+
return this.permissions.split(',');
|
|
155
|
+
}
|
|
156
|
+
|
|
152
157
|
async authorize(username: string, password: string): Promise<void> {
|
|
153
158
|
const options: AxiosRequestConfig = {
|
|
154
159
|
method: 'POST',
|
|
@@ -163,20 +168,21 @@ export class BaseAPI {
|
|
|
163
168
|
|
|
164
169
|
const response = await globalAxios.request<LoginClass>(options);
|
|
165
170
|
|
|
166
|
-
const { data: { accessToken } } = response;
|
|
171
|
+
const { data: { accessToken, permissions } } = response;
|
|
167
172
|
this.configuration.username = username;
|
|
168
173
|
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
174
|
+
this.permissions = permissions;
|
|
169
175
|
|
|
170
176
|
const refreshToken = this.extractRefreshToken(response)
|
|
171
177
|
this.configuration.refreshToken = refreshToken;
|
|
172
178
|
}
|
|
173
179
|
|
|
174
|
-
async refreshTokenInternal(): Promise<
|
|
180
|
+
async refreshTokenInternal(): Promise<LoginClass> {
|
|
175
181
|
const { username, refreshToken } = this.configuration;
|
|
176
182
|
|
|
177
183
|
|
|
178
184
|
if (!username || !refreshToken) {
|
|
179
|
-
|
|
185
|
+
throw new Error('Failed to refresh token.');
|
|
180
186
|
}
|
|
181
187
|
|
|
182
188
|
const options: AxiosRequestConfig = {
|
|
@@ -190,9 +196,9 @@ export class BaseAPI {
|
|
|
190
196
|
withCredentials: true,
|
|
191
197
|
};
|
|
192
198
|
|
|
193
|
-
const
|
|
199
|
+
const response = await globalAxios.request<LoginClass>(options);
|
|
194
200
|
|
|
195
|
-
return
|
|
201
|
+
return response.data;
|
|
196
202
|
}
|
|
197
203
|
|
|
198
204
|
private extractRefreshToken(response: AxiosResponse): string {
|
|
@@ -221,8 +227,9 @@ export class BaseAPI {
|
|
|
221
227
|
if (err.response.status === 401 && !originalConfig._retry) {
|
|
222
228
|
originalConfig._retry = true;
|
|
223
229
|
try {
|
|
224
|
-
const tokenString = await this.refreshTokenInternal();
|
|
230
|
+
const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
|
|
225
231
|
const accessToken = `Bearer ${tokenString}`;
|
|
232
|
+
this.permissions = permissions;
|
|
226
233
|
|
|
227
234
|
originalConfig.headers['Authorization'] = `Bearer ${accessToken}`
|
|
228
235
|
|
|
@@ -246,8 +253,9 @@ export class BaseAPI {
|
|
|
246
253
|
){
|
|
247
254
|
_retry_count++;
|
|
248
255
|
try {
|
|
249
|
-
const tokenString = await this.refreshTokenInternal();
|
|
256
|
+
const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
|
|
250
257
|
const accessToken = `Bearer ${tokenString}`;
|
|
258
|
+
this.permissions = permissions;
|
|
251
259
|
|
|
252
260
|
_retry = true;
|
|
253
261
|
originalConfig.headers['Authorization'] = accessToken;
|
|
@@ -53,12 +53,6 @@ export declare const AuthserviceApiAxiosParamCreator: (configuration?: Configura
|
|
|
53
53
|
* @throws {RequiredError}
|
|
54
54
|
*/
|
|
55
55
|
forgotPassword: (forgotPasswordRequestDto: ForgotPasswordRequestDto, options?: AxiosRequestConfig) => Promise<RequestArgs>;
|
|
56
|
-
/**
|
|
57
|
-
*
|
|
58
|
-
* @param {*} [options] Override http request option.
|
|
59
|
-
* @throws {RequiredError}
|
|
60
|
-
*/
|
|
61
|
-
generateReadmeToken: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
|
|
62
56
|
/**
|
|
63
57
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
64
58
|
* @summary Get SAML login link for tenant
|
|
@@ -162,12 +156,6 @@ export declare const AuthserviceApiFp: (configuration?: Configuration) => {
|
|
|
162
156
|
* @throws {RequiredError}
|
|
163
157
|
*/
|
|
164
158
|
forgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
165
|
-
/**
|
|
166
|
-
*
|
|
167
|
-
* @param {*} [options] Override http request option.
|
|
168
|
-
* @throws {RequiredError}
|
|
169
|
-
*/
|
|
170
|
-
generateReadmeToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
171
159
|
/**
|
|
172
160
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
173
161
|
* @summary Get SAML login link for tenant
|
|
@@ -271,12 +259,6 @@ export declare const AuthserviceApiFactory: (configuration?: Configuration, base
|
|
|
271
259
|
* @throws {RequiredError}
|
|
272
260
|
*/
|
|
273
261
|
forgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, options?: any): AxiosPromise<void>;
|
|
274
|
-
/**
|
|
275
|
-
*
|
|
276
|
-
* @param {*} [options] Override http request option.
|
|
277
|
-
* @throws {RequiredError}
|
|
278
|
-
*/
|
|
279
|
-
generateReadmeToken(options?: any): AxiosPromise<void>;
|
|
280
262
|
/**
|
|
281
263
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
282
264
|
* @summary Get SAML login link for tenant
|
|
@@ -547,13 +529,6 @@ export declare class AuthserviceApi extends BaseAPI {
|
|
|
547
529
|
* @memberof AuthserviceApi
|
|
548
530
|
*/
|
|
549
531
|
forgotPassword(requestParameters: AuthserviceApiForgotPasswordRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
|
|
550
|
-
/**
|
|
551
|
-
*
|
|
552
|
-
* @param {*} [options] Override http request option.
|
|
553
|
-
* @throws {RequiredError}
|
|
554
|
-
* @memberof AuthserviceApi
|
|
555
|
-
*/
|
|
556
|
-
generateReadmeToken(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
|
|
557
532
|
/**
|
|
558
533
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
559
534
|
* @summary Get SAML login link for tenant
|
|
@@ -201,35 +201,6 @@ var AuthserviceApiAxiosParamCreator = function (configuration) {
|
|
|
201
201
|
});
|
|
202
202
|
});
|
|
203
203
|
},
|
|
204
|
-
/**
|
|
205
|
-
*
|
|
206
|
-
* @param {*} [options] Override http request option.
|
|
207
|
-
* @throws {RequiredError}
|
|
208
|
-
*/
|
|
209
|
-
generateReadmeToken: function (options) {
|
|
210
|
-
if (options === void 0) { options = {}; }
|
|
211
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
212
|
-
var localVarPath, localVarUrlObj, baseOptions, baseAccessToken, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
|
|
213
|
-
return __generator(this, function (_a) {
|
|
214
|
-
localVarPath = "/authservice/v1/readme-token";
|
|
215
|
-
localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
|
|
216
|
-
if (configuration) {
|
|
217
|
-
baseOptions = configuration.baseOptions;
|
|
218
|
-
baseAccessToken = configuration.accessToken;
|
|
219
|
-
}
|
|
220
|
-
localVarRequestOptions = __assign(__assign({ method: 'POST' }, baseOptions), options);
|
|
221
|
-
localVarHeaderParameter = {};
|
|
222
|
-
localVarQueryParameter = {};
|
|
223
|
-
(0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
|
|
224
|
-
headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
225
|
-
localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
|
|
226
|
-
return [2 /*return*/, {
|
|
227
|
-
url: (0, common_1.toPathString)(localVarUrlObj),
|
|
228
|
-
options: localVarRequestOptions,
|
|
229
|
-
}];
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
},
|
|
233
204
|
/**
|
|
234
205
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
235
206
|
* @summary Get SAML login link for tenant
|
|
@@ -623,24 +594,6 @@ var AuthserviceApiFp = function (configuration) {
|
|
|
623
594
|
});
|
|
624
595
|
});
|
|
625
596
|
},
|
|
626
|
-
/**
|
|
627
|
-
*
|
|
628
|
-
* @param {*} [options] Override http request option.
|
|
629
|
-
* @throws {RequiredError}
|
|
630
|
-
*/
|
|
631
|
-
generateReadmeToken: function (options) {
|
|
632
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
633
|
-
var localVarAxiosArgs;
|
|
634
|
-
return __generator(this, function (_a) {
|
|
635
|
-
switch (_a.label) {
|
|
636
|
-
case 0: return [4 /*yield*/, localVarAxiosParamCreator.generateReadmeToken(options)];
|
|
637
|
-
case 1:
|
|
638
|
-
localVarAxiosArgs = _a.sent();
|
|
639
|
-
return [2 /*return*/, (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
|
|
640
|
-
}
|
|
641
|
-
});
|
|
642
|
-
});
|
|
643
|
-
},
|
|
644
597
|
/**
|
|
645
598
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
646
599
|
* @summary Get SAML login link for tenant
|
|
@@ -862,14 +815,6 @@ var AuthserviceApiFactory = function (configuration, basePath, axios) {
|
|
|
862
815
|
forgotPassword: function (forgotPasswordRequestDto, options) {
|
|
863
816
|
return localVarFp.forgotPassword(forgotPasswordRequestDto, options).then(function (request) { return request(axios, basePath); });
|
|
864
817
|
},
|
|
865
|
-
/**
|
|
866
|
-
*
|
|
867
|
-
* @param {*} [options] Override http request option.
|
|
868
|
-
* @throws {RequiredError}
|
|
869
|
-
*/
|
|
870
|
-
generateReadmeToken: function (options) {
|
|
871
|
-
return localVarFp.generateReadmeToken(options).then(function (request) { return request(axios, basePath); });
|
|
872
|
-
},
|
|
873
818
|
/**
|
|
874
819
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
875
820
|
* @summary Get SAML login link for tenant
|
|
@@ -1011,16 +956,6 @@ var AuthserviceApi = /** @class */ (function (_super) {
|
|
|
1011
956
|
var _this = this;
|
|
1012
957
|
return (0, exports.AuthserviceApiFp)(this.configuration).forgotPassword(requestParameters.forgotPasswordRequestDto, options).then(function (request) { return request(_this.axios, _this.basePath); });
|
|
1013
958
|
};
|
|
1014
|
-
/**
|
|
1015
|
-
*
|
|
1016
|
-
* @param {*} [options] Override http request option.
|
|
1017
|
-
* @throws {RequiredError}
|
|
1018
|
-
* @memberof AuthserviceApi
|
|
1019
|
-
*/
|
|
1020
|
-
AuthserviceApi.prototype.generateReadmeToken = function (options) {
|
|
1021
|
-
var _this = this;
|
|
1022
|
-
return (0, exports.AuthserviceApiFp)(this.configuration).generateReadmeToken(options).then(function (request) { return request(_this.axios, _this.basePath); });
|
|
1023
|
-
};
|
|
1024
959
|
/**
|
|
1025
960
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
1026
961
|
* @summary Get SAML login link for tenant
|
package/dist/base.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export declare const COLLECTION_FORMATS: {
|
|
|
24
24
|
};
|
|
25
25
|
export interface LoginClass {
|
|
26
26
|
accessToken: string;
|
|
27
|
-
permissions:
|
|
27
|
+
permissions: string;
|
|
28
28
|
}
|
|
29
29
|
export declare enum Environment {
|
|
30
30
|
Production = "https://apiv2.emil.de",
|
|
@@ -53,14 +53,16 @@ export declare class BaseAPI {
|
|
|
53
53
|
protected configuration: Configuration;
|
|
54
54
|
private username?;
|
|
55
55
|
private password?;
|
|
56
|
+
private permissions?;
|
|
56
57
|
constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
|
|
57
58
|
initialize(env?: Environment): Promise<void>;
|
|
58
59
|
private loadCredentials;
|
|
59
60
|
private readConfigFile;
|
|
60
61
|
private readEnvVariables;
|
|
61
62
|
selectEnvironment(env: Environment): void;
|
|
63
|
+
getPermissions(): Array<string>;
|
|
62
64
|
authorize(username: string, password: string): Promise<void>;
|
|
63
|
-
refreshTokenInternal(): Promise<
|
|
65
|
+
refreshTokenInternal(): Promise<LoginClass>;
|
|
64
66
|
private extractRefreshToken;
|
|
65
67
|
getConfiguration(): Configuration;
|
|
66
68
|
private attachInterceptor;
|
package/dist/base.js
CHANGED
|
@@ -242,11 +242,14 @@ var BaseAPI = /** @class */ (function () {
|
|
|
242
242
|
BaseAPI.prototype.selectEnvironment = function (env) {
|
|
243
243
|
this.configuration.basePath = env;
|
|
244
244
|
};
|
|
245
|
+
BaseAPI.prototype.getPermissions = function () {
|
|
246
|
+
return this.permissions.split(',');
|
|
247
|
+
};
|
|
245
248
|
BaseAPI.prototype.authorize = function (username, password) {
|
|
246
249
|
return __awaiter(this, void 0, void 0, function () {
|
|
247
|
-
var options, response, accessToken, refreshToken;
|
|
248
|
-
return __generator(this, function (
|
|
249
|
-
switch (
|
|
250
|
+
var options, response, _a, accessToken, permissions, refreshToken;
|
|
251
|
+
return __generator(this, function (_b) {
|
|
252
|
+
switch (_b.label) {
|
|
250
253
|
case 0:
|
|
251
254
|
options = {
|
|
252
255
|
method: 'POST',
|
|
@@ -260,10 +263,11 @@ var BaseAPI = /** @class */ (function () {
|
|
|
260
263
|
};
|
|
261
264
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
262
265
|
case 1:
|
|
263
|
-
response =
|
|
264
|
-
|
|
266
|
+
response = _b.sent();
|
|
267
|
+
_a = response.data, accessToken = _a.accessToken, permissions = _a.permissions;
|
|
265
268
|
this.configuration.username = username;
|
|
266
269
|
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
270
|
+
this.permissions = permissions;
|
|
267
271
|
refreshToken = this.extractRefreshToken(response);
|
|
268
272
|
this.configuration.refreshToken = refreshToken;
|
|
269
273
|
return [2 /*return*/];
|
|
@@ -273,13 +277,13 @@ var BaseAPI = /** @class */ (function () {
|
|
|
273
277
|
};
|
|
274
278
|
BaseAPI.prototype.refreshTokenInternal = function () {
|
|
275
279
|
return __awaiter(this, void 0, void 0, function () {
|
|
276
|
-
var _a, username, refreshToken, options,
|
|
280
|
+
var _a, username, refreshToken, options, response;
|
|
277
281
|
return __generator(this, function (_b) {
|
|
278
282
|
switch (_b.label) {
|
|
279
283
|
case 0:
|
|
280
284
|
_a = this.configuration, username = _a.username, refreshToken = _a.refreshToken;
|
|
281
285
|
if (!username || !refreshToken) {
|
|
282
|
-
|
|
286
|
+
throw new Error('Failed to refresh token.');
|
|
283
287
|
}
|
|
284
288
|
options = {
|
|
285
289
|
method: 'POST',
|
|
@@ -293,8 +297,8 @@ var BaseAPI = /** @class */ (function () {
|
|
|
293
297
|
};
|
|
294
298
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
295
299
|
case 1:
|
|
296
|
-
|
|
297
|
-
return [2 /*return*/,
|
|
300
|
+
response = _b.sent();
|
|
301
|
+
return [2 /*return*/, response.data];
|
|
298
302
|
}
|
|
299
303
|
});
|
|
300
304
|
});
|
|
@@ -314,26 +318,27 @@ var BaseAPI = /** @class */ (function () {
|
|
|
314
318
|
axios.interceptors.response.use(function (res) {
|
|
315
319
|
return res;
|
|
316
320
|
}, function (err) { return __awaiter(_this, void 0, void 0, function () {
|
|
317
|
-
var originalConfig, tokenString, accessToken, _error_1, tokenString, accessToken, _error_2;
|
|
318
|
-
return __generator(this, function (
|
|
319
|
-
switch (
|
|
321
|
+
var originalConfig, _a, tokenString, permissions, accessToken, _error_1, _b, tokenString, permissions, accessToken, _error_2;
|
|
322
|
+
return __generator(this, function (_c) {
|
|
323
|
+
switch (_c.label) {
|
|
320
324
|
case 0:
|
|
321
325
|
originalConfig = err.config;
|
|
322
326
|
if (!err.response) return [3 /*break*/, 5];
|
|
323
327
|
if (!(err.response.status === 401 && !originalConfig._retry)) return [3 /*break*/, 4];
|
|
324
328
|
originalConfig._retry = true;
|
|
325
|
-
|
|
329
|
+
_c.label = 1;
|
|
326
330
|
case 1:
|
|
327
|
-
|
|
331
|
+
_c.trys.push([1, 3, , 4]);
|
|
328
332
|
return [4 /*yield*/, this.refreshTokenInternal()];
|
|
329
333
|
case 2:
|
|
330
|
-
|
|
334
|
+
_a = _c.sent(), tokenString = _a.accessToken, permissions = _a.permissions;
|
|
331
335
|
accessToken = "Bearer ".concat(tokenString);
|
|
336
|
+
this.permissions = permissions;
|
|
332
337
|
originalConfig.headers['Authorization'] = "Bearer ".concat(accessToken);
|
|
333
338
|
this.configuration.accessToken = accessToken;
|
|
334
339
|
return [2 /*return*/, axios.request(originalConfig)];
|
|
335
340
|
case 3:
|
|
336
|
-
_error_1 =
|
|
341
|
+
_error_1 = _c.sent();
|
|
337
342
|
if (_error_1.response && _error_1.response.data) {
|
|
338
343
|
return [2 /*return*/, Promise.reject(_error_1.response.data)];
|
|
339
344
|
}
|
|
@@ -349,19 +354,20 @@ var BaseAPI = /** @class */ (function () {
|
|
|
349
354
|
&& originalConfig.headers.hasOwnProperty('Authorization')
|
|
350
355
|
&& _retry_count < 4)) return [3 /*break*/, 9];
|
|
351
356
|
_retry_count++;
|
|
352
|
-
|
|
357
|
+
_c.label = 6;
|
|
353
358
|
case 6:
|
|
354
|
-
|
|
359
|
+
_c.trys.push([6, 8, , 9]);
|
|
355
360
|
return [4 /*yield*/, this.refreshTokenInternal()];
|
|
356
361
|
case 7:
|
|
357
|
-
|
|
362
|
+
_b = _c.sent(), tokenString = _b.accessToken, permissions = _b.permissions;
|
|
358
363
|
accessToken = "Bearer ".concat(tokenString);
|
|
364
|
+
this.permissions = permissions;
|
|
359
365
|
_retry = true;
|
|
360
366
|
originalConfig.headers['Authorization'] = accessToken;
|
|
361
367
|
this.configuration.accessToken = accessToken;
|
|
362
368
|
return [2 /*return*/, axios.request(__assign({}, originalConfig))];
|
|
363
369
|
case 8:
|
|
364
|
-
_error_2 =
|
|
370
|
+
_error_2 = _c.sent();
|
|
365
371
|
if (_error_2.response && _error_2.response.data) {
|
|
366
372
|
return [2 /*return*/, Promise.reject(_error_2.response.data)];
|
|
367
373
|
}
|