@emilgroup/auth-sdk 1.13.0 → 1.13.1-beta.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 +58 -0
- package/base.ts +15 -7
- package/dist/api/authservice-api.d.ts +25 -0
- package/dist/api/authservice-api.js +65 -0
- package/dist/base.d.ts +3 -1
- package/dist/base.js +27 -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@1.13.0 --save
|
|
20
|
+
npm install @emilgroup/auth-sdk@1.13.1-beta.0 --save
|
|
21
21
|
```
|
|
22
22
|
or
|
|
23
23
|
```
|
|
24
|
-
yarn add @emilgroup/auth-sdk@1.13.0
|
|
24
|
+
yarn add @emilgroup/auth-sdk@1.13.1-beta.0
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
And then you can import ``.
|
package/api/authservice-api.ts
CHANGED
|
@@ -164,6 +164,37 @@ export const AuthserviceApiAxiosParamCreator = function (configuration?: Configu
|
|
|
164
164
|
options: localVarRequestOptions,
|
|
165
165
|
};
|
|
166
166
|
},
|
|
167
|
+
/**
|
|
168
|
+
*
|
|
169
|
+
* @param {*} [options] Override http request option.
|
|
170
|
+
* @throws {RequiredError}
|
|
171
|
+
*/
|
|
172
|
+
generateReadmeToken: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
173
|
+
const localVarPath = `/authservice/v1/readme-token`;
|
|
174
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
175
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
176
|
+
let baseOptions;
|
|
177
|
+
let baseAccessToken;
|
|
178
|
+
if (configuration) {
|
|
179
|
+
baseOptions = configuration.baseOptions;
|
|
180
|
+
baseAccessToken = configuration.accessToken;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
184
|
+
const localVarHeaderParameter = {} as any;
|
|
185
|
+
const localVarQueryParameter = {} as any;
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
190
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
191
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
192
|
+
|
|
193
|
+
return {
|
|
194
|
+
url: toPathString(localVarUrlObj),
|
|
195
|
+
options: localVarRequestOptions,
|
|
196
|
+
};
|
|
197
|
+
},
|
|
167
198
|
/**
|
|
168
199
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
169
200
|
* @summary Get SAML login link for tenant
|
|
@@ -558,6 +589,15 @@ export const AuthserviceApiFp = function(configuration?: Configuration) {
|
|
|
558
589
|
const localVarAxiosArgs = await localVarAxiosParamCreator.forgotPassword(forgotPasswordRequestDto, options);
|
|
559
590
|
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
560
591
|
},
|
|
592
|
+
/**
|
|
593
|
+
*
|
|
594
|
+
* @param {*} [options] Override http request option.
|
|
595
|
+
* @throws {RequiredError}
|
|
596
|
+
*/
|
|
597
|
+
async generateReadmeToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
|
|
598
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.generateReadmeToken(options);
|
|
599
|
+
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
600
|
+
},
|
|
561
601
|
/**
|
|
562
602
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
563
603
|
* @summary Get SAML login link for tenant
|
|
@@ -698,6 +738,14 @@ export const AuthserviceApiFactory = function (configuration?: Configuration, ba
|
|
|
698
738
|
forgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, options?: any): AxiosPromise<void> {
|
|
699
739
|
return localVarFp.forgotPassword(forgotPasswordRequestDto, options).then((request) => request(axios, basePath));
|
|
700
740
|
},
|
|
741
|
+
/**
|
|
742
|
+
*
|
|
743
|
+
* @param {*} [options] Override http request option.
|
|
744
|
+
* @throws {RequiredError}
|
|
745
|
+
*/
|
|
746
|
+
generateReadmeToken(options?: any): AxiosPromise<void> {
|
|
747
|
+
return localVarFp.generateReadmeToken(options).then((request) => request(axios, basePath));
|
|
748
|
+
},
|
|
701
749
|
/**
|
|
702
750
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
703
751
|
* @summary Get SAML login link for tenant
|
|
@@ -1010,6 +1058,16 @@ export class AuthserviceApi extends BaseAPI {
|
|
|
1010
1058
|
return AuthserviceApiFp(this.configuration).forgotPassword(requestParameters.forgotPasswordRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
1011
1059
|
}
|
|
1012
1060
|
|
|
1061
|
+
/**
|
|
1062
|
+
*
|
|
1063
|
+
* @param {*} [options] Override http request option.
|
|
1064
|
+
* @throws {RequiredError}
|
|
1065
|
+
* @memberof AuthserviceApi
|
|
1066
|
+
*/
|
|
1067
|
+
public generateReadmeToken(options?: AxiosRequestConfig) {
|
|
1068
|
+
return AuthserviceApiFp(this.configuration).generateReadmeToken(options).then((request) => request(this.axios, this.basePath));
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1013
1071
|
/**
|
|
1014
1072
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
1015
1073
|
* @summary Get SAML login link for tenant
|
package/base.ts
CHANGED
|
@@ -77,6 +77,7 @@ const TOKEN_DATA = 'APP_TOKEN';
|
|
|
77
77
|
export class BaseAPI {
|
|
78
78
|
protected configuration: Configuration | undefined;
|
|
79
79
|
private tokenData?: TokenData;
|
|
80
|
+
private permissions: Array<string> = [];
|
|
80
81
|
|
|
81
82
|
constructor(configuration?: Configuration,
|
|
82
83
|
protected basePath: string = BASE_PATH,
|
|
@@ -109,6 +110,10 @@ export class BaseAPI {
|
|
|
109
110
|
this.configuration.basePath = path;
|
|
110
111
|
}
|
|
111
112
|
|
|
113
|
+
getPermissions(): Array<string> {
|
|
114
|
+
return this.permissions;
|
|
115
|
+
}
|
|
116
|
+
|
|
112
117
|
async authorize(username: string, password: string): Promise<void> {
|
|
113
118
|
const options: AxiosRequestConfig = {
|
|
114
119
|
method: 'POST',
|
|
@@ -123,23 +128,24 @@ export class BaseAPI {
|
|
|
123
128
|
|
|
124
129
|
const response = await globalAxios.request<LoginClass>(options);
|
|
125
130
|
|
|
126
|
-
const { data: { accessToken } } = response;
|
|
131
|
+
const { data: { accessToken, permissions } } = response;
|
|
127
132
|
|
|
128
133
|
this.configuration.username = username;
|
|
129
134
|
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
130
135
|
this.tokenData.username = username;
|
|
131
136
|
this.tokenData.accessToken = accessToken;
|
|
137
|
+
this.permissions = permissions;
|
|
132
138
|
|
|
133
139
|
this.storeTokenData({
|
|
134
140
|
...this.tokenData
|
|
135
141
|
});
|
|
136
142
|
}
|
|
137
143
|
|
|
138
|
-
async refreshTokenInternal(): Promise<
|
|
144
|
+
async refreshTokenInternal(): Promise<LoginClass> {
|
|
139
145
|
const { username } = this.configuration;
|
|
140
146
|
|
|
141
147
|
if (!username) {
|
|
142
|
-
|
|
148
|
+
throw new Error('Failed to refresh token.');
|
|
143
149
|
}
|
|
144
150
|
|
|
145
151
|
const options: AxiosRequestConfig = {
|
|
@@ -152,9 +158,9 @@ export class BaseAPI {
|
|
|
152
158
|
withCredentials: true,
|
|
153
159
|
};
|
|
154
160
|
|
|
155
|
-
const
|
|
161
|
+
const response = await globalAxios.request<LoginClass>(options);
|
|
156
162
|
|
|
157
|
-
return
|
|
163
|
+
return response.data;
|
|
158
164
|
}
|
|
159
165
|
|
|
160
166
|
private storeTokenData(tokenData?: TokenData) {
|
|
@@ -188,8 +194,9 @@ export class BaseAPI {
|
|
|
188
194
|
&& !originalConfig._retry) {
|
|
189
195
|
originalConfig._retry = true;
|
|
190
196
|
try {
|
|
191
|
-
|
|
197
|
+
const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
|
|
192
198
|
const accessToken = `Bearer ${tokenString}`;
|
|
199
|
+
this.permissions = permissions;
|
|
193
200
|
|
|
194
201
|
delete originalConfig.headers['Authorization']
|
|
195
202
|
|
|
@@ -214,8 +221,9 @@ export class BaseAPI {
|
|
|
214
221
|
) {
|
|
215
222
|
_retry_count++;
|
|
216
223
|
try {
|
|
217
|
-
|
|
224
|
+
const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
|
|
218
225
|
const accessToken = `Bearer ${tokenString}`;
|
|
226
|
+
this.permissions = permissions;
|
|
219
227
|
|
|
220
228
|
_retry = true;
|
|
221
229
|
originalConfig.headers['Authorization'] = accessToken;
|
|
@@ -53,6 +53,12 @@ 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>;
|
|
56
62
|
/**
|
|
57
63
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
58
64
|
* @summary Get SAML login link for tenant
|
|
@@ -156,6 +162,12 @@ export declare const AuthserviceApiFp: (configuration?: Configuration) => {
|
|
|
156
162
|
* @throws {RequiredError}
|
|
157
163
|
*/
|
|
158
164
|
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>>;
|
|
159
171
|
/**
|
|
160
172
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
161
173
|
* @summary Get SAML login link for tenant
|
|
@@ -259,6 +271,12 @@ export declare const AuthserviceApiFactory: (configuration?: Configuration, base
|
|
|
259
271
|
* @throws {RequiredError}
|
|
260
272
|
*/
|
|
261
273
|
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>;
|
|
262
280
|
/**
|
|
263
281
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
264
282
|
* @summary Get SAML login link for tenant
|
|
@@ -529,6 +547,13 @@ export declare class AuthserviceApi extends BaseAPI {
|
|
|
529
547
|
* @memberof AuthserviceApi
|
|
530
548
|
*/
|
|
531
549
|
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>>;
|
|
532
557
|
/**
|
|
533
558
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
534
559
|
* @summary Get SAML login link for tenant
|
|
@@ -197,6 +197,35 @@ var AuthserviceApiAxiosParamCreator = function (configuration) {
|
|
|
197
197
|
});
|
|
198
198
|
});
|
|
199
199
|
},
|
|
200
|
+
/**
|
|
201
|
+
*
|
|
202
|
+
* @param {*} [options] Override http request option.
|
|
203
|
+
* @throws {RequiredError}
|
|
204
|
+
*/
|
|
205
|
+
generateReadmeToken: function (options) {
|
|
206
|
+
if (options === void 0) { options = {}; }
|
|
207
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
208
|
+
var localVarPath, localVarUrlObj, baseOptions, baseAccessToken, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
|
|
209
|
+
return __generator(this, function (_a) {
|
|
210
|
+
localVarPath = "/authservice/v1/readme-token";
|
|
211
|
+
localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
|
|
212
|
+
if (configuration) {
|
|
213
|
+
baseOptions = configuration.baseOptions;
|
|
214
|
+
baseAccessToken = configuration.accessToken;
|
|
215
|
+
}
|
|
216
|
+
localVarRequestOptions = __assign(__assign({ method: 'POST' }, baseOptions), options);
|
|
217
|
+
localVarHeaderParameter = {};
|
|
218
|
+
localVarQueryParameter = {};
|
|
219
|
+
(0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
|
|
220
|
+
headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
221
|
+
localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
|
|
222
|
+
return [2 /*return*/, {
|
|
223
|
+
url: (0, common_1.toPathString)(localVarUrlObj),
|
|
224
|
+
options: localVarRequestOptions,
|
|
225
|
+
}];
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
},
|
|
200
229
|
/**
|
|
201
230
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
202
231
|
* @summary Get SAML login link for tenant
|
|
@@ -590,6 +619,24 @@ var AuthserviceApiFp = function (configuration) {
|
|
|
590
619
|
});
|
|
591
620
|
});
|
|
592
621
|
},
|
|
622
|
+
/**
|
|
623
|
+
*
|
|
624
|
+
* @param {*} [options] Override http request option.
|
|
625
|
+
* @throws {RequiredError}
|
|
626
|
+
*/
|
|
627
|
+
generateReadmeToken: function (options) {
|
|
628
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
629
|
+
var localVarAxiosArgs;
|
|
630
|
+
return __generator(this, function (_a) {
|
|
631
|
+
switch (_a.label) {
|
|
632
|
+
case 0: return [4 /*yield*/, localVarAxiosParamCreator.generateReadmeToken(options)];
|
|
633
|
+
case 1:
|
|
634
|
+
localVarAxiosArgs = _a.sent();
|
|
635
|
+
return [2 /*return*/, (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
});
|
|
639
|
+
},
|
|
593
640
|
/**
|
|
594
641
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
595
642
|
* @summary Get SAML login link for tenant
|
|
@@ -811,6 +858,14 @@ var AuthserviceApiFactory = function (configuration, basePath, axios) {
|
|
|
811
858
|
forgotPassword: function (forgotPasswordRequestDto, options) {
|
|
812
859
|
return localVarFp.forgotPassword(forgotPasswordRequestDto, options).then(function (request) { return request(axios, basePath); });
|
|
813
860
|
},
|
|
861
|
+
/**
|
|
862
|
+
*
|
|
863
|
+
* @param {*} [options] Override http request option.
|
|
864
|
+
* @throws {RequiredError}
|
|
865
|
+
*/
|
|
866
|
+
generateReadmeToken: function (options) {
|
|
867
|
+
return localVarFp.generateReadmeToken(options).then(function (request) { return request(axios, basePath); });
|
|
868
|
+
},
|
|
814
869
|
/**
|
|
815
870
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
816
871
|
* @summary Get SAML login link for tenant
|
|
@@ -952,6 +1007,16 @@ var AuthserviceApi = /** @class */ (function (_super) {
|
|
|
952
1007
|
var _this = this;
|
|
953
1008
|
return (0, exports.AuthserviceApiFp)(this.configuration).forgotPassword(requestParameters.forgotPasswordRequestDto, options).then(function (request) { return request(_this.axios, _this.basePath); });
|
|
954
1009
|
};
|
|
1010
|
+
/**
|
|
1011
|
+
*
|
|
1012
|
+
* @param {*} [options] Override http request option.
|
|
1013
|
+
* @throws {RequiredError}
|
|
1014
|
+
* @memberof AuthserviceApi
|
|
1015
|
+
*/
|
|
1016
|
+
AuthserviceApi.prototype.generateReadmeToken = function (options) {
|
|
1017
|
+
var _this = this;
|
|
1018
|
+
return (0, exports.AuthserviceApiFp)(this.configuration).generateReadmeToken(options).then(function (request) { return request(_this.axios, _this.basePath); });
|
|
1019
|
+
};
|
|
955
1020
|
/**
|
|
956
1021
|
* Get SAML login link configured for the tenant in cognito as well as tenant settings
|
|
957
1022
|
* @summary Get SAML login link for tenant
|
package/dist/base.d.ts
CHANGED
|
@@ -52,11 +52,13 @@ export declare class BaseAPI {
|
|
|
52
52
|
protected axios: AxiosInstance;
|
|
53
53
|
protected configuration: Configuration | undefined;
|
|
54
54
|
private tokenData?;
|
|
55
|
+
private permissions;
|
|
55
56
|
constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
|
|
56
57
|
selectEnvironment(env: Environment): void;
|
|
57
58
|
selectBasePath(path: string): void;
|
|
59
|
+
getPermissions(): Array<string>;
|
|
58
60
|
authorize(username: string, password: string): Promise<void>;
|
|
59
|
-
refreshTokenInternal(): Promise<
|
|
61
|
+
refreshTokenInternal(): Promise<LoginClass>;
|
|
60
62
|
private storeTokenData;
|
|
61
63
|
loadTokenData(): void;
|
|
62
64
|
cleanTokenData(): void;
|
package/dist/base.js
CHANGED
|
@@ -121,6 +121,7 @@ var BaseAPI = /** @class */ (function () {
|
|
|
121
121
|
if (axios === void 0) { axios = axios_1.default; }
|
|
122
122
|
this.basePath = basePath;
|
|
123
123
|
this.axios = axios;
|
|
124
|
+
this.permissions = [];
|
|
124
125
|
this.loadTokenData();
|
|
125
126
|
if (configuration) {
|
|
126
127
|
this.configuration = configuration;
|
|
@@ -143,11 +144,14 @@ var BaseAPI = /** @class */ (function () {
|
|
|
143
144
|
BaseAPI.prototype.selectBasePath = function (path) {
|
|
144
145
|
this.configuration.basePath = path;
|
|
145
146
|
};
|
|
147
|
+
BaseAPI.prototype.getPermissions = function () {
|
|
148
|
+
return this.permissions;
|
|
149
|
+
};
|
|
146
150
|
BaseAPI.prototype.authorize = function (username, password) {
|
|
147
151
|
return __awaiter(this, void 0, void 0, function () {
|
|
148
|
-
var options, response, accessToken;
|
|
149
|
-
return __generator(this, function (
|
|
150
|
-
switch (
|
|
152
|
+
var options, response, _a, accessToken, permissions;
|
|
153
|
+
return __generator(this, function (_b) {
|
|
154
|
+
switch (_b.label) {
|
|
151
155
|
case 0:
|
|
152
156
|
options = {
|
|
153
157
|
method: 'POST',
|
|
@@ -161,12 +165,13 @@ var BaseAPI = /** @class */ (function () {
|
|
|
161
165
|
};
|
|
162
166
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
163
167
|
case 1:
|
|
164
|
-
response =
|
|
165
|
-
|
|
168
|
+
response = _b.sent();
|
|
169
|
+
_a = response.data, accessToken = _a.accessToken, permissions = _a.permissions;
|
|
166
170
|
this.configuration.username = username;
|
|
167
171
|
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
168
172
|
this.tokenData.username = username;
|
|
169
173
|
this.tokenData.accessToken = accessToken;
|
|
174
|
+
this.permissions = permissions;
|
|
170
175
|
this.storeTokenData(__assign({}, this.tokenData));
|
|
171
176
|
return [2 /*return*/];
|
|
172
177
|
}
|
|
@@ -175,13 +180,13 @@ var BaseAPI = /** @class */ (function () {
|
|
|
175
180
|
};
|
|
176
181
|
BaseAPI.prototype.refreshTokenInternal = function () {
|
|
177
182
|
return __awaiter(this, void 0, void 0, function () {
|
|
178
|
-
var username, options,
|
|
183
|
+
var username, options, response;
|
|
179
184
|
return __generator(this, function (_a) {
|
|
180
185
|
switch (_a.label) {
|
|
181
186
|
case 0:
|
|
182
187
|
username = this.configuration.username;
|
|
183
188
|
if (!username) {
|
|
184
|
-
|
|
189
|
+
throw new Error('Failed to refresh token.');
|
|
185
190
|
}
|
|
186
191
|
options = {
|
|
187
192
|
method: 'POST',
|
|
@@ -194,8 +199,8 @@ var BaseAPI = /** @class */ (function () {
|
|
|
194
199
|
};
|
|
195
200
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
196
201
|
case 1:
|
|
197
|
-
|
|
198
|
-
return [2 /*return*/,
|
|
202
|
+
response = _a.sent();
|
|
203
|
+
return [2 /*return*/, response.data];
|
|
199
204
|
}
|
|
200
205
|
});
|
|
201
206
|
});
|
|
@@ -221,22 +226,23 @@ var BaseAPI = /** @class */ (function () {
|
|
|
221
226
|
axios.interceptors.response.use(function (res) {
|
|
222
227
|
return res;
|
|
223
228
|
}, function (err) { return __awaiter(_this, void 0, void 0, function () {
|
|
224
|
-
var originalConfig, tokenString, accessToken, _error_1, tokenString, accessToken, _error_2;
|
|
225
|
-
return __generator(this, function (
|
|
226
|
-
switch (
|
|
229
|
+
var originalConfig, _a, tokenString, permissions, accessToken, _error_1, _b, tokenString, permissions, accessToken, _error_2;
|
|
230
|
+
return __generator(this, function (_c) {
|
|
231
|
+
switch (_c.label) {
|
|
227
232
|
case 0:
|
|
228
233
|
originalConfig = err.config;
|
|
229
234
|
if (!(err.response && !(err.response instanceof XMLHttpRequest))) return [3 /*break*/, 5];
|
|
230
235
|
if (!((err.response.status === 401 || err.response.status === 403)
|
|
231
236
|
&& !originalConfig._retry)) return [3 /*break*/, 4];
|
|
232
237
|
originalConfig._retry = true;
|
|
233
|
-
|
|
238
|
+
_c.label = 1;
|
|
234
239
|
case 1:
|
|
235
|
-
|
|
240
|
+
_c.trys.push([1, 3, , 4]);
|
|
236
241
|
return [4 /*yield*/, this.refreshTokenInternal()];
|
|
237
242
|
case 2:
|
|
238
|
-
|
|
243
|
+
_a = _c.sent(), tokenString = _a.accessToken, permissions = _a.permissions;
|
|
239
244
|
accessToken = "Bearer ".concat(tokenString);
|
|
245
|
+
this.permissions = permissions;
|
|
240
246
|
delete originalConfig.headers['Authorization'];
|
|
241
247
|
originalConfig.headers['Authorization'] = accessToken;
|
|
242
248
|
this.configuration.accessToken = accessToken;
|
|
@@ -244,7 +250,7 @@ var BaseAPI = /** @class */ (function () {
|
|
|
244
250
|
this.storeTokenData(this.tokenData);
|
|
245
251
|
return [2 /*return*/, axios(originalConfig)];
|
|
246
252
|
case 3:
|
|
247
|
-
_error_1 =
|
|
253
|
+
_error_1 = _c.sent();
|
|
248
254
|
if (_error_1.response && _error_1.response.data) {
|
|
249
255
|
return [2 /*return*/, Promise.reject(_error_1.response.data)];
|
|
250
256
|
}
|
|
@@ -255,13 +261,14 @@ var BaseAPI = /** @class */ (function () {
|
|
|
255
261
|
&& originalConfig.headers.hasOwnProperty('Authorization')
|
|
256
262
|
&& _retry_count < 4)) return [3 /*break*/, 9];
|
|
257
263
|
_retry_count++;
|
|
258
|
-
|
|
264
|
+
_c.label = 6;
|
|
259
265
|
case 6:
|
|
260
|
-
|
|
266
|
+
_c.trys.push([6, 8, , 9]);
|
|
261
267
|
return [4 /*yield*/, this.refreshTokenInternal()];
|
|
262
268
|
case 7:
|
|
263
|
-
|
|
269
|
+
_b = _c.sent(), tokenString = _b.accessToken, permissions = _b.permissions;
|
|
264
270
|
accessToken = "Bearer ".concat(tokenString);
|
|
271
|
+
this.permissions = permissions;
|
|
265
272
|
_retry = true;
|
|
266
273
|
originalConfig.headers['Authorization'] = accessToken;
|
|
267
274
|
this.configuration.accessToken = accessToken;
|
|
@@ -269,7 +276,7 @@ var BaseAPI = /** @class */ (function () {
|
|
|
269
276
|
this.storeTokenData(this.tokenData);
|
|
270
277
|
return [2 /*return*/, axios.request(__assign({}, originalConfig))];
|
|
271
278
|
case 8:
|
|
272
|
-
_error_2 =
|
|
279
|
+
_error_2 = _c.sent();
|
|
273
280
|
if (_error_2.response && _error_2.response.data) {
|
|
274
281
|
return [2 /*return*/, Promise.reject(_error_2.response.data)];
|
|
275
282
|
}
|