@frontegg/rest-api 3.0.118 → 3.0.120

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/auth/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  export * from "./secutiry-poilicy";
2
2
  export * from "./enums";
3
3
  import { ISamlRolesGroup } from "../teams/interfaces";
4
- import { IAcceptInvitation, IActivateAccount, IAllowedToRememberMfaDevice, ICreateSamlGroup, IDeleteApiToken, IDisableMfa, IEnrollMfaResponse, IForgotPassword, IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse, IGetUserById, IGetUserPasswordConfig, ILogin, ILoginResponse, ILoginViaSocialLogin, ILoginViaSocialLoginResponse, ILoginWithMfa, IOidcPostLogin, IOidcConfiguration, IPostLogin, IPreLogin, IRecoverMFAToken, IResendActivationEmail, IResetPassword, ISamlConfiguration, ISamlVendorConfigResponse, ISignUpResponse, ISignUpUser, ISocialLoginProviderConfiguration, ITenantApiTokensData, IUpdateSamlConfiguration, IUpdateSamlGroup, IUpdateSamlRoles, IUpdateSamlVendorMetadata, IUpdateTenantApiTokensData, IUpdateUserApiTokensData, IUserApiTokensData, IUserIdResponse, IVendorConfig, IVerifyMfa, IVerifyMfaResponse, TestConfig, ISSOPublicConfiguration, IPreLoginWithIdpTypeResponse, IPasswordlessPreLogin, IPasswordlessPostLogin, ICreateSSODomain, IVerifyInviteToken, ISSODomain, ISSOConfigurationDefaultRoles, ISSOConfiguration, IUpdateSSOConfiguration, IOidcPostLoginV2, IExchangeOAuthTokens, IOAuthTokenResponse, ISocialLoginProviderConfigurationV2, ILoginResponseV2, IResetPhoneNumber, IVerifyResetPhoneNumber, IChangePhoneNumber, IVerifyResetPhoneNumberResponse, IResetPhoneNumberResponse, IWebAuthnPreLogin, IWebAuthnPostLogin, IVerifyNewWebAuthnDevice, IWebAuthnPreLoginResponse, ICreateNewDeviceSessionResponse, IAuthStrategiesConfig, ISessionResponse, IChangePhoneNumberWithVerification, IChangePhoneNumberWithVerificationResponse, IVerifyChangePhoneNumber, ISessionConfigurations, IResendInvitationEmail, IPreEnrollMFA, IEnrollMFAAuthenticatorApp, IPreEnrollMFASMS, IEnrollMFASMS, IEnrollMFAWebAuthn, IPreEnrollMFAAuthenticatorAppResponse, IPreEnrollMFAWebAuthnResponse, IVerifyMFAAuthenticatorApp, IPreVerifyMFA, IPreVerifyMFASMSResponse, IVerifyMFASMS, IPreVerifyMFAWebAuthnResponse, IVerifyMFAWebAuthn, IPreEnrollMFASMSResponse, IPreDisableMFASMSResponse, IDisableMFASMS, IDisableMFAWebAuthn, IPreDisableMFAWebAuthnResponse, UserMFADevicesResponse, WithoutMFAToken, IMFAStrategiesResponse, IOAuthLogout, IGetUserAccessTokens, IGetTenantAccessTokens, IDeleteAccessToken, ICreateTenantAccessTokenData, ICreateUserAccessTokenData, IWebAuthnDevices, ICustomSocialLoginProviderConfigurationV1 } from "./interfaces";
4
+ import { IAcceptInvitation, IActivateAccount, IAllowedToRememberMfaDevice, ICreateSamlGroup, IDeleteApiToken, IDisableMfa, IEnrollMfaResponse, IForgotPassword, IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse, IGetUserById, IGetUserPasswordConfig, ILogin, ILoginResponse, ILoginViaSocialLogin, ILoginViaSocialLoginResponse, ILoginWithMfa, IOidcPostLogin, IOidcConfiguration, IPostLogin, IPreLogin, IRecoverMFAToken, IResendActivationEmail, IResetPassword, ISamlConfiguration, ISamlVendorConfigResponse, ISignUpResponse, ISignUpUser, ISocialLoginProviderConfiguration, ITenantApiTokensData, IUpdateSamlConfiguration, IUpdateSamlGroup, IUpdateSamlRoles, IUpdateSamlVendorMetadata, IUpdateTenantApiTokensData, IUpdateUserApiTokensData, IUserApiTokensData, IUserIdResponse, IVendorConfig, IVerifyMfa, IVerifyMfaResponse, TestConfig, ISSOPublicConfiguration, IPreLoginWithIdpTypeResponse, IPasswordlessPreLogin, IPasswordlessPostLogin, ICreateSSODomain, IVerifyInviteToken, ISSODomain, ISSOConfigurationDefaultRoles, ISSOConfiguration, IUpdateSSOConfiguration, IOidcPostLoginV2, IExchangeOAuthTokens, IOAuthTokenResponse, ISocialLoginProviderConfigurationV2, ILoginResponseV2, IResetPhoneNumber, IVerifyResetPhoneNumber, IChangePhoneNumber, IVerifyResetPhoneNumberResponse, IResetPhoneNumberResponse, IWebAuthnPreLogin, IWebAuthnPostLogin, IVerifyNewWebAuthnDevice, IWebAuthnPreLoginResponse, ICreateNewDeviceSessionResponse, IAuthStrategiesConfig, ISessionResponse, IChangePhoneNumberWithVerification, IChangePhoneNumberWithVerificationResponse, IVerifyChangePhoneNumber, ISessionConfigurations, IResendInvitationEmail, IPreEnrollMFA, IEnrollMFAAuthenticatorApp, IPreEnrollMFASMS, IEnrollMFASMS, IEnrollMFAWebAuthn, IPreEnrollMFAAuthenticatorAppResponse, IPreEnrollMFAWebAuthnResponse, IVerifyMFAAuthenticatorApp, IPreVerifyMFA, IPreVerifyMFASMSResponse, IVerifyMFASMS, IPreVerifyMFAWebAuthnResponse, IVerifyMFAWebAuthn, IPreEnrollMFASMSResponse, IPreDisableMFASMSResponse, IDisableMFASMS, IDisableMFAWebAuthn, IPreDisableMFAWebAuthnResponse, UserMFADevicesResponse, WithoutMFAToken, IMFAStrategiesResponse, IOAuthLogout, IGetUserAccessTokens, IGetTenantAccessTokens, IDeleteAccessToken, ICreateTenantAccessTokenData, ICreateUserAccessTokenData, IWebAuthnDevices, ICustomSocialLoginProviderConfigurationV1, ILoginResponseV3 } from './interfaces';
5
5
  /*****************************************
6
6
  * Authentication
7
7
  *****************************************/
