@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 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 ``.
@@ -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<string> {
144
+ async refreshTokenInternal(): Promise<LoginClass> {
139
145
  const { username } = this.configuration;
140
146
 
141
147
  if (!username) {
142
- return '';
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 { data: { accessToken } } = await globalAxios.request<LoginClass>(options);
161
+ const response = await globalAxios.request<LoginClass>(options);
156
162
 
157
- return accessToken;
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
- let tokenString = await this.refreshTokenInternal();
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
- let tokenString = await this.refreshTokenInternal();
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<string>;
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 (_a) {
150
- switch (_a.label) {
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 = _a.sent();
165
- accessToken = response.data.accessToken;
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, accessToken;
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
- return [2 /*return*/, ''];
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
- accessToken = (_a.sent()).data.accessToken;
198
- return [2 /*return*/, accessToken];
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 (_a) {
226
- switch (_a.label) {
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
- _a.label = 1;
238
+ _c.label = 1;
234
239
  case 1:
235
- _a.trys.push([1, 3, , 4]);
240
+ _c.trys.push([1, 3, , 4]);
236
241
  return [4 /*yield*/, this.refreshTokenInternal()];
237
242
  case 2:
238
- tokenString = _a.sent();
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 = _a.sent();
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
- _a.label = 6;
264
+ _c.label = 6;
259
265
  case 6:
260
- _a.trys.push([6, 8, , 9]);
266
+ _c.trys.push([6, 8, , 9]);
261
267
  return [4 /*yield*/, this.refreshTokenInternal()];
262
268
  case 7:
263
- tokenString = _a.sent();
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 = _a.sent();
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emilgroup/auth-sdk",
3
- "version": "1.13.0",
3
+ "version": "1.13.1-beta.0",
4
4
  "description": "OpenAPI client for @emilgroup/auth-sdk",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "keywords": [