@wazo/sdk 0.43.1 → 0.43.2

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.
@@ -135,6 +135,26 @@ describe('With correct API results', () => {
135
135
  });
136
136
  });
137
137
  });
138
+ describe('initiateIdpAuthentication', () => {
139
+ it('should make a request to obtain an identity provider URL to redirect to', async () => {
140
+ const domain = 'example.com';
141
+ const redirectUrl = 'https://myapp.xyz';
142
+ await client.auth.initiateIdpAuthentication(domain, redirectUrl);
143
+ expect(global.fetch).toBeCalledWith(`https://${server}/api/auth/${authVersion}/saml/sso`, {
144
+ method: 'post',
145
+ body: JSON.stringify({
146
+ domain,
147
+ redirect_url: redirectUrl,
148
+ }),
149
+ signal: expect.any(Object),
150
+ headers: {
151
+ 'Content-Type': 'application/json',
152
+ Accept: 'application/json',
153
+ },
154
+ agent: null,
155
+ });
156
+ });
157
+ });
138
158
  describe('With unAuthorized API results', () => {
139
159
  beforeEach(() => {
140
160
  jest.resetModules();
package/esm/api/auth.js CHANGED
@@ -38,6 +38,17 @@ export default ((client, baseUrl) => ({
38
38
  };
39
39
  return client.post(`${baseUrl}/token`, body).then(Session.parse);
40
40
  },
41
+ initiateIdpAuthentication: async (domain, redirectUrl) => {
42
+ const body = {
43
+ domain,
44
+ redirect_url: redirectUrl,
45
+ };
46
+ const headers = {
47
+ Accept: 'application/json',
48
+ 'Content-Type': 'application/json',
49
+ };
50
+ return client.post(`${baseUrl}/saml/sso`, body, headers, (response) => response);
51
+ },
41
52
  refreshToken: (refreshToken, backend, expiration, isMobile, tenantId, domainName) => {
42
53
  const body = {
43
54
  backend: backend || DEFAULT_BACKEND_USER,
@@ -12,6 +12,8 @@ export class NoTenantIdError extends Error {
12
12
  }
13
13
  export class NoDomainNameError extends Error {
14
14
  }
15
+ export class NoSamlRouteError extends Error {
16
+ }
15
17
  const logger = IssueReporter.loggerFor('simple-auth');
16
18
  export class Auth {
17
19
  clientId;
@@ -117,6 +119,24 @@ export class Auth {
117
119
  const rawSession = await getApiClient().auth.samlLogIn(samlSessionId);
118
120
  return this._onAuthenticated(rawSession);
119
121
  }
122
+ async initiateIdpAuthentication(domain, redirectUrl) {
123
+ let response;
124
+ try {
125
+ response = await getApiClient().auth.initiateIdpAuthentication(domain, redirectUrl);
126
+ }
127
+ catch (e) {
128
+ logger.error('Error during IdP authentication initiation:', e.message);
129
+ return;
130
+ }
131
+ if (!response.ok) {
132
+ if (response.status === 404) {
133
+ throw new NoSamlRouteError('No route found for saml sso');
134
+ }
135
+ const error = await response.json();
136
+ throw new Error(error.message || error.reason);
137
+ }
138
+ return response.json();
139
+ }
120
140
  async logInViaRefreshToken(refreshToken) {
121
141
  const rawSession = await getApiClient().auth.refreshToken(refreshToken, '', this.expiration, this.mobile);
122
142
  return this._onAuthenticated(rawSession);
@@ -108,4 +108,69 @@ describe('simple/Auth', () => {
108
108
  expect(Auth.onSetUsingEdgeServer).toHaveBeenCalledWith(false);
109
109
  });
110
110
  });
111
+ describe('initiateIdpAuthentication', () => {
112
+ const validResponse = { location: 'idp.com/auth', saml_session_id: 'a1b2C3d4' };
113
+ it('should return a `location` and `saml_session_id` if the response is ok', async () => {
114
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
115
+ ok: true,
116
+ status: 303,
117
+ json: () => Promise.resolve(validResponse),
118
+ }));
119
+ getApiClient.mockImplementation(() => ({
120
+ auth: {
121
+ initiateIdpAuthentication,
122
+ },
123
+ }));
124
+ const response = await Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz');
125
+ expect(response).toBe(validResponse);
126
+ });
127
+ it('should return a `NoSamlRouteError` if the response is a 404', async () => {
128
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
129
+ ok: false,
130
+ status: 404,
131
+ }));
132
+ getApiClient.mockImplementation(() => ({
133
+ auth: {
134
+ initiateIdpAuthentication,
135
+ },
136
+ }));
137
+ await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('No route found for saml sso');
138
+ });
139
+ it('should return an error `message` if the response is NOT ok', async () => {
140
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
141
+ ok: false,
142
+ json: () => Promise.resolve({ message: 'an error message', reason: 'an error reason' }),
143
+ }));
144
+ getApiClient.mockImplementation(() => ({
145
+ auth: {
146
+ initiateIdpAuthentication,
147
+ },
148
+ }));
149
+ await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('an error message');
150
+ });
151
+ it('should return an error `reason` if there is no `message` and the response is NOT ok', async () => {
152
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
153
+ ok: false,
154
+ json: () => Promise.resolve({ reason: 'an error reason' }),
155
+ }));
156
+ getApiClient.mockImplementation(() => ({
157
+ auth: {
158
+ initiateIdpAuthentication,
159
+ },
160
+ }));
161
+ await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('an error reason');
162
+ });
163
+ it('should return an error with a null message if there is no `message` and `reason`', async () => {
164
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
165
+ ok: false,
166
+ json: () => Promise.resolve({}),
167
+ }));
168
+ getApiClient.mockImplementation(() => ({
169
+ auth: {
170
+ initiateIdpAuthentication,
171
+ },
172
+ }));
173
+ await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('');
174
+ });
175
+ });
111
176
  });
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable import/no-named-as-default */
2
2
  /* global window */