8
8
  export declare function generateLoginResponse(loginResponse: ILoginResponse): Promise<ILoginResponse>;
9
9
  export declare function generateLoginResponseV2(loginResponse: ILoginResponse): Promise<ILoginResponseV2>;
10
+ export declare function generateLoginResponseV3(loginResponse: ILoginResponse): Promise<ILoginResponseV3>;
10
11
  export declare function generateLoginResponseFromOAuthResponse(oauthResponse: IOAuthTokenResponse): Promise<ILoginResponse>;
11
12
  /**
12
13
  * Check if requested email address has sso configuration
@@ -90,6 +91,11 @@ export declare function refreshToken(): Promise<ILoginResponse>;
90
91
  * the server will return ILoginResponseV2 with new access Token and refresh token and store it in the browser cookies, as well as the tenants.
91
92
  */
92
93
  export declare function refreshTokenV2(): Promise<ILoginResponseV2>;
94
+ /**
95
+ * refresh token called as authenticated use, access and refresh tokens resolved by the cookies.
96
+ * the server will return ILoginResponseV3 with new access Token and refresh token and store it in the browser cookies, as well as the tenants and the active tenant.
97
+ */
98
+ export declare function refreshTokenV3(): Promise<ILoginResponseV3>;
93
99
  /**
94
100
  * logout from server, invalidate access and refresh token, remove it from cookies.
95
101
  */
package/auth/index.js CHANGED
@@ -9,6 +9,7 @@ import { urls } from "../constants";
9
9
  import { ContextHolder } from "../ContextHolder";
10
10
  import { Delete, Get, Patch, Post, Put } from "../fetch";
11
11
  import { jwtDecode } from "../jwt";
