@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
|
@@ -888,7 +888,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
888
888
|
global.wazoClientId = global.wazoClientId || {};
|
|
889
889
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
890
890
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
891
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
891
892
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
893
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
892
894
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
893
895
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
894
896
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -1438,7 +1440,7 @@ class WebRTCPhone extends Emitter {
|
|
|
1438
1440
|
// When stopping screenshare and we had video before that, we have to re-upgrade
|
|
1439
1441
|
// When upgrading directly to screenshare (eg: we don't have a videoLocalStream to replace)
|
|
1440
1442
|
// We have to downgrade to audio.
|
|
1441
|
-
const screenshareStopped = this.currentScreenShare.
|
|
1443
|
+
const screenshareStopped = this.currentScreenShare.hadVideo;
|
|
1442
1444
|
const constraints = { audio: false, video: screenshareStopped };
|
|
1443
1445
|
|
|
1444
1446
|
// We have to remove the video sender to be able to re-upgrade to video in `sendReinvite` below
|
|
@@ -1882,7 +1884,7 @@ class WebRTCPhone extends Emitter {
|
|
|
1882
1884
|
|
|
1883
1885
|
logger.info('WebRTC hold sip session', { sipId: sipSession.id, hasVideo });
|
|
1884
1886
|
|
|
1885
|
-
// Stop
|
|
1887
|
+
// Stop screenshare if needed
|
|
1886
1888
|
if (this.currentScreenShare && this.currentScreenShare.sipSessionId === sessionId) {
|
|
1887
1889
|
this.lastScreenShare = this.currentScreenShare;
|
|
1888
1890
|
await this.stopScreenSharing(false, callSession);
|
|
@@ -2644,7 +2646,7 @@ class WebRTCPhone extends Emitter {
|
|
|
2644
2646
|
endTime: fromSession ? fromSession.endTime : null,
|
|
2645
2647
|
answered: state === SessionState.Established,
|
|
2646
2648
|
paused: this.client.isCallHeld(sipSession),
|
|
2647
|
-
isCaller: 'incoming' in extra ? !extra.incoming : false,
|
|
2649
|
+
isCaller: fromSession ? fromSession.isCaller : ('incoming' in extra ? !extra.incoming : false),
|
|
2648
2650
|
cameraEnabled: fromSession ? fromSession.isCameraEnabled() : this.client.hasVideo(sessionId),
|
|
2649
2651
|
number,
|
|
2650
2652
|
ringing: false,
|
package/esm/index.js
CHANGED
|
@@ -2266,9 +2266,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2266
2266
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2267
2267
|
refresh_token: refreshToken,
|
|
2268
2268
|
client_id: client.clientId,
|
|
2269
|
-
tenant_id: tenantId,
|
|
2270
2269
|
};
|
|
2271
2270
|
|
|
2271
|
+
if (tenantId) {
|
|
2272
|
+
body.tenant_id = tenantId;
|
|
2273
|
+
}
|
|
2274
|
+
|
|
2272
2275
|
const headers = {
|
|
2273
2276
|
'Content-Type': 'application/json',
|
|
2274
2277
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -3976,7 +3979,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
3976
3979
|
global.wazoClientId = global.wazoClientId || {};
|
|
3977
3980
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
3978
3981
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
3982
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
3979
3983
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
3984
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
3980
3985
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
3981
3986
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
3982
3987
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -3998,10 +4003,18 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
|
|
|
3998
4003
|
global.wazoRefreshToken[forServer] = newRefreshToken;
|
|
3999
4004
|
};
|
|
4000
4005
|
|
|
4006
|
+
const setRefreshTenantId = (refreshTenantId , forServer = null) => {
|
|
4007
|
+
global.wazoRefreshTenantId[forServer] = refreshTenantId;
|
|
4008
|
+
};
|
|
4009
|
+
|
|
4001
4010
|
const setOnRefreshToken = (onRefreshToken , forServer = null) => {
|
|
4002
4011
|
global.wazoOnRefreshToken[forServer] = onRefreshToken;
|
|
4003
4012
|
};
|
|
4004
4013
|
|
|
4014
|
+
const setOnRefreshTokenError = (callback , forServer = null) => {
|
|
4015
|
+
global.wazoOnRefreshTokenError[forServer] = callback;
|
|
4016
|
+
};
|
|
4017
|
+
|
|
4005
4018
|
const setRefreshExpiration = (refreshExpiration , forServer = null) => {
|
|
4006
4019
|
global.wazoRefreshExpiration[forServer] = refreshExpiration;
|
|
4007
4020
|
};
|
|
@@ -4020,12 +4033,20 @@ const fillClient = (apiClient ) => {
|
|
|
4020
4033
|
|
|
4021
4034
|
apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
|
|
4022
4035
|
|
|
4036
|
+
apiClient.setRefreshTenantId(
|
|
4037
|
+
global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId,
|
|
4038
|
+
);
|
|
4039
|
+
|
|
4023
4040
|
apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
|
|
4024
4041
|
|
|
4025
4042
|
apiClient.setOnRefreshToken(
|
|
4026
4043
|
global.wazoOnRefreshToken[server] || global.wazoOnRefreshToken[null] || apiClient.onRefreshToken,
|
|
4027
4044
|
);
|
|
4028
4045
|
|
|
4046
|
+
apiClient.setOnRefreshTokenError(
|
|
4047
|
+
global.wazoOnRefreshTokenError[server] || global.wazoOnRefreshTokenError[null] || apiClient.onRefreshTokenError,
|
|
4048
|
+
);
|
|
4049
|
+
|
|
4029
4050
|
apiClient.setRefreshExpiration(
|
|
4030
4051
|
global.wazoRefreshExpiration[server] || global.wazoRefreshExpiration[null] || apiClient.refreshExpiration,
|
|
4031
4052
|
);
|
|
@@ -4039,7 +4060,7 @@ const fillClient = (apiClient ) => {
|
|
|
4039
4060
|
return apiClient;
|
|
4040
4061
|
};
|
|
4041
4062
|
|
|
4042
|
-
var getApiClient = (forServer
|
|
4063
|
+
var getApiClient = (forServer = null) => {
|
|
4043
4064
|
const server = forServer || global.wazoCurrentServer || '';
|
|
4044
4065
|
if (server in global.wazoClients) {
|
|
4045
4066
|
return fillClient(global.wazoClients[server]);
|
|
@@ -5499,6 +5520,7 @@ class ApiClient {
|
|
|
5499
5520
|
|
|
5500
5521
|
|
|
5501
5522
|
|
|
5523
|
+
|
|
5502
5524
|
|
|
5503
5525
|
|
|
5504
5526
|
|
|
@@ -5551,23 +5573,31 @@ class ApiClient {
|
|
|
5551
5573
|
return null;
|
|
5552
5574
|
}
|
|
5553
5575
|
|
|
5554
|
-
|
|
5555
|
-
this.refreshToken
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5576
|
+
try {
|
|
5577
|
+
const session = await this.auth.refreshToken(
|
|
5578
|
+
this.refreshToken,
|
|
5579
|
+
this.refreshBackend,
|
|
5580
|
+
this.refreshExpiration,
|
|
5581
|
+
this.isMobile,
|
|
5582
|
+
this.refreshTenantId,
|
|
5583
|
+
);
|
|
5561
5584
|
|
|
5562
|
-
|
|
5585
|
+
logger$a.info('token refreshed', { token: session.token });
|
|
5563
5586
|
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5587
|
+
if (this.onRefreshToken) {
|
|
5588
|
+
this.onRefreshToken(session.token, session);
|
|
5589
|
+
}
|
|
5590
|
+
|
|
5591
|
+
this.setToken(session.token);
|
|
5567
5592
|
|
|
5568
|
-
|
|
5593
|
+
return session.token;
|
|
5594
|
+
} catch (error) {
|
|
5595
|
+
logger$a.error('token refresh, error', error);
|
|
5569
5596
|
|
|
5570
|
-
|
|
5597
|
+
if (this.onRefreshTokenError) {
|
|
5598
|
+
this.onRefreshTokenError(error);
|
|
5599
|
+
}
|
|
5600
|
+
}
|
|
5571
5601
|
}
|
|
5572
5602
|
|
|
5573
5603
|
setToken(token ) {
|
|
@@ -5590,6 +5620,10 @@ class ApiClient {
|
|
|
5590
5620
|
this.onRefreshToken = onRefreshToken;
|
|
5591
5621
|
}
|
|
5592
5622
|
|
|
5623
|
+
setOnRefreshTokenError(callback ) {
|
|
5624
|
+
this.onRefreshTokenError = callback;
|
|
5625
|
+
}
|
|
5626
|
+
|
|
5593
5627
|
setRefreshExpiration(refreshExpiration ) {
|
|
5594
5628
|
this.refreshExpiration = refreshExpiration;
|
|
5595
5629
|
}
|
|
@@ -8275,11 +8309,14 @@ class WebRTCClient extends Emitter {
|
|
|
8275
8309
|
}
|
|
8276
8310
|
|
|
8277
8311
|
async _disconnectTransport(force = false) {
|
|
8278
|
-
if (force) {
|
|
8312
|
+
if (force && this.userAgent && this.userAgent.transport) {
|
|
8279
8313
|
// Bypass sip.js state machine that prevent to close WS with the state `Connecting`
|
|
8280
8314
|
this.userAgent.transport.disconnectResolve = () => {};
|
|
8281
|
-
|
|
8282
|
-
this.userAgent.transport._ws
|
|
8315
|
+
|
|
8316
|
+
if (this.userAgent.transport._ws) {
|
|
8317
|
+
this.userAgent.transport._ws.close(1000);
|
|
8318
|
+
}
|
|
8319
|
+
|
|
8283
8320
|
return;
|
|
8284
8321
|
}
|
|
8285
8322
|
|
|
@@ -9832,7 +9869,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9832
9869
|
// When stopping screenshare and we had video before that, we have to re-upgrade
|
|
9833
9870
|
// When upgrading directly to screenshare (eg: we don't have a videoLocalStream to replace)
|
|
9834
9871
|
// We have to downgrade to audio.
|
|
9835
|
-
const screenshareStopped = this.currentScreenShare.
|
|
9872
|
+
const screenshareStopped = this.currentScreenShare.hadVideo;
|
|
9836
9873
|
const constraints = { audio: false, video: screenshareStopped };
|
|
9837
9874
|
|
|
9838
9875
|
// We have to remove the video sender to be able to re-upgrade to video in `sendReinvite` below
|
|
@@ -10276,7 +10313,7 @@ class WebRTCPhone extends Emitter {
|
|
|
10276
10313
|
|
|
10277
10314
|
logger$7.info('WebRTC hold sip session', { sipId: sipSession.id, hasVideo });
|
|
10278
10315
|
|
|
10279
|
-
// Stop
|
|
10316
|
+
// Stop screenshare if needed
|
|
10280
10317
|
if (this.currentScreenShare && this.currentScreenShare.sipSessionId === sessionId) {
|
|
10281
10318
|
this.lastScreenShare = this.currentScreenShare;
|
|
10282
10319
|
await this.stopScreenSharing(false, callSession);
|
|
@@ -11038,7 +11075,7 @@ class WebRTCPhone extends Emitter {
|
|
|
11038
11075
|
endTime: fromSession ? fromSession.endTime : null,
|
|
11039
11076
|
answered: state === SessionState.Established,
|
|
11040
11077
|
paused: this.client.isCallHeld(sipSession),
|
|
11041
|
-
isCaller: 'incoming' in extra ? !extra.incoming : false,
|
|
11078
|
+
isCaller: fromSession ? fromSession.isCaller : ('incoming' in extra ? !extra.incoming : false),
|
|
11042
11079
|
cameraEnabled: fromSession ? fromSession.isCameraEnabled() : this.client.hasVideo(sessionId),
|
|
11043
11080
|
number,
|
|
11044
11081
|
ringing: false,
|
|
@@ -11718,6 +11755,7 @@ class Auth {
|
|
|
11718
11755
|
|
|
11719
11756
|
|
|
11720
11757
|
|
|
11758
|
+
|
|
11721
11759
|
|
|
11722
11760
|
|
|
11723
11761
|
|
|
@@ -11755,6 +11793,14 @@ class Auth {
|
|
|
11755
11793
|
this.onRefreshTokenCallback(token, session);
|
|
11756
11794
|
}
|
|
11757
11795
|
});
|
|
11796
|
+
|
|
11797
|
+
setOnRefreshTokenError(error => {
|
|
11798
|
+
logger$5.error('on refresh token error', error);
|
|
11799
|
+
|
|
11800
|
+
if (this.onRefreshTokenCallbackError) {
|
|
11801
|
+
this.onRefreshTokenCallbackError(error);
|
|
11802
|
+
}
|
|
11803
|
+
});
|
|
11758
11804
|
}
|
|
11759
11805
|
|
|
11760
11806
|
setFetchOptions(options ) {
|
|
@@ -11843,6 +11889,10 @@ class Auth {
|
|
|
11843
11889
|
this.onRefreshTokenCallback = callback;
|
|
11844
11890
|
}
|
|
11845
11891
|
|
|
11892
|
+
setOnRefreshTokenError(callback ) {
|
|
11893
|
+
this.onRefreshTokenCallbackError = callback;
|
|
11894
|
+
}
|
|
11895
|
+
|
|
11846
11896
|
checkAuthorizations(session , authorizationName ) {
|
|
11847
11897
|
if (!authorizationName) {
|
|
11848
11898
|
return;
|
|
@@ -11875,6 +11925,12 @@ class Auth {
|
|
|
11875
11925
|
setRefreshToken(refreshToken);
|
|
11876
11926
|
}
|
|
11877
11927
|
|
|
11928
|
+
setRefreshTenantId(refreshTenantId ) {
|
|
11929
|
+
setRefreshTenantId(refreshTenantId);
|
|
11930
|
+
|
|
11931
|
+
getApiClient().setRefreshTenantId(refreshTenantId);
|
|
11932
|
+
}
|
|
11933
|
+
|
|
11878
11934
|
forceRefreshToken() {
|
|
11879
11935
|
getApiClient().forceRefreshToken();
|
|
11880
11936
|
}
|
package/esm/service/CallApi.js
CHANGED
|
@@ -2785,9 +2785,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2785
2785
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2786
2786
|
refresh_token: refreshToken,
|
|
2787
2787
|
client_id: client.clientId,
|
|
2788
|
-
tenant_id: tenantId,
|
|
2789
2788
|
};
|
|
2790
2789
|
|
|
2790
|
+
if (tenantId) {
|
|
2791
|
+
body.tenant_id = tenantId;
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2791
2794
|
const headers = {
|
|
2792
2795
|
'Content-Type': 'application/json',
|
|
2793
2796
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -4566,6 +4569,7 @@ class ApiClient {
|
|
|
4566
4569
|
|
|
4567
4570
|
|
|
4568
4571
|
|
|
4572
|
+
|
|
4569
4573
|
|
|
4570
4574
|
|
|
4571
4575
|
|
|
@@ -4618,23 +4622,31 @@ class ApiClient {
|
|
|
4618
4622
|
return null;
|
|
4619
4623
|
}
|
|
4620
4624
|
|
|
4621
|
-
|
|
4622
|
-
this.refreshToken
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4625
|
+
try {
|
|
4626
|
+
const session = await this.auth.refreshToken(
|
|
4627
|
+
this.refreshToken,
|
|
4628
|
+
this.refreshBackend,
|
|
4629
|
+
this.refreshExpiration,
|
|
4630
|
+
this.isMobile,
|
|
4631
|
+
this.refreshTenantId,
|
|
4632
|
+
);
|
|
4633
|
+
|
|
4634
|
+
logger.info('token refreshed', { token: session.token });
|
|
4635
|
+
|
|
4636
|
+
if (this.onRefreshToken) {
|
|
4637
|
+
this.onRefreshToken(session.token, session);
|
|
4638
|
+
}
|
|
4630
4639
|
|
|
4631
|
-
|
|
4632
|
-
this.onRefreshToken(session.token, session);
|
|
4633
|
-
}
|
|
4640
|
+
this.setToken(session.token);
|
|
4634
4641
|
|
|
4635
|
-
|
|
4642
|
+
return session.token;
|
|
4643
|
+
} catch (error) {
|
|
4644
|
+
logger.error('token refresh, error', error);
|
|
4636
4645
|
|
|
4637
|
-
|
|
4646
|
+
if (this.onRefreshTokenError) {
|
|
4647
|
+
this.onRefreshTokenError(error);
|
|
4648
|
+
}
|
|
4649
|
+
}
|
|
4638
4650
|
}
|
|
4639
4651
|
|
|
4640
4652
|
setToken(token ) {
|
|
@@ -4657,6 +4669,10 @@ class ApiClient {
|
|
|
4657
4669
|
this.onRefreshToken = onRefreshToken;
|
|
4658
4670
|
}
|
|
4659
4671
|
|
|
4672
|
+
setOnRefreshTokenError(callback ) {
|
|
4673
|
+
this.onRefreshTokenError = callback;
|
|
4674
|
+
}
|
|
4675
|
+
|
|
4660
4676
|
setRefreshExpiration(refreshExpiration ) {
|
|
4661
4677
|
this.refreshExpiration = refreshExpiration;
|
|
4662
4678
|
}
|
|
@@ -4692,7 +4708,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
4692
4708
|
global.wazoClientId = global.wazoClientId || {};
|
|
4693
4709
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
4694
4710
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
4711
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
4695
4712
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
4713
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
4696
4714
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
4697
4715
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
4698
4716
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -4708,12 +4726,20 @@ const fillClient = (apiClient ) => {
|
|
|
4708
4726
|
|
|
4709
4727
|
apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
|
|
4710
4728
|
|
|
4729
|
+
apiClient.setRefreshTenantId(
|
|
4730
|
+
global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId,
|
|
4731
|
+
);
|
|
4732
|
+
|
|
4711
4733
|
apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
|
|
4712
4734
|
|
|
4713
4735
|
apiClient.setOnRefreshToken(
|
|
4714
4736
|
global.wazoOnRefreshToken[server] || global.wazoOnRefreshToken[null] || apiClient.onRefreshToken,
|
|
4715
4737
|
);
|
|
4716
4738
|
|
|
4739
|
+
apiClient.setOnRefreshTokenError(
|
|
4740
|
+
global.wazoOnRefreshTokenError[server] || global.wazoOnRefreshTokenError[null] || apiClient.onRefreshTokenError,
|
|
4741
|
+
);
|
|
4742
|
+
|
|
4717
4743
|
apiClient.setRefreshExpiration(
|
|
4718
4744
|
global.wazoRefreshExpiration[server] || global.wazoRefreshExpiration[null] || apiClient.refreshExpiration,
|
|
4719
4745
|
);
|
|
@@ -4727,7 +4753,7 @@ const fillClient = (apiClient ) => {
|
|
|
4727
4753
|
return apiClient;
|
|
4728
4754
|
};
|
|
4729
4755
|
|
|
4730
|
-
var getApiClient = (forServer
|
|
4756
|
+
var getApiClient = (forServer = null) => {
|
|
4731
4757
|
const server = forServer || global.wazoCurrentServer || '';
|
|
4732
4758
|
if (server in global.wazoClients) {
|
|
4733
4759
|
return fillClient(global.wazoClients[server]);
|
|
@@ -2245,9 +2245,12 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2245
2245
|
expiration: expiration || DETAULT_EXPIRATION,
|
|
2246
2246
|
refresh_token: refreshToken,
|
|
2247
2247
|
client_id: client.clientId,
|
|
2248
|
-
tenant_id: tenantId,
|
|
2249
2248
|
};
|
|
2250
2249
|
|
|
2250
|
+
if (tenantId) {
|
|
2251
|
+
body.tenant_id = tenantId;
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2251
2254
|
const headers = {
|
|
2252
2255
|
'Content-Type': 'application/json',
|
|
2253
2256
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -4566,6 +4569,7 @@ class ApiClient {
|
|
|
4566
4569
|
|
|
4567
4570
|
|
|
4568
4571
|
|
|
4572
|
+
|
|
4569
4573
|
|
|
4570
4574
|
|
|
4571
4575
|
|
|
@@ -4618,23 +4622,31 @@ class ApiClient {
|
|
|
4618
4622
|
return null;
|
|
4619
4623
|
}
|
|
4620
4624
|
|
|
4621
|
-
|
|
4622
|
-
this.refreshToken
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4625
|
+
try {
|
|
4626
|
+
const session = await this.auth.refreshToken(
|
|
4627
|
+
this.refreshToken,
|
|
4628
|
+
this.refreshBackend,
|
|
4629
|
+
this.refreshExpiration,
|
|
4630
|
+
this.isMobile,
|
|
4631
|
+
this.refreshTenantId,
|
|
4632
|
+
);
|
|
4633
|
+
|
|
4634
|
+
logger.info('token refreshed', { token: session.token });
|
|
4635
|
+
|
|
4636
|
+
if (this.onRefreshToken) {
|
|
4637
|
+
this.onRefreshToken(session.token, session);
|
|
4638
|
+
}
|
|
4630
4639
|
|
|
4631
|
-
|
|
4632
|
-
this.onRefreshToken(session.token, session);
|
|
4633
|
-
}
|
|
4640
|
+
this.setToken(session.token);
|
|
4634
4641
|
|
|
4635
|
-
|
|
4642
|
+
return session.token;
|
|
4643
|
+
} catch (error) {
|
|
4644
|
+
logger.error('token refresh, error', error);
|
|
4636
4645
|
|
|
4637
|
-
|
|
4646
|
+
if (this.onRefreshTokenError) {
|
|
4647
|
+
this.onRefreshTokenError(error);
|
|
4648
|
+
}
|
|
4649
|
+
}
|
|
4638
4650
|
}
|
|
4639
4651
|
|
|
4640
4652
|
setToken(token ) {
|
|
@@ -4657,6 +4669,10 @@ class ApiClient {
|
|
|
4657
4669
|
this.onRefreshToken = onRefreshToken;
|
|
4658
4670
|
}
|
|
4659
4671
|
|
|
4672
|
+
setOnRefreshTokenError(callback ) {
|
|
4673
|
+
this.onRefreshTokenError = callback;
|
|
4674
|
+
}
|
|
4675
|
+
|
|
4660
4676
|
setRefreshExpiration(refreshExpiration ) {
|
|
4661
4677
|
this.refreshExpiration = refreshExpiration;
|
|
4662
4678
|
}
|
|
@@ -4692,7 +4708,9 @@ global.wazoClients = global.wazoClients || {};
|
|
|
4692
4708
|
global.wazoClientId = global.wazoClientId || {};
|
|
4693
4709
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
4694
4710
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
4711
|
+
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
4695
4712
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
4713
|
+
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
4696
4714
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
4697
4715
|
global.wazoRefreshBackend = global.wazoRefreshBackend || {};
|
|
4698
4716
|
global.wazoIsMobile = global.wazoIsMobile || {};
|
|
@@ -4714,10 +4732,18 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
|
|
|
4714
4732
|
global.wazoRefreshToken[forServer] = newRefreshToken;
|
|
4715
4733
|
};
|
|
4716
4734
|
|
|
4735
|
+
const setRefreshTenantId = (refreshTenantId , forServer = null) => {
|
|
4736
|
+
global.wazoRefreshTenantId[forServer] = refreshTenantId;
|
|
4737
|
+
};
|
|
4738
|
+
|
|
4717
4739
|
const setOnRefreshToken = (onRefreshToken , forServer = null) => {
|
|
4718
4740
|
global.wazoOnRefreshToken[forServer] = onRefreshToken;
|
|
4719
4741
|
};
|
|
4720
4742
|
|
|
4743
|
+
const setOnRefreshTokenError = (callback , forServer = null) => {
|
|
4744
|
+
global.wazoOnRefreshTokenError[forServer] = callback;
|
|
4745
|
+
};
|
|
4746
|
+
|
|
4721
4747
|
const setRefreshExpiration = (refreshExpiration , forServer = null) => {
|
|
4722
4748
|
global.wazoRefreshExpiration[forServer] = refreshExpiration;
|
|
4723
4749
|
};
|
|
@@ -4744,12 +4770,20 @@ const fillClient = (apiClient ) => {
|
|
|
4744
4770
|
|
|
4745
4771
|
apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
|
|
4746
4772
|
|
|
4773
|
+
apiClient.setRefreshTenantId(
|
|
4774
|
+
global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId,
|
|
4775
|
+
);
|
|
4776
|
+
|
|
4747
4777
|
apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
|
|
4748
4778
|
|
|
4749
4779
|
apiClient.setOnRefreshToken(
|
|
4750
4780
|
global.wazoOnRefreshToken[server] || global.wazoOnRefreshToken[null] || apiClient.onRefreshToken,
|
|
4751
4781
|
);
|
|
4752
4782
|
|
|
4783
|
+
apiClient.setOnRefreshTokenError(
|
|
4784
|
+
global.wazoOnRefreshTokenError[server] || global.wazoOnRefreshTokenError[null] || apiClient.onRefreshTokenError,
|
|
4785
|
+
);
|
|
4786
|
+
|
|
4753
4787
|
apiClient.setRefreshExpiration(
|
|
4754
4788
|
global.wazoRefreshExpiration[server] || global.wazoRefreshExpiration[null] || apiClient.refreshExpiration,
|
|
4755
4789
|
);
|
|
@@ -4763,7 +4797,7 @@ const fillClient = (apiClient ) => {
|
|
|
4763
4797
|
return apiClient;
|
|
4764
4798
|
};
|
|
4765
4799
|
|
|
4766
|
-
var getApiClient = (forServer
|
|
4800
|
+
var getApiClient = (forServer = null) => {
|
|
4767
4801
|
const server = forServer || global.wazoCurrentServer || '';
|
|
4768
4802
|
if (server in global.wazoClients) {
|
|
4769
4803
|
return fillClient(global.wazoClients[server]);
|
|
@@ -4775,4 +4809,4 @@ var getApiClient = (forServer ) => {
|
|
|
4775
4809
|
};
|
|
4776
4810
|
|
|
4777
4811
|
export default getApiClient;
|
|
4778
|
-
export { setApiClientId, setApiToken, setCurrentServer, setFetchOptions, setIsMobile, setOnRefreshToken, setRefreshBackend, setRefreshExpiration, setRefreshToken };
|
|
4812
|
+
export { setApiClientId, setApiToken, setCurrentServer, setFetchOptions, setIsMobile, setOnRefreshToken, setOnRefreshTokenError, setRefreshBackend, setRefreshExpiration, setRefreshTenantId, setRefreshToken };
|