3
- import Auth, { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError } from './Auth';
3
+ import Auth, { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
4
4
  import Phone from './Phone';
5
5
  import Websocket from './Websocket';
6
6
  import Room from './room/Room';
@@ -125,6 +125,7 @@ const Wazo = {
125
125
  SFUNotAvailableError,
126
126
  NoTenantIdError,
127
127
  NoDomainNameError,
128
+ NoSamlRouteError,
128
129
  };
129
130
  if (typeof window !== 'undefined') {
130
131
  window.Wazo = Wazo;
@@ -23,6 +23,7 @@ export interface AuthD {
23
23
  logIn(params: LoginParams): Promise<Session | null | undefined>;
24
24
  logOut: (token: Token) => Promise<LogoutResponse>;
25
25
  samlLogIn: (samlSessionId: string) => Promise<Session | null | undefined>;
26
+ initiateIdpAuthentication(domain: string, redirectUrl: string): Promise<any>;
26
27
  refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string) => Promise<Session | null | undefined>;
27
28
  deleteRefreshToken: (clientId: string) => Promise<boolean>;
28
29
  updatePassword: (userUuid: UUID, oldPassword: string, newPassword: string) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export declare class NoTenantIdError extends Error {
7
7
  }
8
8
  export declare class NoDomainNameError extends Error {
9
9
  }
10
+ export declare class NoSamlRouteError extends Error {
11
+ }
10
12
  export declare class Auth {
11
13
  clientId: string;
12
14
  expiration: number;
@@ -28,6 +30,10 @@ export declare class Auth {
28
30
  setFetchOptions(options: Record<string, any>): void;
29
31
  logIn(username: string, password: string, backend?: string, extra?: string | Record<string, any>): Promise<Session | null>;
30
32
  samlLogIn(samlSessionId: string): Promise<Session | null>;
33
+ initiateIdpAuthentication(domain: string, redirectUrl: string): Promise<{
34
+ location: string;
35
+ saml_session_id: string;
36
+ } | undefined>;
31
37
  logInViaRefreshToken(refreshToken: string): Promise<Session | null>;
32
38
  validateToken(token: string, refreshToken?: string, headerUserUuid?: string): Promise<Session | undefined | null>;
33
39
  generateNewToken(refreshToken: string): Promise<Session | null | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError } from './Auth';
1
+ import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
2
2
  import Room from './room/Room';
3
3
  import SipRoom from './room/SipRoom';
4
4
  import RemoteParticipant from './room/RemoteParticipant';
@@ -146,6 +146,7 @@ declare const Wazo: {
146
146
  SFUNotAvailableError: typeof SFUNotAvailableError;
147
147
  NoTenantIdError: typeof NoTenantIdError;
148
148
  NoDomainNameError: typeof NoDomainNameError;
149
+ NoSamlRouteError: typeof NoSamlRouteError;
149
150
  };
150
151
  export default Wazo;
151
152
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG7G,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG/H,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
@@ -149,6 +149,26 @@ describe('With correct API results', () => {
149
149
  }));
150
150
  });