12
+ import { getCurrentUserTenantsV3 } from '../users';
12
13
  export async function generateLoginResponse(loginResponse) {
13
14
  if (!loginResponse.accessToken) {
14
15
  return loginResponse;
@@ -42,6 +43,26 @@ export async function generateLoginResponseV2(loginResponse) {
42
43
  tenants
43
44
  };
44
45
  }
46
+ export async function generateLoginResponseV3(loginResponse) {
47
+ if (!loginResponse.accessToken) {
48
+ return {
49
+ user: loginResponse
50
+ };
51
+ }
52
+
53
+ ContextHolder.setAccessToken(loginResponse.accessToken);
54
+ const [me, currentUserTenants] = await Promise.all([Get(`${urls.identity.users.v2}/me`), getCurrentUserTenantsV3()]);
55
+ const decodedContent = loginResponse.accessToken ? jwtDecode(loginResponse.accessToken) : {};
56
+
57
+ const user = _extends({}, loginResponse, decodedContent, me);
58
+
59
+ ContextHolder.setUser(user);
60
+ return {
61
+ user,
62
+ tenants: currentUserTenants.tenants,
63
+ activeTenant: currentUserTenants.activeTenant
64
+ };
65
+ }
45
66
  export async function generateLoginResponseFromOAuthResponse(oauthResponse) {
46
67
  ContextHolder.setAccessToken(oauthResponse.id_token);
47
68
  const me = await Get(`${urls.identity.users.v2}/me`);
@@ -110,6 +131,10 @@ export async function refreshTokenV2() {
110
131
  const data = await Post(`${urls.identity.auth.v1}/user/token/refresh`);
111
132
  return generateLoginResponseV2(data);
112
133
  }
134
+ export async function refreshTokenV3() {
135
+ const data = await Post(`${urls.identity.auth.v1}/user/token/refresh`);
136
+ return generateLoginResponseV3(data);
137
+ }
113
138
  export async function logout() {
114
139
  return Post(`${urls.identity.auth.v1}/logout`);
115
140
  }
@@ -48,6 +48,11 @@ export declare type ILoginResponseV2 = {
48
48
  user: ILoginResponse;
49
49
  tenants?: ITenantsResponse[];
50
50
  };
51
+ export declare type ILoginResponseV3 = {
52
+ user: ILoginResponse;
53
+ tenants?: ITenantsResponse[];
54
+ activeTenant?: ITenantsResponse;
55
+ };
51
56
  export declare type ILoginWithMfa = {
52
57
  mfaToken: string;
53
58
  value: string;
package/constants.d.ts CHANGED
@@ -15,6 +15,14 @@ export declare const urls: {
15
15
  roles: {
16
16
  v3: string;
17
17
  };
18
+ groups: {
19
+ v3: string;
20
+ };
21
+ tenants: {
22
+ me: {
23
+ v3: string;
24
+ };
25
+ };
18
26
  apiTokens: {
19
27
  v1: string;
20
28
  };
package/constants.js CHANGED
@@ -15,6 +15,14 @@ export const urls = {
15
15
  roles: {
16
16
  v3: '/identity/resources/users/v3/roles'
17
17
  },
18
+ groups: {
19
+ v3: '/identity/resources/users/v3/groups'
20
+ },
21
+ tenants: {
22
+ me: {
23
+ v3: '/identity/resources/users/v3/me/tenants'
24
+ }
25
+ },
18
26
  apiTokens: {
19
27
  v1: '/identity/resources/users/api-tokens/v1'
20
28
  },
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v3.0.118
1
+ /** @license Frontegg v3.0.120
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  var _exportNames = {
9
9
  generateLoginResponse: true,
10
10
  generateLoginResponseV2: true,
11
+ generateLoginResponseV3: true,
11
12
  generateLoginResponseFromOAuthResponse: true,
12
13
  preLogin: true,
13
14
  preLoginWithIdpType: true,
@@ -22,6 +23,7 @@ var _exportNames = {
22
23
  acceptInvitation: true,
23
24
  refreshToken: true,
24
25
  refreshTokenV2: true,
26
+ refreshTokenV3: true,
25
27
  logout: true,
26
28
  OAuthLogout: true,
27
29
  forgotPassword: true,
@@ -171,6 +173,7 @@ exports.forgotPassword = forgotPassword;
171
173
  exports.generateLoginResponse = generateLoginResponse;
172
174
  exports.generateLoginResponseFromOAuthResponse = generateLoginResponseFromOAuthResponse;
173
175
  exports.generateLoginResponseV2 = generateLoginResponseV2;
176
+ exports.generateLoginResponseV3 = generateLoginResponseV3;
174
177
  exports.getActivateAccountStrategy = getActivateAccountStrategy;
175
178
  exports.getCurrentUserSession = getCurrentUserSession;
176
179
  exports.getCurrentUserSessions = getCurrentUserSessions;
@@ -223,6 +226,7 @@ exports.preVerifyMFAWebAuthnForLogin = preVerifyMFAWebAuthnForLogin;
223
226
  exports.recoverMfaToken = recoverMfaToken;
224
227
  exports.refreshToken = refreshToken;
225
228
  exports.refreshTokenV2 = refreshTokenV2;
229
+ exports.refreshTokenV3 = refreshTokenV3;
226
230
  exports.resendActivationEmail = resendActivationEmail;
227
231
  exports.resendInvitationEmail = resendInvitationEmail;
228
232
  exports.resetPassword = resetPassword;
@@ -296,6 +300,8 @@ var _fetch = require("../fetch");
296
300
 
297
301
  var _jwt = require("../jwt");
298
302
 
303
+ var _users = require("../users");
304
+
299
305
  const _excluded = ["type"],
300
306
  _excluded2 = ["type"];
301
307
 
@@ -336,6 +342,28 @@ async function generateLoginResponseV2(loginResponse) {
336
342
  };
337
343
  }
338
344
 
345
+ async function generateLoginResponseV3(loginResponse) {
346
+ if (!loginResponse.accessToken) {
347
+ return {
348
+ user: loginResponse
349
+ };
350
+ }
351
+
352
+ _ContextHolder.ContextHolder.setAccessToken(loginResponse.accessToken);
353
+
354
+ const [me, currentUserTenants] = await Promise.all([(0, _fetch.Get)(`${_constants.urls.identity.users.v2}/me`), (0, _users.getCurrentUserTenantsV3)()]);
355
+ const decodedContent = loginResponse.accessToken ? (0, _jwt.jwtDecode)(loginResponse.accessToken) : {};
356
+ const user = (0, _extends2.default)({}, loginResponse, decodedContent, me);
357
+
358
+ _ContextHolder.ContextHolder.setUser(user);
359
+
360
+ return {
361
+ user,
362
+ tenants: currentUserTenants.tenants,
363
+ activeTenant: currentUserTenants.activeTenant
364
+ };
365
+ }
366
+
339
367
  async function generateLoginResponseFromOAuthResponse(oauthResponse) {
340
368
  _ContextHolder.ContextHolder.setAccessToken(oauthResponse.id_token);
341
369
 
@@ -419,6 +447,11 @@ async function refreshTokenV2() {
419
447
  return generateLoginResponseV2(data);
420
448
  }
421
449
 
450
+ async function refreshTokenV3() {
451
+ const data = await (0, _fetch.Post)(`${_constants.urls.identity.auth.v1}/user/token/refresh`);
452
+ return generateLoginResponseV3(data);
453
+ }
454
+
422
455
  async function logout() {
423
456
  return (0, _fetch.Post)(`${_constants.urls.identity.auth.v1}/logout`);
424
457
  }
package/node/constants.js CHANGED
@@ -21,6 +21,14 @@ const urls = {
21
21
  roles: {
22
22
  v3: '/identity/resources/users/v3/roles'
23
23
  },
24
+ groups: {
25
+ v3: '/identity/resources/users/v3/groups'
26
+ },
27
+ tenants: {
28
+ me: {
29
+ v3: '/identity/resources/users/v3/me/tenants'
30
+ }
31
+ },
24
32
  apiTokens: {
25
33
  v1: '/identity/resources/users/api-tokens/v1'
26
34
  },
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v3.0.118
1
+ /** @license Frontegg v3.0.120
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.GetUserJwt = GetUserJwt;
9
+ exports.getCurrentUserTenantsV3 = getCurrentUserTenantsV3;
10
+ exports.getUsersGroups = getUsersGroups;
9
11
  exports.getUsersRoles = getUsersRoles;
10
12
  exports.getUsersV3 = getUsersV3;
11
13
 
@@ -31,4 +33,18 @@ async function getUsersRoles(queryParams, options) {
31
33
  }), {
32
34
  headers: (0, _fetch.extractHeadersFromOptions)(options)
33
35
  });
36
+ }
37
+
38
+ async function getUsersGroups(queryParams, options) {
39
+ return (0, _fetch.Get)(_constants.urls.identity.users.groups.v3, (0, _extends2.default)({}, queryParams, {
40
+ ids: queryParams.ids.join(",")
41
+ }), {
42
+ headers: (0, _fetch.extractHeadersFromOptions)(options)
43
+ });
44
+ }
45
+
46
+ async function getCurrentUserTenantsV3(options) {
47
+ return (0, _fetch.Get)(_constants.urls.identity.users.tenants.me.v3, {
48
+ headers: (0, _fetch.extractHeadersFromOptions)(options)
49
+ });
34
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontegg/rest-api",
3
- "version": "3.0.118",
3
+ "version": "3.0.120",
4
4
  "main": "./node/index.js",
5
5
  "license": "MIT",
6
6
  "dependencies": {
package/users/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- import { GetUserJwtRequestDto, GetUserJwtResponseDto, GetUserRolesResponse, GetUsersRolesParams, ISearchUserQueryParamsV3, IUsersV3Data } from "./interfaces";
1
+ import { GetCurrentUserTenantsResponse, GetUserGroupsParams, GetUserGroupsResponse, GetUserJwtRequestDto, GetUserJwtResponseDto, GetUserRolesResponse, GetUsersRolesParams, ISearchUserQueryParamsV3, IUsersV3Data } from "./interfaces";
2
2
  import { FronteggPaginationWrapper, UserJwtOptions } from "../interfaces";
3
3
  export declare function GetUserJwt(body: GetUserJwtRequestDto): Promise<GetUserJwtResponseDto>;
4
4
  export declare function getUsersV3(queryParams: ISearchUserQueryParamsV3, options?: UserJwtOptions): Promise<FronteggPaginationWrapper<IUsersV3Data>>;
5
5
  export declare function getUsersRoles(queryParams: GetUsersRolesParams, options?: UserJwtOptions): Promise<GetUserRolesResponse[]>;
6
+ export declare function getUsersGroups(queryParams: GetUserGroupsParams, options?: UserJwtOptions): Promise<GetUserGroupsResponse[]>;
7
+ export declare function getCurrentUserTenantsV3(options?: UserJwtOptions): Promise<GetCurrentUserTenantsResponse>;
package/users/index.js CHANGED
@@ -15,4 +15,16 @@ export async function getUsersRoles(queryParams, options) {
15
15
  }), {
16
16
  headers: extractHeadersFromOptions(options)
17
17
  });
18
+ }
19
+ export async function getUsersGroups(queryParams, options) {
20
+ return Get(urls.identity.users.groups.v3, _extends({}, queryParams, {
21
+ ids: queryParams.ids.join(",")
22
+ }), {
23
+ headers: extractHeadersFromOptions(options)
24
+ });
25
+ }
26
+ export async function getCurrentUserTenantsV3(options) {
27
+ return Get(urls.identity.users.tenants.me.v3, {
28
+ headers: extractHeadersFromOptions(options)
29
+ });
18
30
  }
@@ -1,4 +1,5 @@
1
1
  import { PaginationOrderEnum } from '../interfaces';
2
+ import { ITenantsResponse } from '../tenants/interfaces';
2
3
  export declare enum SortByEnum {
3
4
  createdAt = "createdAt",
4
5
  name = "name",
@@ -60,3 +61,16 @@ export interface GetUserRolesResponse {
60
61
  userId: string;
61
62
  roleIds: string[];
62
63
  }
64
+ export interface GetUserGroupsParams {
65
+ ids: string[];
66
+ }
67
+ export interface GetUserGroupsResponse {
68
+ vendorId: string;
69
+ tenantId: string;
70
+ userId: string;
71
+ groupIds: string[];
72
+ }
73
+ export interface GetCurrentUserTenantsResponse {
74
+ tenants: ITenantsResponse[];
75
+ activeTenant: ITenantsResponse;
76
+ }