@wazo/sdk 0.37.39 → 0.37.42
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 -1
- package/dist/wazo-sdk.js +2 -2
- package/esm/__tests__/api-client.test.js +33 -15
- package/esm/__tests__/web-rtc-client.test.js +39 -18
- package/esm/api/auth.js +4 -1
- package/esm/api/ctid-ng.js +2 -0
- package/esm/api-client.js +33 -15
- package/esm/checker/Checker.js +39 -18
- package/esm/checker/checks/aor.js +33 -15
- package/esm/checker/checks/api.js +33 -15
- package/esm/checker/checks/index.js +39 -18
- package/esm/checker/checks/webrtc-transport.js +39 -18
- package/esm/checker/checks/webrtc.js +39 -18
- package/esm/domain/AdHocAPIConference.js +42 -16
- package/esm/domain/Features.js +42 -16
- package/esm/domain/Phone/CTIPhone.js +42 -16
- package/esm/domain/Phone/WebRTCPhone.js +5 -3
- package/esm/index.js +77 -21
- package/esm/service/CallApi.js +42 -16
- package/esm/service/getApiClient.js +51 -17
- package/esm/simple/Auth.js +77 -21
- package/esm/simple/Configuration.js +77 -21
- package/esm/simple/Directory.js +42 -16
- package/esm/simple/Phone.js +77 -21
- package/esm/simple/index.js +77 -21
- package/esm/simple/room/LocalParticipant.js +77 -21
- package/esm/simple/room/Participant.js +77 -21
- package/esm/simple/room/RemoteParticipant.js +77 -21
- package/esm/simple/room/Room.js +77 -21
- package/esm/simple/room/SipRoom.js +77 -21
- package/esm/simple/room/Stream.js +77 -21
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +77 -21
- package/esm/simple/utils.js +77 -21
- package/esm/web-rtc-client.js +39 -18
- package/lib/__tests__/api-client.test.js +33 -15
- package/lib/__tests__/web-rtc-client.test.js +39 -18
- package/lib/api/auth.js +4 -1
- package/lib/api/ctid-ng.js +2 -0
- package/lib/api-client.js +33 -15
- package/lib/checker/Checker.js +39 -18
- package/lib/checker/checks/aor.js +33 -15
- package/lib/checker/checks/api.js +33 -15
- package/lib/checker/checks/index.js +39 -18
- package/lib/checker/checks/webrtc-transport.js +39 -18
- package/lib/checker/checks/webrtc.js +39 -18
- package/lib/domain/AdHocAPIConference.js +42 -16
- package/lib/domain/Features.js +42 -16
- package/lib/domain/Phone/CTIPhone.js +42 -16
- package/lib/domain/Phone/WebRTCPhone.js +5 -3
- package/lib/index.js +77 -21
- package/lib/service/CallApi.js +42 -16
- package/lib/service/getApiClient.js +52 -16
- package/lib/simple/Auth.js +77 -21
- package/lib/simple/Configuration.js +77 -21
- package/lib/simple/Directory.js +42 -16
- package/lib/simple/Phone.js +77 -21
- package/lib/simple/index.js +77 -21
- package/lib/simple/room/LocalParticipant.js +77 -21
- package/lib/simple/room/Participant.js +77 -21
- package/lib/simple/room/RemoteParticipant.js +77 -21
- package/lib/simple/room/Room.js +77 -21
- package/lib/simple/room/SipRoom.js +77 -21
- package/lib/simple/room/Stream.js +77 -21
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +77 -21
- package/lib/simple/utils.js +77 -21
- package/lib/web-rtc-client.js +39 -18
- package/package.json +1 -1
- package/src/api/auth.js +4 -1
- package/src/api-client.js +26 -13
- package/src/domain/Phone/WebRTCPhone.js +3 -3
- package/src/service/getApiClient.js +19 -1
- package/src/simple/Auth.js +21 -0
- package/src/web-rtc-client.js +7 -4
package/esm/simple/utils.js
CHANGED
|
@@ -2265,9 +2265,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2265
2265
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2266
2266
|
refresh_token: refreshToken,
|
|
2267
2267
|
client_id: client.clientId,
|
|
2268
|
-
tenant_id: tenantId,
|
|
2269
2268
|
};
|
|
2270
2269
|
|
|
2270
|
+
if (tenantId) {
|
|
2271
|
+
body.tenant_id = tenantId;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2271
2274
|
const headers = {
|
|
2272
2275
|
'Content-Type': 'application/json',
|
|
2273
2276
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -5415,6 +5418,7 @@ class ApiClient {
|
|
|
5415
5418
|
|
|
5416
5419
|
|
|
5417
5420
|
|
|
5421
|
+
|
|
5418
5422
|
|
|
5419
5423
|
|
|
5420
5424
|
|
|
@@ -5467,23 +5471,31 @@ class ApiClient {
|
|
|
5467
5471
|
return null;
|
|
5468
5472
|
}
|
|
5469
5473
|
|
|
5470
|
-
|
|
5471
|
-
this.refreshToken
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5474
|
+
try {
|
|
5475
|
+
const session = await this.auth.refreshToken(
|
|
5476
|
+
this.refreshToken,
|
|
5477
|
+
this.refreshBackend,
|
|
5478
|
+
this.refreshExpiration,
|
|
5479
|
+
this.isMobile,
|
|
5480
|
+
this.refreshTenantId,
|
|
5481
|
+
);
|
|
5477
5482
|
|
|
5478
|
-
|
|
5483
|
+
logger$a.info('token refreshed', { token: session.token });
|
|
5479
5484
|
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5485
|
+
if (this.onRefreshToken) {
|
|
5486
|
+
this.onRefreshToken(session.token, session);
|
|
5487
|
+
}
|
|
5483
5488
|
|
|
5484
|
-
|
|
5489
|
+
this.setToken(session.token);
|
|
5490
|
+
|
|
5491
|
+
return session.token;
|
|
5492
|
+
} catch (error) {
|
|
5493
|
+
logger$a.error('token refresh, error', error);
|
|
5485
5494
|
|
|
5486
|
-
|
|
5495
|
+
if (this.onRefreshTokenError) {
|
|
5496
|
+
this.onRefreshTokenError(error);
|
|
5497
|
+
}
|
|
5498
|
+
}
|
|
5487
5499
|
}
|
|
5488
5500
|
|
|
5489
5501
|
setToken(token ) {
|
|
@@ -5506,6 +5518,10 @@ class ApiClient {
|
|
|
5506
5518
|
this.onRefreshToken = onRefreshToken;
|
|
5507
5519
|
}
|
|
5508
5520
|
|
|
5521
|
+
setOnRefreshTokenError(callback ) {
|
|
5522
|
+
this.onRefreshTokenError = callback;
|
|
5523
|
+
}
|
|
5524
|
+
|
|
5509
5525
|
setRefreshExpiration(refreshExpiration ) {
|
|
5510
5526
|
this.refreshExpiration = refreshExpiration;
|
|
5511
5527
|
}
|
|
@@ -5541,7 +5557,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
5541
5557
|
global.wazoClientId = global.wazoClientId || {};
|
|
5542
5558
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
5543
5559
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
5560
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
5544
5561
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
5562
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
5545
5563
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
5546
5564
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
5547
5565
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -5563,10 +5581,18 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
|
|
|
5563
5581
|
global.wazoRefreshToken[forServer] = newRefreshToken;
|
|
5564
5582
|
};
|
|
5565
5583
|
|
|
5584
|
+
const setRefreshTenantId = (refreshTenantId , forServer = null) => {
|
|
5585
|
+
global.wazoRefreshTenantId[forServer] = refreshTenantId;
|
|
5586
|
+
};
|
|
5587
|
+
|
|
5566
5588
|
const setOnRefreshToken = (onRefreshToken , forServer = null) => {
|
|
5567
5589
|
global.wazoOnRefreshToken[forServer] = onRefreshToken;
|
|
5568
5590
|
};
|
|
5569
5591
|
|
|
5592
|
+
const setOnRefreshTokenError = (callback , forServer = null) => {
|
|
5593
|
+
global.wazoOnRefreshTokenError[forServer] = callback;
|
|
5594
|
+
};
|
|
5595
|
+
|
|
5570
5596
|
const setRefreshExpiration = (refreshExpiration , forServer = null) => {
|
|
5571
5597
|
global.wazoRefreshExpiration[forServer] = refreshExpiration;
|
|
5572
5598
|
};
|
|
@@ -5585,12 +5611,20 @@ const fillClient = (apiClient ) => {
|
|
|
5585
5611
|
|
|
5586
5612
|
apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
|
|
5587
5613
|
|
|
5614
|
+
apiClient.setRefreshTenantId(
|
|
5615
|
+
global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId,
|
|
5616
|
+
);
|
|
5617
|
+
|
|
5588
5618
|
apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
|
|
5589
5619
|
|
|
5590
5620
|
apiClient.setOnRefreshToken(
|
|
5591
5621
|
global.wazoOnRefreshToken[server] || global.wazoOnRefreshToken[null] || apiClient.onRefreshToken,
|
|
5592
5622
|
);
|
|
5593
5623
|
|
|
5624
|
+
apiClient.setOnRefreshTokenError(
|
|
5625
|
+
global.wazoOnRefreshTokenError[server] || global.wazoOnRefreshTokenError[null] || apiClient.onRefreshTokenError,
|
|
5626
|
+
);
|
|
5627
|
+
|
|
5594
5628
|
apiClient.setRefreshExpiration(
|
|
5595
5629
|
global.wazoRefreshExpiration[server] || global.wazoRefreshExpiration[null] || apiClient.refreshExpiration,
|
|
5596
5630
|
);
|
|
@@ -5604,7 +5638,7 @@ const fillClient = (apiClient ) => {
|
|
|
5604
5638
|
return apiClient;
|
|
5605
5639
|
};
|
|
5606
5640
|
|
|
5607
|
-
var getApiClient = (forServer
|
|
5641
|
+
var getApiClient = (forServer = null) => {
|
|
5608
5642
|
const server = forServer || global.wazoCurrentServer || '';
|
|
5609
5643
|
if (server in global.wazoClients) {
|
|
5610
5644
|
return fillClient(global.wazoClients[server]);
|
|
@@ -5631,6 +5665,7 @@ class Auth {
|
|
|
5631
5665
|
|
|
5632
5666
|
|
|
5633
5667
|
|
|
5668
|
+
|
|
5634
5669
|
|
|
5635
5670
|
|
|
5636
5671
|
|
|
@@ -5668,6 +5703,14 @@ class Auth {
|
|
|
5668
5703
|
this.onRefreshTokenCallback(token, session);
|
|
5669
5704
|
}
|
|
5670
5705
|
});
|
|
5706
|
+
|
|
5707
|
+
setOnRefreshTokenError(error => {
|
|
5708
|
+
logger$9.error('on refresh token error', error);
|
|
5709
|
+
|
|
5710
|
+
if (this.onRefreshTokenCallbackError) {
|
|
5711
|
+
this.onRefreshTokenCallbackError(error);
|
|
5712
|
+
}
|
|
5713
|
+
});
|
|
5671
5714
|
}
|
|
5672
5715
|
|
|
5673
5716
|
setFetchOptions(options ) {
|
|
@@ -5756,6 +5799,10 @@ class Auth {
|
|
|
5756
5799
|
this.onRefreshTokenCallback = callback;
|
|
5757
5800
|
}
|
|
5758
5801
|
|
|
5802
|
+
setOnRefreshTokenError(callback ) {
|
|
5803
|
+
this.onRefreshTokenCallbackError = callback;
|
|
5804
|
+
}
|
|
5805
|
+
|
|
5759
5806
|
checkAuthorizations(session , authorizationName ) {
|
|
5760
5807
|
if (!authorizationName) {
|
|
5761
5808
|
return;
|
|
@@ -5788,6 +5835,12 @@ class Auth {
|
|
|
5788
5835
|
setRefreshToken(refreshToken);
|
|
5789
5836
|
}
|
|
5790
5837
|
|
|
5838
|
+
setRefreshTenantId(refreshTenantId ) {
|
|
5839
|
+
setRefreshTenantId(refreshTenantId);
|
|
5840
|
+
|
|
5841
|
+
getApiClient().setRefreshTenantId(refreshTenantId);
|
|
5842
|
+
}
|
|
5843
|
+
|
|
5791
5844
|
forceRefreshToken() {
|
|
5792
5845
|
getApiClient().forceRefreshToken();
|
|
5793
5846
|
}
|
|
@@ -8735,11 +8788,14 @@ class WebRTCClient extends Emitter {
|
|
|
8735
8788
|
}
|
|
8736
8789
|
|
|
8737
8790
|
async _disconnectTransport(force = false) {
|
|
8738
|
-
if (force) {
|
|
8791
|
+
if (force && this.userAgent && this.userAgent.transport) {
|
|
8739
8792
|
// Bypass sip.js state machine that prevent to close WS with the state `Connecting`
|
|
8740
8793
|
this.userAgent.transport.disconnectResolve = () => {};
|
|
8741
|
-
|
|
8742
|
-
this.userAgent.transport._ws
|
|
8794
|
+
|
|
8795
|
+
if (this.userAgent.transport._ws) {
|
|
8796
|
+
this.userAgent.transport._ws.close(1000);
|
|
8797
|
+
}
|
|
8798
|
+
|
|
8743
8799
|
return;
|
|
8744
8800
|
}
|
|
8745
8801
|
|
|
@@ -9391,7 +9447,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9391
9447
|
// When stopping screenshare and we had video before that, we have to re-upgrade
|
|
9392
9448
|
// When upgrading directly to screenshare (eg: we don't have a videoLocalStream to replace)
|
|
9393
9449
|
// We have to downgrade to audio.
|
|
9394
|
-
const screenshareStopped = this.currentScreenShare.
|
|
9450
|
+
const screenshareStopped = this.currentScreenShare.hadVideo;
|
|
9395
9451
|
const constraints = { audio: false, video: screenshareStopped };
|
|
9396
9452
|
|
|
9397
9453
|
// We have to remove the video sender to be able to re-upgrade to video in `sendReinvite` below
|
|
@@ -9835,7 +9891,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9835
9891
|
|
|
9836
9892
|
logger$7.info('WebRTC hold sip session', { sipId: sipSession.id, hasVideo });
|
|
9837
9893
|
|
|
9838
|
-
// Stop
|
|
9894
|
+
// Stop screenshare if needed
|
|
9839
9895
|
if (this.currentScreenShare && this.currentScreenShare.sipSessionId === sessionId) {
|
|
9840
9896
|
this.lastScreenShare = this.currentScreenShare;
|
|
9841
9897
|
await this.stopScreenSharing(false, callSession);
|
|
@@ -10597,7 +10653,7 @@ class WebRTCPhone extends Emitter {
|
|
|
10597
10653
|
endTime: fromSession ? fromSession.endTime : null,
|
|
10598
10654
|
answered: state === SessionState.Established,
|
|
10599
10655
|
paused: this.client.isCallHeld(sipSession),
|
|
10600
|
-
isCaller: 'incoming' in extra ? !extra.incoming : false,
|
|
10656
|
+
isCaller: fromSession ? fromSession.isCaller : ('incoming' in extra ? !extra.incoming : false),
|
|
10601
10657
|
cameraEnabled: fromSession ? fromSession.isCameraEnabled() : this.client.hasVideo(sessionId),
|
|
10602
10658
|
number,
|
|
10603
10659
|
ringing: false,
|
package/esm/web-rtc-client.js
CHANGED
|
@@ -2793,9 +2793,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2793
2793
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2794
2794
|
refresh_token: refreshToken,
|
|
2795
2795
|
client_id: client.clientId,
|
|
2796
|
-
tenant_id: tenantId,
|
|
2797
2796
|
};
|
|
2798
2797
|
|
|
2798
|
+
if (tenantId) {
|
|
2799
|
+
body.tenant_id = tenantId;
|
|
2800
|
+
}
|
|
2801
|
+
|
|
2799
2802
|
const headers = {
|
|
2800
2803
|
'Content-Type': 'application/json',
|
|
2801
2804
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -4083,7 +4086,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
4083
4086
|
global.wazoClientId = global.wazoClientId || {};
|
|
4084
4087
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
4085
4088
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
4089
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
4086
4090
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
4091
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
4087
4092
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
4088
4093
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
4089
4094
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -5129,6 +5134,7 @@ class ApiClient {
|
|
|
5129
5134
|
|
|
5130
5135
|
|
|
5131
5136
|
|
|
5137
|
+
|
|
5132
5138
|
|
|
5133
5139
|
|
|
5134
5140
|
|
|
@@ -5181,23 +5187,31 @@ class ApiClient {
|
|
|
5181
5187
|
return null;
|
|
5182
5188
|
}
|
|
5183
5189
|
|
|
5184
|
-
|
|
5185
|
-
this.refreshToken
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5190
|
+
try {
|
|
5191
|
+
const session = await this.auth.refreshToken(
|
|
5192
|
+
this.refreshToken,
|
|
5193
|
+
this.refreshBackend,
|
|
5194
|
+
this.refreshExpiration,
|
|
5195
|
+
this.isMobile,
|
|
5196
|
+
this.refreshTenantId,
|
|
5197
|
+
);
|
|
5198
|
+
|
|
5199
|
+
logger$1.info('token refreshed', { token: session.token });
|
|
5200
|
+
|
|
5201
|
+
if (this.onRefreshToken) {
|
|
5202
|
+
this.onRefreshToken(session.token, session);
|
|
5203
|
+
}
|
|
5193
5204
|
|
|
5194
|
-
|
|
5195
|
-
this.onRefreshToken(session.token, session);
|
|
5196
|
-
}
|
|
5205
|
+
this.setToken(session.token);
|
|
5197
5206
|
|
|
5198
|
-
|
|
5207
|
+
return session.token;
|
|
5208
|
+
} catch (error) {
|
|
5209
|
+
logger$1.error('token refresh, error', error);
|
|
5199
5210
|
|
|
5200
|
-
|
|
5211
|
+
if (this.onRefreshTokenError) {
|
|
5212
|
+
this.onRefreshTokenError(error);
|
|
5213
|
+
}
|
|
5214
|
+
}
|
|
5201
5215
|
}
|
|
5202
5216
|
|
|
5203
5217
|
setToken(token ) {
|
|
@@ -5220,6 +5234,10 @@ class ApiClient {
|
|
|
5220
5234
|
this.onRefreshToken = onRefreshToken;
|
|
5221
5235
|
}
|
|
5222
5236
|
|
|
5237
|
+
setOnRefreshTokenError(callback ) {
|
|
5238
|
+
this.onRefreshTokenError = callback;
|
|
5239
|
+
}
|
|
5240
|
+
|
|
5223
5241
|
setRefreshExpiration(refreshExpiration ) {
|
|
5224
5242
|
this.refreshExpiration = refreshExpiration;
|
|
5225
5243
|
}
|
|
@@ -7400,11 +7418,14 @@ class WebRTCClient extends Emitter {
|
|
|
7400
7418
|
}
|
|
7401
7419
|
|
|
7402
7420
|
async _disconnectTransport(force = false) {
|
|
7403
|
-
if (force) {
|
|
7421
|
+
if (force && this.userAgent && this.userAgent.transport) {
|
|
7404
7422
|
// Bypass sip.js state machine that prevent to close WS with the state `Connecting`
|
|
7405
7423
|
this.userAgent.transport.disconnectResolve = () => {};
|
|
7406
|
-
|
|
7407
|
-
this.userAgent.transport._ws
|
|
7424
|
+
|
|
7425
|
+
if (this.userAgent.transport._ws) {
|
|
7426
|
+
this.userAgent.transport._ws.close(1000);
|
|
7427
|
+
}
|
|
7428
|
+
|
|
7408
7429
|
return;
|
|
7409
7430
|
}
|
|
7410
7431
|
|
|
@@ -2251,9 +2251,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2251
2251
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2252
2252
|
refresh_token: refreshToken,
|
|
2253
2253
|
client_id: client.clientId,
|
|
2254
|
-
tenant_id: tenantId,
|
|
2255
2254
|
};
|
|
2256
2255
|
|
|
2256
|
+
if (tenantId) {
|
|
2257
|
+
body.tenant_id = tenantId;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2257
2260
|
const headers = {
|
|
2258
2261
|
'Content-Type': 'application/json',
|
|
2259
2262
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -3541,7 +3544,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
3541
3544
|
global.wazoClientId = global.wazoClientId || {};
|
|
3542
3545
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
3543
3546
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
3547
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
3544
3548
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
3549
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
3545
3550
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
3546
3551
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
3547
3552
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -4587,6 +4592,7 @@ class ApiClient {
|
|
|
4587
4592
|
|
|
4588
4593
|
|
|
4589
4594
|
|
|
4595
|
+
|
|
4590
4596
|
|
|
4591
4597
|
|
|
4592
4598
|
|
|
@@ -4639,23 +4645,31 @@ class ApiClient {
|
|
|
4639
4645
|
return null;
|
|
4640
4646
|
}
|
|
4641
4647
|
|
|
4642
|
-
|
|
4643
|
-
this.refreshToken
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4648
|
+
try {
|
|
4649
|
+
const session = await this.auth.refreshToken(
|
|
4650
|
+
this.refreshToken,
|
|
4651
|
+
this.refreshBackend,
|
|
4652
|
+
this.refreshExpiration,
|
|
4653
|
+
this.isMobile,
|
|
4654
|
+
this.refreshTenantId,
|
|
4655
|
+
);
|
|
4656
|
+
|
|
4657
|
+
logger.info('token refreshed', { token: session.token });
|
|
4658
|
+
|
|
4659
|
+
if (this.onRefreshToken) {
|
|
4660
|
+
this.onRefreshToken(session.token, session);
|
|
4661
|
+
}
|
|
4651
4662
|
|
|
4652
|
-
|
|
4653
|
-
this.onRefreshToken(session.token, session);
|
|
4654
|
-
}
|
|
4663
|
+
this.setToken(session.token);
|
|
4655
4664
|
|
|
4656
|
-
|
|
4665
|
+
return session.token;
|
|
4666
|
+
} catch (error) {
|
|
4667
|
+
logger.error('token refresh, error', error);
|
|
4657
4668
|
|
|
4658
|
-
|
|
4669
|
+
if (this.onRefreshTokenError) {
|
|
4670
|
+
this.onRefreshTokenError(error);
|
|
4671
|
+
}
|
|
4672
|
+
}
|
|
4659
4673
|
}
|
|
4660
4674
|
|
|
4661
4675
|
setToken(token ) {
|
|
@@ -4678,6 +4692,10 @@ class ApiClient {
|
|
|
4678
4692
|
this.onRefreshToken = onRefreshToken;
|
|
4679
4693
|
}
|
|
4680
4694
|
|
|
4695
|
+
setOnRefreshTokenError(callback ) {
|
|
4696
|
+
this.onRefreshTokenError = callback;
|
|
4697
|
+
}
|
|
4698
|
+
|
|
4681
4699
|
setRefreshExpiration(refreshExpiration ) {
|
|
4682
4700
|
this.refreshExpiration = refreshExpiration;
|
|
4683
4701
|
}
|
|
@@ -2802,9 +2802,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2802
2802
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2803
2803
|
refresh_token: refreshToken,
|
|
2804
2804
|
client_id: client.clientId,
|
|
2805
|
-
tenant_id: tenantId,
|
|
2806
2805
|
};
|
|
2807
2806
|
|
|
2807
|
+
if (tenantId) {
|
|
2808
|
+
body.tenant_id = tenantId;
|
|
2809
|
+
}
|
|
2810
|
+
|
|
2808
2811
|
const headers = {
|
|
2809
2812
|
'Content-Type': 'application/json',
|
|
2810
2813
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -4092,7 +4095,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
4092
4095
|
global.wazoClientId = global.wazoClientId || {};
|
|
4093
4096
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
4094
4097
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
4098
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
4095
4099
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
4100
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
4096
4101
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
4097
4102
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
4098
4103
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -5138,6 +5143,7 @@ class ApiClient {
|
|
|
5138
5143
|
|
|
5139
5144
|
|
|
5140
5145
|
|
|
5146
|
+
|
|
5141
5147
|
|
|
5142
5148
|
|
|
5143
5149
|
|
|
@@ -5190,23 +5196,31 @@ class ApiClient {
|
|
|
5190
5196
|
return null;
|
|
5191
5197
|
}
|
|
5192
5198
|
|
|
5193
|
-
|
|
5194
|
-
this.refreshToken
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5201
|
-
|
|
5199
|
+
try {
|
|
5200
|
+
const session = await this.auth.refreshToken(
|
|
5201
|
+
this.refreshToken,
|
|
5202
|
+
this.refreshBackend,
|
|
5203
|
+
this.refreshExpiration,
|
|
5204
|
+
this.isMobile,
|
|
5205
|
+
this.refreshTenantId,
|
|
5206
|
+
);
|
|
5207
|
+
|
|
5208
|
+
logger$1.info('token refreshed', { token: session.token });
|
|
5209
|
+
|
|
5210
|
+
if (this.onRefreshToken) {
|
|
5211
|
+
this.onRefreshToken(session.token, session);
|
|
5212
|
+
}
|
|
5202
5213
|
|
|
5203
|
-
|
|
5204
|
-
this.onRefreshToken(session.token, session);
|
|
5205
|
-
}
|
|
5214
|
+
this.setToken(session.token);
|
|
5206
5215
|
|
|
5207
|
-
|
|
5216
|
+
return session.token;
|
|
5217
|
+
} catch (error) {
|
|
5218
|
+
logger$1.error('token refresh, error', error);
|
|
5208
5219
|
|
|
5209
|
-
|
|
5220
|
+
if (this.onRefreshTokenError) {
|
|
5221
|
+
this.onRefreshTokenError(error);
|
|
5222
|
+
}
|
|
5223
|
+
}
|
|
5210
5224
|
}
|
|
5211
5225
|
|
|
5212
5226
|
setToken(token ) {
|
|
@@ -5229,6 +5243,10 @@ class ApiClient {
|
|
|
5229
5243
|
this.onRefreshToken = onRefreshToken;
|
|
5230
5244
|
}
|
|
5231
5245
|
|
|
5246
|
+
setOnRefreshTokenError(callback ) {
|
|
5247
|
+
this.onRefreshTokenError = callback;
|
|
5248
|
+
}
|
|
5249
|
+
|
|
5232
5250
|
setRefreshExpiration(refreshExpiration ) {
|
|
5233
5251
|
this.refreshExpiration = refreshExpiration;
|
|
5234
5252
|
}
|
|
@@ -7406,11 +7424,14 @@ class WebRTCClient extends Emitter {
|
|
|
7406
7424
|
}
|
|
7407
7425
|
|
|
7408
7426
|
async _disconnectTransport(force = false) {
|
|
7409
|
-
if (force) {
|
|
7427
|
+
if (force && this.userAgent && this.userAgent.transport) {
|
|
7410
7428
|
// Bypass sip.js state machine that prevent to close WS with the state `Connecting`
|
|
7411
7429
|
this.userAgent.transport.disconnectResolve = () => {};
|
|
7412
|
-
|
|
7413
|
-
this.userAgent.transport._ws
|
|
7430
|
+
|
|
7431
|
+
if (this.userAgent.transport._ws) {
|
|
7432
|
+
this.userAgent.transport._ws.close(1000);
|
|
7433
|
+
}
|
|
7434
|
+
|
|
7414
7435
|
return;
|
|
7415
7436
|
}
|
|
7416
7437
|
|
package/lib/api/auth.js
CHANGED
|
@@ -1011,9 +1011,12 @@ var auth = (client , baseUrl ) => ({
|
|
|
1011
1011
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
1012
1012
|
refresh_token: refreshToken,
|
|
1013
1013
|
client_id: client.clientId,
|
|
1014
|
-
tenant_id: tenantId,
|
|
1015
1014
|
};
|
|
1016
1015
|
|
|
1016
|
+
if (tenantId) {
|
|
1017
|
+
body.tenant_id = tenantId;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1017
1020
|
const headers = {
|
|
1018
1021
|
'Content-Type': 'application/json',
|
|
1019
1022
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
package/lib/api/ctid-ng.js
CHANGED
|
@@ -1180,7 +1180,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
1180
1180
|
global.wazoClientId = global.wazoClientId || {};
|
|
1181
1181
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
1182
1182
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
1183
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
1183
1184
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
1185
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
1184
1186
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
1185
1187
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
1186
1188
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
package/lib/api-client.js
CHANGED
|
@@ -2251,9 +2251,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2251
2251
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2252
2252
|
refresh_token: refreshToken,
|
|
2253
2253
|
client_id: client.clientId,
|
|
2254
|
-
tenant_id: tenantId,
|
|
2255
2254
|
};
|
|
2256
2255
|
|
|
2256
|
+
if (tenantId) {
|
|
2257
|
+
body.tenant_id = tenantId;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2257
2260
|
const headers = {
|
|
2258
2261
|
'Content-Type': 'application/json',
|
|
2259
2262
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -3541,7 +3544,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
3541
3544
|
global.wazoClientId = global.wazoClientId || {};
|
|
3542
3545
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
3543
3546
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
3547
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
3544
3548
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
3549
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
3545
3550
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
3546
3551
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
3547
3552
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -4587,6 +4592,7 @@ class ApiClient {
|
|
|
4587
4592
|
|
|
4588
4593
|
|
|
4589
4594
|
|
|
4595
|
+
|
|
4590
4596
|
|
|
4591
4597
|
|
|
4592
4598
|
|
|
@@ -4639,23 +4645,31 @@ class ApiClient {
|
|
|
4639
4645
|
return null;
|
|
4640
4646
|
}
|
|
4641
4647
|
|
|
4642
|
-
|
|
4643
|
-
this.refreshToken
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4648
|
+
try {
|
|
4649
|
+
const session = await this.auth.refreshToken(
|
|
4650
|
+
this.refreshToken,
|
|
4651
|
+
this.refreshBackend,
|
|
4652
|
+
this.refreshExpiration,
|
|
4653
|
+
this.isMobile,
|
|
4654
|
+
this.refreshTenantId,
|
|
4655
|
+
);
|
|
4656
|
+
|
|
4657
|
+
logger.info('token refreshed', { token: session.token });
|
|
4658
|
+
|
|
4659
|
+
if (this.onRefreshToken) {
|
|
4660
|
+
this.onRefreshToken(session.token, session);
|
|
4661
|
+
}
|
|
4651
4662
|
|
|
4652
|
-
|
|
4653
|
-
this.onRefreshToken(session.token, session);
|
|
4654
|
-
}
|
|
4663
|
+
this.setToken(session.token);
|
|
4655
4664
|
|
|
4656
|
-
|
|
4665
|
+
return session.token;
|
|
4666
|
+
} catch (error) {
|
|
4667
|
+
logger.error('token refresh, error', error);
|
|
4657
4668
|
|
|
4658
|
-
|
|
4669
|
+
if (this.onRefreshTokenError) {
|
|
4670
|
+
this.onRefreshTokenError(error);
|
|
4671
|
+
}
|
|
4672
|
+
}
|
|
4659
4673
|
}
|
|
4660
4674
|
|
|
4661
4675
|
setToken(token ) {
|
|
@@ -4678,6 +4692,10 @@ class ApiClient {
|
|
|
4678
4692
|
this.onRefreshToken = onRefreshToken;
|
|
4679
4693
|
}
|
|
4680
4694
|
|
|
4695
|
+
setOnRefreshTokenError(callback ) {
|
|
4696
|
+
this.onRefreshTokenError = callback;
|
|
4697
|
+
}
|
|
4698
|
+
|
|
4681
4699
|
setRefreshExpiration(refreshExpiration ) {
|
|
4682
4700
|
this.refreshExpiration = refreshExpiration;
|
|
4683
4701
|
}
|