151
151
  });
152
+ describe('initiateIdpAuthentication', () => {
153
+ it('should make a request to obtain an identity provider URL to redirect to', () => __awaiter(void 0, void 0, void 0, function* () {
154
+ const domain = 'example.com';
155
+ const redirectUrl = 'https://myapp.xyz';
156
+ yield client.auth.initiateIdpAuthentication(domain, redirectUrl);
157
+ expect(global.fetch).toBeCalledWith(`https://${server}/api/auth/${authVersion}/saml/sso`, {
158
+ method: 'post',
159
+ body: JSON.stringify({
160
+ domain,
161
+ redirect_url: redirectUrl,
162
+ }),
163
+ signal: expect.any(Object),
164
+ headers: {
165
+ 'Content-Type': 'application/json',
166
+ Accept: 'application/json',
167
+ },
168
+ agent: null,
169
+ });
170
+ }));
171
+ });
152
172
  describe('With unAuthorized API results', () => {
153
173
  beforeEach(() => {
154
174
  jest.resetModules();
package/lib/api/auth.js CHANGED
@@ -53,6 +53,17 @@ exports.default = ((client, baseUrl) => ({
53
53
  };
54
54
  return client.post(`${baseUrl}/token`, body).then(Session_1.default.parse);
55
55
  }),
56
+ initiateIdpAuthentication: (domain, redirectUrl) => __awaiter(void 0, void 0, void 0, function* () {
57
+ const body = {
58
+ domain,
59
+ redirect_url: redirectUrl,
60
+ };
61
+ const headers = {
62
+ Accept: 'application/json',
63
+ 'Content-Type': 'application/json',
64
+ };
65
+ return client.post(`${baseUrl}/saml/sso`, body, headers, (response) => response);
66
+ }),
56
67
  refreshToken: (refreshToken, backend, expiration, isMobile, tenantId, domainName) => {
57
68
  const body = {
58
69
  backend: backend || exports.DEFAULT_BACKEND_USER,
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.Auth = exports.NoDomainNameError = exports.NoTenantIdError = exports.InvalidAuthorization = exports.InvalidSubscription = void 0;
38
+ exports.Auth = exports.NoSamlRouteError = exports.NoDomainNameError = exports.NoTenantIdError = exports.InvalidAuthorization = exports.InvalidSubscription = void 0;
39
39
  const auth_1 = require("../api/auth");
40
40
  const getApiClient_1 = __importStar(require("../service/getApiClient"));
41
41
  const IssueReporter_1 = __importDefault(require("../service/IssueReporter"));
@@ -54,6 +54,9 @@ exports.NoTenantIdError = NoTenantIdError;
54
54
  class NoDomainNameError extends Error {
55
55
  }
56
56
  exports.NoDomainNameError = NoDomainNameError;
57
+ class NoSamlRouteError extends Error {
58
+ }
59
+ exports.NoSamlRouteError = NoSamlRouteError;
57
60
  const logger = IssueReporter_1.default.loggerFor('simple-auth');
58
61
  class Auth {
59
62
  constructor() {
@@ -148,6 +151,26 @@ class Auth {
148
151
  return this._onAuthenticated(rawSession);
149
152
  });
150
153
  }
154
+ initiateIdpAuthentication(domain, redirectUrl) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ let response;
157
+ try {
158
+ response = yield (0, getApiClient_1.default)().auth.initiateIdpAuthentication(domain, redirectUrl);
159
+ }
160
+ catch (e) {
161
+ logger.error('Error during IdP authentication initiation:', e.message);
162
+ return;
163
+ }
164
+ if (!response.ok) {
165
+ if (response.status === 404) {
166
+ throw new NoSamlRouteError('No route found for saml sso');
167
+ }
168
+ const error = yield response.json();
169
+ throw new Error(error.message || error.reason);
170
+ }
171
+ return response.json();
172
+ });
173
+ }
151
174
  logInViaRefreshToken(refreshToken) {
152
175
  return __awaiter(this, void 0, void 0, function* () {
153
176
  const rawSession = yield (0, getApiClient_1.default)().auth.refreshToken(refreshToken, '', this.expiration, this.mobile);
@@ -142,4 +142,69 @@ describe('simple/Auth', () => {
142
142
  expect(Auth.onSetUsingEdgeServer).toHaveBeenCalledWith(false);
143
143
  }));
144
144
  });
145
+ describe('initiateIdpAuthentication', () => {
146
+ const validResponse = { location: 'idp.com/auth', saml_session_id: 'a1b2C3d4' };
147
+ it('should return a `location` and `saml_session_id` if the response is ok', () => __awaiter(void 0, void 0, void 0, function* () {
148
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
149
+ ok: true,
150
+ status: 303,
151
+ json: () => Promise.resolve(validResponse),
152
+ }));
153
+ getApiClient_1.default.mockImplementation(() => ({
154
+ auth: {
155
+ initiateIdpAuthentication,
156
+ },
157
+ }));
158
+ const response = yield Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz');
159
+ expect(response).toBe(validResponse);
160
+ }));
161
+ it('should return a `NoSamlRouteError` if the response is a 404', () => __awaiter(void 0, void 0, void 0, function* () {
162
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
163
+ ok: false,
164
+ status: 404,
165
+ }));
166
+ getApiClient_1.default.mockImplementation(() => ({
167
+ auth: {
168
+ initiateIdpAuthentication,
169
+ },
170
+ }));
171
+ yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('No route found for saml sso');
172
+ }));
173
+ it('should return an error `message` if the response is NOT ok', () => __awaiter(void 0, void 0, void 0, function* () {
174
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
175
+ ok: false,
176
+ json: () => Promise.resolve({ message: 'an error message', reason: 'an error reason' }),
177
+ }));
178
+ getApiClient_1.default.mockImplementation(() => ({
179
+ auth: {
180
+ initiateIdpAuthentication,
181
+ },
182
+ }));
183
+ yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('an error message');
184
+ }));
185
+ it('should return an error `reason` if there is no `message` and the response is NOT ok', () => __awaiter(void 0, void 0, void 0, function* () {
186
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
187
+ ok: false,
188
+ json: () => Promise.resolve({ reason: 'an error reason' }),
189
+ }));
190
+ getApiClient_1.default.mockImplementation(() => ({
191
+ auth: {
192
+ initiateIdpAuthentication,
193
+ },
194
+ }));
195
+ yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('an error reason');
196
+ }));
197
+ it('should return an error with a null message if there is no `message` and `reason`', () => __awaiter(void 0, void 0, void 0, function* () {
198
+ const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
199
+ ok: false,
200
+ json: () => Promise.resolve({}),
201
+ }));
202
+ getApiClient_1.default.mockImplementation(() => ({
203
+ auth: {
204
+ initiateIdpAuthentication,
205
+ },
206
+ }));
207
+ yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('');
208
+ }));
209
+ });
145
210
  });
@@ -153,6 +153,7 @@ const Wazo = {
153
153
  SFUNotAvailableError: SFUNotAvailableError_1.default,
154
154
  NoTenantIdError: Auth_1.NoTenantIdError,
155
155
  NoDomainNameError: Auth_1.NoDomainNameError,
156
+ NoSamlRouteError: Auth_1.NoSamlRouteError,
156
157
  };
157
158
  if (typeof window !== 'undefined') {
158
159
  window.Wazo = Wazo;
@@ -23,6 +23,7 @@ export interface AuthD {
23
23
  logIn(params: LoginParams): Promise<Session | null | undefined>;
24
24
  logOut: (token: Token) => Promise<LogoutResponse>;
25
25
  samlLogIn: (samlSessionId: string) => Promise<Session | null | undefined>;
26
+ initiateIdpAuthentication(domain: string, redirectUrl: string): Promise<any>;
26
27
  refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string) => Promise<Session | null | undefined>;
27
28
  deleteRefreshToken: (clientId: string) => Promise<boolean>;
28
29
  updatePassword: (userUuid: UUID, oldPassword: string, newPassword: string) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export declare class NoTenantIdError extends Error {
7
7
  }
8
8
  export declare class NoDomainNameError extends Error {
9
9
  }
10
+ export declare class NoSamlRouteError extends Error {
11
+ }
10
12
  export declare class Auth {
11
13
  clientId: string;
12
14
  expiration: number;
@@ -28,6 +30,10 @@ export declare class Auth {
28
30
  setFetchOptions(options: Record<string, any>): void;
29
31
  logIn(username: string, password: string, backend?: string, extra?: string | Record<string, any>): Promise<Session | null>;
30
32
  samlLogIn(samlSessionId: string): Promise<Session | null>;
33
+ initiateIdpAuthentication(domain: string, redirectUrl: string): Promise<{
34
+ location: string;
35
+ saml_session_id: string;
36
+ } | undefined>;
31
37
  logInViaRefreshToken(refreshToken: string): Promise<Session | null>;
32
38
  validateToken(token: string, refreshToken?: string, headerUserUuid?: string): Promise<Session | undefined | null>;
33
39
  generateNewToken(refreshToken: string): Promise<Session | null | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError } from './Auth';
1
+ import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
2
2
  import Room from './room/Room';
3
3
  import SipRoom from './room/SipRoom';
4
4
  import RemoteParticipant from './room/RemoteParticipant';
@@ -146,6 +146,7 @@ declare const Wazo: {
146
146
  SFUNotAvailableError: typeof SFUNotAvailableError;
147
147
  NoTenantIdError: typeof NoTenantIdError;
148
148
  NoDomainNameError: typeof NoDomainNameError;
149
+ NoSamlRouteError: typeof NoSamlRouteError;
149
150
  };
150
151
  export default Wazo;
151
152
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG7G,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG/H,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wazo/sdk",
3
- "version": "0.43.1",
3
+ "version": "0.43.2",
4
4
  "description": "Wazo's JavaScript Software Development Kit.",
5
5
  "main": "index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -155,6 +155,28 @@ describe('With correct API results', () => {
155
155
  });
156
156
  });
157
157
 
158
+ describe('initiateIdpAuthentication', () => {
159
+ it('should make a request to obtain an identity provider URL to redirect to', async () => {
160
+ const domain = 'example.com';
161
+ const redirectUrl = 'https://myapp.xyz';
162
+
163
+ await client.auth.initiateIdpAuthentication(domain, redirectUrl);
164
+ expect(global.fetch).toBeCalledWith(`https://${server}/api/auth/${authVersion}/saml/sso`, {
165
+ method: 'post',
166
+ body: JSON.stringify({
167
+ domain,
168
+ redirect_url: redirectUrl,
169
+ }),
170
+ signal: expect.any(Object),
171
+ headers: {
172
+ 'Content-Type': 'application/json',
173
+ Accept: 'application/json',
174
+ },
175
+ agent: null,
176
+ });
177
+ });
178
+ });
179
+
158
180
  describe('With unAuthorized API results', () => {
159
181
  beforeEach(() => {
160
182
  jest.resetModules();
package/src/api/auth.ts CHANGED
@@ -27,6 +27,7 @@ export interface AuthD {
27
27
  logIn(params: LoginParams): Promise<Session | null | undefined> ;
28
28
  logOut: (token: Token) => Promise<LogoutResponse>;
29
29
  samlLogIn: (samlSessionId: string) => Promise<Session | null | undefined>;
30
+ initiateIdpAuthentication(domain: string, redirectUrl: string): Promise<any>;
30
31
  refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string) => Promise<Session | null | undefined>;
31
32
  deleteRefreshToken: (clientId: string) => Promise<boolean>;
32
33
  updatePassword: (userUuid: UUID, oldPassword: string, newPassword: string) => Promise<boolean>;
@@ -116,6 +117,19 @@ export default ((client: ApiRequester, baseUrl: string): AuthD => ({
116
117
 
117
118
  return client.post(`${baseUrl}/token`, body).then(Session.parse);
118
119
  },
120
+ initiateIdpAuthentication: async (domain: string, redirectUrl: string) => {
121
+ const body = {
122
+ domain,
123
+ redirect_url: redirectUrl,
124
+ };
125
+
126
+ const headers = {
127
+ Accept: 'application/json',
128
+ 'Content-Type': 'application/json',
129
+ };
130
+
131
+ return client.post(`${baseUrl}/saml/sso`, body, headers, (response: any) => response);
132
+ },
119
133
  refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string): Promise<Session | null | undefined> => {
120
134
  const body: Record<string, any> = {
121
135
  backend: backend || DEFAULT_BACKEND_USER,
@@ -24,6 +24,7 @@ export class InvalidSubscription extends Error {}
24
24
  export class InvalidAuthorization extends Error {}
25
25
  export class NoTenantIdError extends Error {}
26
26
  export class NoDomainNameError extends Error {}
27
+ export class NoSamlRouteError extends Error {}
27
28
 
28
29
  const logger = IssueReporter.loggerFor('simple-auth');
29
30
 
@@ -165,6 +166,27 @@ export class Auth {
165
166
  return this._onAuthenticated(rawSession as Session);
166
167
  }
167
168
 
169
+ async initiateIdpAuthentication(domain: string, redirectUrl: string): Promise<{ location: string, saml_session_id: string } | undefined> {
170
+ let response;
171
+ try {
172
+ response = await getApiClient().auth.initiateIdpAuthentication(domain, redirectUrl);
173
+ } catch (e: any) {
174
+ logger.error('Error during IdP authentication initiation:', e.message);
175
+ return;
176
+ }
177
+
178
+ if (!response.ok) {
179
+ if (response.status === 404) {
180
+ throw new NoSamlRouteError('No route found for saml sso');
181
+ }
182
+
183
+ const error = await response.json();
184
+ throw new Error(error.message || error.reason);
185
+ }
186
+
187
+ return response.json();
188
+ }
189
+
168
190
  async logInViaRefreshToken(refreshToken: string): Promise<Session | null> {
169
191
  const rawSession = await getApiClient().auth.refreshToken(refreshToken, '', this.expiration, this.mobile);
170
192
  return this._onAuthenticated(rawSession as Session);