@wazo/sdk 0.49.0 → 0.49.1
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/dist/index.js +75 -8
- package/dist/index.mjs +74 -8
- package/dist/types/base-api-client.d.ts +6 -0
- package/dist/types/base-api-client.d.ts.map +1 -1
- package/dist/types/domain/RefreshTokenError.d.ts +6 -0
- package/dist/types/domain/RefreshTokenError.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/wazo-sdk.js +74 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -79,6 +79,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
79
79
|
WazoApiClient: ()=>ApiClient,
|
|
80
80
|
BadResponse: ()=>BadResponse,
|
|
81
81
|
CTIPhone: ()=>CTIPhone,
|
|
82
|
+
RefreshTokenError: ()=>RefreshTokenError,
|
|
82
83
|
CallSession: ()=>CallSession,
|
|
83
84
|
Session: ()=>Session,
|
|
84
85
|
setOnRefreshTokenError: ()=>setOnRefreshTokenError,
|
|
@@ -97,7 +98,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
97
98
|
Contact: ()=>Contact,
|
|
98
99
|
setCurrentServer: ()=>setCurrentServer,
|
|
99
100
|
parsePhoneNumber: ()=>parsePhoneNumber,
|
|
100
|
-
SessionDescriptionHandler: ()=>
|
|
101
|
+
SessionDescriptionHandler: ()=>lib_WazoSessionDescriptionHandler,
|
|
101
102
|
default: ()=>src_0,
|
|
102
103
|
SFUNotAvailableError: ()=>SFUNotAvailableError,
|
|
103
104
|
Incall: ()=>Incall,
|
|
@@ -4039,6 +4040,14 @@ const auth = (client, baseUrl)=>({
|
|
|
4039
4040
|
getProviderAuthUrl: (userUuid, provider)=>client.post(`${baseUrl}/users/${userUuid}/external/${provider}`, {}),
|
|
4040
4041
|
deleteProviderToken: (userUuid, provider)=>client.delete(`${baseUrl}/users/${userUuid}/external/${provider}`)
|
|
4041
4042
|
});
|
|
4043
|
+
class RefreshTokenError extends Error {
|
|
4044
|
+
reason;
|
|
4045
|
+
constructor(reason){
|
|
4046
|
+
super(`Token refresh failed: ${reason}`);
|
|
4047
|
+
this.name = 'RefreshTokenError';
|
|
4048
|
+
this.reason = reason;
|
|
4049
|
+
}
|
|
4050
|
+
}
|
|
4042
4051
|
const base_api_client_logger = IssueReporter ? IssueReporter.loggerFor('api') : console;
|
|
4043
4052
|
class BaseApiClient {
|
|
4044
4053
|
client;
|
|
@@ -4052,6 +4061,9 @@ class BaseApiClient {
|
|
|
4052
4061
|
refreshDomainName;
|
|
4053
4062
|
isMobile;
|
|
4054
4063
|
fetchOptions;
|
|
4064
|
+
refreshTokenErrorNotified = false;
|
|
4065
|
+
refreshTokenPromise = null;
|
|
4066
|
+
refreshTokenGeneration = 0;
|
|
4055
4067
|
constructor({ server, agent = null, refreshToken, clientId, isMobile = false, fetchOptions }){
|
|
4056
4068
|
this.updateParameters({
|
|
4057
4069
|
server,
|
|
@@ -4081,6 +4093,17 @@ class BaseApiClient {
|
|
|
4081
4093
|
return this.refreshTokenCallback();
|
|
4082
4094
|
}
|
|
4083
4095
|
async refreshTokenCallback() {
|
|
4096
|
+
if (this.refreshTokenPromise) return this.refreshTokenPromise;
|
|
4097
|
+
const generation = this.refreshTokenGeneration;
|
|
4098
|
+
const promise = this.performTokenRefresh(generation);
|
|
4099
|
+
this.refreshTokenPromise = promise;
|
|
4100
|
+
try {
|
|
4101
|
+
return await promise;
|
|
4102
|
+
} finally{
|
|
4103
|
+
if (this.refreshTokenPromise === promise) this.refreshTokenPromise = null;
|
|
4104
|
+
}
|
|
4105
|
+
}
|
|
4106
|
+
async performTokenRefresh(generation) {
|
|
4084
4107
|
base_api_client_logger.info('refresh token callback called', {
|
|
4085
4108
|
refreshToken: obfuscateToken(this.refreshToken),
|
|
4086
4109
|
refreshBackend: this.refreshBackend,
|
|
@@ -4089,22 +4112,57 @@ class BaseApiClient {
|
|
|
4089
4112
|
refreshExpiration: this.refreshExpiration,
|
|
4090
4113
|
isMobile: this.isMobile
|
|
4091
4114
|
});
|
|
4092
|
-
if (!this.refreshToken)
|
|
4115
|
+
if (!this.refreshToken) {
|
|
4116
|
+
this.notifyRefreshTokenError(new RefreshTokenError('no_refresh_token'), 'no_refresh_token', generation);
|
|
4117
|
+
return null;
|
|
4118
|
+
}
|
|
4093
4119
|
try {
|
|
4094
4120
|
const session = await this.auth.refreshToken(this.refreshToken, this.refreshBackend, this.refreshExpiration, this.isMobile, this.refreshTenantId, this.refreshDomainName);
|
|
4095
|
-
if (!session)
|
|
4121
|
+
if (!session) {
|
|
4122
|
+
this.notifyRefreshTokenError(new RefreshTokenError('empty_session'), 'empty_session', generation);
|
|
4123
|
+
return null;
|
|
4124
|
+
}
|
|
4125
|
+
if (generation !== this.refreshTokenGeneration) {
|
|
4126
|
+
base_api_client_logger.info('ignoring stale token refresh success');
|
|
4127
|
+
return null;
|
|
4128
|
+
}
|
|
4096
4129
|
base_api_client_logger.info('token refreshed', {
|
|
4097
4130
|
token: obfuscateToken(session.token)
|
|
4098
4131
|
});
|
|
4099
|
-
|
|
4132
|
+
this.refreshTokenErrorNotified = false;
|
|
4133
|
+
this.refreshTokenGeneration += 1;
|
|
4100
4134
|
this.setToken(session.token);
|
|
4135
|
+
if (this.onRefreshToken) try {
|
|
4136
|
+
this.onRefreshToken(session.token, session);
|
|
4137
|
+
} catch (e) {
|
|
4138
|
+
base_api_client_logger.error('onRefreshToken handler failed', e);
|
|
4139
|
+
}
|
|
4101
4140
|
return session.token;
|
|
4102
4141
|
} catch (error) {
|
|
4103
4142
|
base_api_client_logger.error('token refresh, error', error);
|
|
4104
|
-
|
|
4143
|
+
this.notifyRefreshTokenError(error, void 0, generation);
|
|
4105
4144
|
}
|
|
4106
4145
|
return null;
|
|
4107
4146
|
}
|
|
4147
|
+
notifyRefreshTokenError(error, reason, generation = this.refreshTokenGeneration) {
|
|
4148
|
+
if (generation !== this.refreshTokenGeneration) {
|
|
4149
|
+
base_api_client_logger.info('ignoring stale token refresh failure', {
|
|
4150
|
+
reason
|
|
4151
|
+
});
|
|
4152
|
+
return;
|
|
4153
|
+
}
|
|
4154
|
+
if (reason) base_api_client_logger.error('token refresh failed', {
|
|
4155
|
+
reason
|
|
4156
|
+
});
|
|
4157
|
+
if (!this.onRefreshTokenError) return;
|
|
4158
|
+
if (this.refreshTokenErrorNotified) return;
|
|
4159
|
+
this.refreshTokenErrorNotified = true;
|
|
4160
|
+
try {
|
|
4161
|
+
this.onRefreshTokenError(error);
|
|
4162
|
+
} catch (e) {
|
|
4163
|
+
base_api_client_logger.error('onRefreshTokenError handler failed', e);
|
|
4164
|
+
}
|
|
4165
|
+
}
|
|
4108
4166
|
setToken(token) {
|
|
4109
4167
|
this.client.setToken(token);
|
|
4110
4168
|
}
|
|
@@ -4112,7 +4170,16 @@ class BaseApiClient {
|
|
|
4112
4170
|
this.client.setTenant(tenant);
|
|
4113
4171
|
}
|
|
4114
4172
|
setRefreshToken(refreshToken) {
|
|
4173
|
+
const changed = refreshToken !== this.refreshToken;
|
|
4115
4174
|
this.refreshToken = refreshToken;
|
|
4175
|
+
if (refreshToken) {
|
|
4176
|
+
this.refreshTokenErrorNotified = false;
|
|
4177
|
+
if (changed) {
|
|
4178
|
+
this.refreshTokenGeneration += 1;
|
|
4179
|
+
this.refreshTokenPromise = null;
|
|
4180
|
+
this.client.refreshTokenPromise = null;
|
|
4181
|
+
}
|
|
4182
|
+
}
|
|
4116
4183
|
}
|
|
4117
4184
|
setRequestTimeout(requestTimeout) {
|
|
4118
4185
|
this.client.setRequestTimeout(requestTimeout);
|
|
@@ -4870,7 +4937,7 @@ const wazoMediaStreamFactory = (constraints)=>{
|
|
|
4870
4937
|
if (constraints.screen && !constraints.desktop) return navigator.mediaDevices.getDisplayMedia.call(navigator.mediaDevices, constraints);
|
|
4871
4938
|
return navigator.mediaDevices.getUserMedia.call(navigator.mediaDevices, constraints);
|
|
4872
4939
|
};
|
|
4873
|
-
class
|
|
4940
|
+
class WazoSessionDescriptionHandler extends session_description_handler_namespaceObject.SessionDescriptionHandler {
|
|
4874
4941
|
gatheredCandidates;
|
|
4875
4942
|
eventEmitter;
|
|
4876
4943
|
isWeb;
|
|
@@ -5172,7 +5239,7 @@ class WazoSessionDescriptionHandler_WazoSessionDescriptionHandler extends sessio
|
|
|
5172
5239
|
return keysA.every((key, i)=>keysB[i] === key && this._constraintsEqual(a[key], b[key]));
|
|
5173
5240
|
}
|
|
5174
5241
|
}
|
|
5175
|
-
const
|
|
5242
|
+
const lib_WazoSessionDescriptionHandler = WazoSessionDescriptionHandler;
|
|
5176
5243
|
const lastIndexOf = (array, method)=>{
|
|
5177
5244
|
const start = array.length - 1;
|
|
5178
5245
|
for(let i = start; i >= 0; i--)if (method(array[i])) return i;
|
|
@@ -6777,7 +6844,7 @@ class WebRTCClient extends Emitter {
|
|
|
6777
6844
|
...options.peerConnectionConfiguration || {}
|
|
6778
6845
|
}
|
|
6779
6846
|
};
|
|
6780
|
-
return new
|
|
6847
|
+
return new lib_WazoSessionDescriptionHandler(uaLogger, wazoMediaStreamFactory, sdhOptions, isWeb, session);
|
|
6781
6848
|
},
|
|
6782
6849
|
transportOptions: {
|
|
6783
6850
|
traceSip: uaOptionsOverrides?.traceSip || false,
|
package/dist/index.mjs
CHANGED
|
@@ -3973,6 +3973,14 @@ const auth = (client, baseUrl)=>({
|
|
|
3973
3973
|
getProviderAuthUrl: (userUuid, provider)=>client.post(`${baseUrl}/users/${userUuid}/external/${provider}`, {}),
|
|
3974
3974
|
deleteProviderToken: (userUuid, provider)=>client.delete(`${baseUrl}/users/${userUuid}/external/${provider}`)
|
|
3975
3975
|
});
|
|
3976
|
+
class RefreshTokenError extends Error {
|
|
3977
|
+
reason;
|
|
3978
|
+
constructor(reason){
|
|
3979
|
+
super(`Token refresh failed: ${reason}`);
|
|
3980
|
+
this.name = 'RefreshTokenError';
|
|
3981
|
+
this.reason = reason;
|
|
3982
|
+
}
|
|
3983
|
+
}
|
|
3976
3984
|
const base_api_client_logger = IssueReporter ? IssueReporter.loggerFor('api') : console;
|
|
3977
3985
|
class BaseApiClient {
|
|
3978
3986
|
client;
|
|
@@ -3986,6 +3994,9 @@ class BaseApiClient {
|
|
|
3986
3994
|
refreshDomainName;
|
|
3987
3995
|
isMobile;
|
|
3988
3996
|
fetchOptions;
|
|
3997
|
+
refreshTokenErrorNotified = false;
|
|
3998
|
+
refreshTokenPromise = null;
|
|
3999
|
+
refreshTokenGeneration = 0;
|
|
3989
4000
|
constructor({ server, agent = null, refreshToken, clientId, isMobile = false, fetchOptions }){
|
|
3990
4001
|
this.updateParameters({
|
|
3991
4002
|
server,
|
|
@@ -4015,6 +4026,17 @@ class BaseApiClient {
|
|
|
4015
4026
|
return this.refreshTokenCallback();
|
|
4016
4027
|
}
|
|
4017
4028
|
async refreshTokenCallback() {
|
|
4029
|
+
if (this.refreshTokenPromise) return this.refreshTokenPromise;
|
|
4030
|
+
const generation = this.refreshTokenGeneration;
|
|
4031
|
+
const promise = this.performTokenRefresh(generation);
|
|
4032
|
+
this.refreshTokenPromise = promise;
|
|
4033
|
+
try {
|
|
4034
|
+
return await promise;
|
|
4035
|
+
} finally{
|
|
4036
|
+
if (this.refreshTokenPromise === promise) this.refreshTokenPromise = null;
|
|
4037
|
+
}
|
|
4038
|
+
}
|
|
4039
|
+
async performTokenRefresh(generation) {
|
|
4018
4040
|
base_api_client_logger.info('refresh token callback called', {
|
|
4019
4041
|
refreshToken: obfuscateToken(this.refreshToken),
|
|
4020
4042
|
refreshBackend: this.refreshBackend,
|
|
@@ -4023,22 +4045,57 @@ class BaseApiClient {
|
|
|
4023
4045
|
refreshExpiration: this.refreshExpiration,
|
|
4024
4046
|
isMobile: this.isMobile
|
|
4025
4047
|
});
|
|
4026
|
-
if (!this.refreshToken)
|
|
4048
|
+
if (!this.refreshToken) {
|
|
4049
|
+
this.notifyRefreshTokenError(new RefreshTokenError('no_refresh_token'), 'no_refresh_token', generation);
|
|
4050
|
+
return null;
|
|
4051
|
+
}
|
|
4027
4052
|
try {
|
|
4028
4053
|
const session = await this.auth.refreshToken(this.refreshToken, this.refreshBackend, this.refreshExpiration, this.isMobile, this.refreshTenantId, this.refreshDomainName);
|
|
4029
|
-
if (!session)
|
|
4054
|
+
if (!session) {
|
|
4055
|
+
this.notifyRefreshTokenError(new RefreshTokenError('empty_session'), 'empty_session', generation);
|
|
4056
|
+
return null;
|
|
4057
|
+
}
|
|
4058
|
+
if (generation !== this.refreshTokenGeneration) {
|
|
4059
|
+
base_api_client_logger.info('ignoring stale token refresh success');
|
|
4060
|
+
return null;
|
|
4061
|
+
}
|
|
4030
4062
|
base_api_client_logger.info('token refreshed', {
|
|
4031
4063
|
token: obfuscateToken(session.token)
|
|
4032
4064
|
});
|
|
4033
|
-
|
|
4065
|
+
this.refreshTokenErrorNotified = false;
|
|
4066
|
+
this.refreshTokenGeneration += 1;
|
|
4034
4067
|
this.setToken(session.token);
|
|
4068
|
+
if (this.onRefreshToken) try {
|
|
4069
|
+
this.onRefreshToken(session.token, session);
|
|
4070
|
+
} catch (e) {
|
|
4071
|
+
base_api_client_logger.error('onRefreshToken handler failed', e);
|
|
4072
|
+
}
|
|
4035
4073
|
return session.token;
|
|
4036
4074
|
} catch (error) {
|
|
4037
4075
|
base_api_client_logger.error('token refresh, error', error);
|
|
4038
|
-
|
|
4076
|
+
this.notifyRefreshTokenError(error, void 0, generation);
|
|
4039
4077
|
}
|
|
4040
4078
|
return null;
|
|
4041
4079
|
}
|
|
4080
|
+
notifyRefreshTokenError(error, reason, generation = this.refreshTokenGeneration) {
|
|
4081
|
+
if (generation !== this.refreshTokenGeneration) {
|
|
4082
|
+
base_api_client_logger.info('ignoring stale token refresh failure', {
|
|
4083
|
+
reason
|
|
4084
|
+
});
|
|
4085
|
+
return;
|
|
4086
|
+
}
|
|
4087
|
+
if (reason) base_api_client_logger.error('token refresh failed', {
|
|
4088
|
+
reason
|
|
4089
|
+
});
|
|
4090
|
+
if (!this.onRefreshTokenError) return;
|
|
4091
|
+
if (this.refreshTokenErrorNotified) return;
|
|
4092
|
+
this.refreshTokenErrorNotified = true;
|
|
4093
|
+
try {
|
|
4094
|
+
this.onRefreshTokenError(error);
|
|
4095
|
+
} catch (e) {
|
|
4096
|
+
base_api_client_logger.error('onRefreshTokenError handler failed', e);
|
|
4097
|
+
}
|
|
4098
|
+
}
|
|
4042
4099
|
setToken(token) {
|
|
4043
4100
|
this.client.setToken(token);
|
|
4044
4101
|
}
|
|
@@ -4046,7 +4103,16 @@ class BaseApiClient {
|
|
|
4046
4103
|
this.client.setTenant(tenant);
|
|
4047
4104
|
}
|
|
4048
4105
|
setRefreshToken(refreshToken) {
|
|
4106
|
+
const changed = refreshToken !== this.refreshToken;
|
|
4049
4107
|
this.refreshToken = refreshToken;
|
|
4108
|
+
if (refreshToken) {
|
|
4109
|
+
this.refreshTokenErrorNotified = false;
|
|
4110
|
+
if (changed) {
|
|
4111
|
+
this.refreshTokenGeneration += 1;
|
|
4112
|
+
this.refreshTokenPromise = null;
|
|
4113
|
+
this.client.refreshTokenPromise = null;
|
|
4114
|
+
}
|
|
4115
|
+
}
|
|
4050
4116
|
}
|
|
4051
4117
|
setRequestTimeout(requestTimeout) {
|
|
4052
4118
|
this.client.setRequestTimeout(requestTimeout);
|
|
@@ -4784,7 +4850,7 @@ const wazoMediaStreamFactory = (constraints)=>{
|
|
|
4784
4850
|
if (constraints.screen && !constraints.desktop) return navigator.mediaDevices.getDisplayMedia.call(navigator.mediaDevices, constraints);
|
|
4785
4851
|
return navigator.mediaDevices.getUserMedia.call(navigator.mediaDevices, constraints);
|
|
4786
4852
|
};
|
|
4787
|
-
class
|
|
4853
|
+
class WazoSessionDescriptionHandler extends __WEBPACK_EXTERNAL_MODULE_sip_js_lib_platform_web_session_description_handler_session_description_handler_fdd90ea0__.SessionDescriptionHandler {
|
|
4788
4854
|
gatheredCandidates;
|
|
4789
4855
|
eventEmitter;
|
|
4790
4856
|
isWeb;
|
|
@@ -5086,7 +5152,7 @@ class WazoSessionDescriptionHandler_WazoSessionDescriptionHandler extends __WEBP
|
|
|
5086
5152
|
return keysA.every((key, i)=>keysB[i] === key && this._constraintsEqual(a[key], b[key]));
|
|
5087
5153
|
}
|
|
5088
5154
|
}
|
|
5089
|
-
const
|
|
5155
|
+
const lib_WazoSessionDescriptionHandler = WazoSessionDescriptionHandler;
|
|
5090
5156
|
const lastIndexOf = (array, method)=>{
|
|
5091
5157
|
const start = array.length - 1;
|
|
5092
5158
|
for(let i = start; i >= 0; i--)if (method(array[i])) return i;
|
|
@@ -6691,7 +6757,7 @@ class WebRTCClient extends Emitter {
|
|
|
6691
6757
|
...options.peerConnectionConfiguration || {}
|
|
6692
6758
|
}
|
|
6693
6759
|
};
|
|
6694
|
-
return new
|
|
6760
|
+
return new lib_WazoSessionDescriptionHandler(uaLogger, wazoMediaStreamFactory, sdhOptions, isWeb, session);
|
|
6695
6761
|
},
|
|
6696
6762
|
transportOptions: {
|
|
6697
6763
|
traceSip: uaOptionsOverrides?.traceSip || false,
|
|
@@ -11296,4 +11362,4 @@ const getCallableNumber = (number, country)=>{
|
|
|
11296
11362
|
};
|
|
11297
11363
|
const { SOCKET_EVENTS: types_SOCKET_EVENTS, ...types_OTHER_EVENTS } = websocket_client_namespaceObject;
|
|
11298
11364
|
const src_0 = simple;
|
|
11299
|
-
export { AdHocAPIConference, domain_Agent as Agent, ApiRequester, BadResponse, BaseApiClient, Country as COUNTRIES, CTIPhone, Call, CallApi, CallLog, CallSession, CallerID, ChatMessage, ChatRoom, checker_Checker as Checker, Contact, DebugDevice, Emitter, ExternalApp, FORWARD_KEYS, domain_Features as Features, ForwardOption, Incall, IndirectTransfer, IssueReporter, LINE_STATE, Line, Meeting, MeetingAuthorization, MeetingStatus, NotificationOptions, STATE as PROFILE_STATE, Profile, RECORDING_STATE, Recording, domain_Relocation as Relocation, Room, SFUNotAvailableError, SOCKET_EVENTS, ServerError, Session,
|
|
11365
|
+
export { AdHocAPIConference, domain_Agent as Agent, ApiRequester, BadResponse, BaseApiClient, Country as COUNTRIES, CTIPhone, Call, CallApi, CallLog, CallSession, CallerID, ChatMessage, ChatRoom, checker_Checker as Checker, Contact, DebugDevice, Emitter, ExternalApp, FORWARD_KEYS, domain_Features as Features, ForwardOption, Incall, IndirectTransfer, IssueReporter, LINE_STATE, Line, Meeting, MeetingAuthorization, MeetingStatus, NotificationOptions, STATE as PROFILE_STATE, Profile, RECORDING_STATE, Recording, RefreshTokenError, domain_Relocation as Relocation, Room, SFUNotAvailableError, SOCKET_EVENTS, ServerError, Session, lib_WazoSessionDescriptionHandler as SessionDescriptionHandler, SipLine, domain_SwitchboardCall as SwitchboardCall, UserIdentity, Voicemail, VoicemailFolder, ApiClient as WazoApiClient, WebRTCClient, WebRTCPhone, websocket_client as WebSocketClient, camelToUnderscore, src_0 as default, service_getApiClient as getApiClient, getCallableNumber, getDisplayableNumber, guessParsePhoneNumber, obfuscateToken, parseDiversionHeader, parsePhoneNumber, setApiToken, setCurrentServer, setIsMobile, setOnRefreshToken, setOnRefreshTokenError };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import authMethods from './api/auth';
|
|
2
|
+
import { type RefreshTokenErrorReason } from './domain/RefreshTokenError';
|
|
2
3
|
import ApiRequester from './utils/api-requester';
|
|
3
4
|
export type ConstructorParams = {
|
|
4
5
|
server: string;
|
|
@@ -20,11 +21,16 @@ export default class BaseApiClient {
|
|
|
20
21
|
refreshDomainName: string | null | undefined;
|
|
21
22
|
isMobile: boolean;
|
|
22
23
|
fetchOptions: Record<string, any>;
|
|
24
|
+
refreshTokenErrorNotified: boolean;
|
|
25
|
+
refreshTokenPromise: Promise<string | null> | null;
|
|
26
|
+
refreshTokenGeneration: number;
|
|
23
27
|
constructor({ server, agent, refreshToken, clientId, isMobile, fetchOptions, }: ConstructorParams);
|
|
24
28
|
initializeEndpoints(): void;
|
|
25
29
|
updateParameters({ server, agent, clientId, fetchOptions }: Record<string, any>): void;
|
|
26
30
|
forceRefreshToken(): Promise<string | null>;
|
|
27
31
|
refreshTokenCallback(): Promise<string | null>;
|
|
32
|
+
performTokenRefresh(generation: number): Promise<string | null>;
|
|
33
|
+
notifyRefreshTokenError(error: Error, reason?: RefreshTokenErrorReason, generation?: number): void;
|
|
28
34
|
setToken(token: string): void;
|
|
29
35
|
setTenant(tenant: string): void;
|
|
30
36
|
setRefreshToken(refreshToken: string | null | undefined): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-api-client.d.ts","sourceRoot":"","sources":["../../src/base-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,YAAY,CAAC;AACrC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAKjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,EAAE,YAAY,CAAC;IAErB,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAErC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAExC,cAAc,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAElE,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAEvE,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE7C,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE1C,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE3C,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE7C,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"base-api-client.d.ts","sourceRoot":"","sources":["../../src/base-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshTokenError.d.ts","sourceRoot":"","sources":["../../../src/domain/RefreshTokenError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,KAAK;IAClD,MAAM,EAAE,uBAAuB,CAAC;gBAEpB,MAAM,EAAE,uBAAuB;CAK5C"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { default as IssueReporter } from './service/IssueReporter';
|
|
|
4
4
|
export { default as BadResponse } from './domain/BadResponse';
|
|
5
5
|
export { default as ServerError } from './domain/ServerError';
|
|
6
6
|
export { default as SFUNotAvailableError } from './domain/SFUNotAvailableError';
|
|
7
|
+
export { default as RefreshTokenError, type RefreshTokenErrorReason } from './domain/RefreshTokenError';
|
|
7
8
|
export { default as Call, RECORDING_STATE } from './domain/Call';
|
|
8
9
|
export { default as CallLog } from './domain/CallLog';
|
|
9
10
|
export { default as Recording } from './domain/Recording';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/wazo-sdk.js
CHANGED
|
@@ -33286,6 +33286,7 @@
|
|
|
33286
33286
|
WazoApiClient: ()=>ApiClient,
|
|
33287
33287
|
BadResponse: ()=>BadResponse,
|
|
33288
33288
|
CTIPhone: ()=>CTIPhone,
|
|
33289
|
+
RefreshTokenError: ()=>RefreshTokenError,
|
|
33289
33290
|
CallSession: ()=>CallSession,
|
|
33290
33291
|
Session: ()=>Session,
|
|
33291
33292
|
setOnRefreshTokenError: ()=>setOnRefreshTokenError,
|
|
@@ -37456,6 +37457,14 @@ BwIDAQAB
|
|
|
37456
37457
|
getProviderAuthUrl: (userUuid, provider)=>client.post(`${baseUrl}/users/${userUuid}/external/${provider}`, {}),
|
|
37457
37458
|
deleteProviderToken: (userUuid, provider)=>client.delete(`${baseUrl}/users/${userUuid}/external/${provider}`)
|
|
37458
37459
|
});
|
|
37460
|
+
class RefreshTokenError extends Error {
|
|
37461
|
+
reason;
|
|
37462
|
+
constructor(reason){
|
|
37463
|
+
super(`Token refresh failed: ${reason}`);
|
|
37464
|
+
this.name = 'RefreshTokenError';
|
|
37465
|
+
this.reason = reason;
|
|
37466
|
+
}
|
|
37467
|
+
}
|
|
37459
37468
|
const base_api_client_logger = IssueReporter ? IssueReporter.loggerFor('api') : console;
|
|
37460
37469
|
class BaseApiClient {
|
|
37461
37470
|
client;
|
|
@@ -37469,6 +37478,9 @@ BwIDAQAB
|
|
|
37469
37478
|
refreshDomainName;
|
|
37470
37479
|
isMobile;
|
|
37471
37480
|
fetchOptions;
|
|
37481
|
+
refreshTokenErrorNotified = false;
|
|
37482
|
+
refreshTokenPromise = null;
|
|
37483
|
+
refreshTokenGeneration = 0;
|
|
37472
37484
|
constructor({ server, agent = null, refreshToken, clientId, isMobile = false, fetchOptions }){
|
|
37473
37485
|
this.updateParameters({
|
|
37474
37486
|
server,
|
|
@@ -37498,6 +37510,17 @@ BwIDAQAB
|
|
|
37498
37510
|
return this.refreshTokenCallback();
|
|
37499
37511
|
}
|
|
37500
37512
|
async refreshTokenCallback() {
|
|
37513
|
+
if (this.refreshTokenPromise) return this.refreshTokenPromise;
|
|
37514
|
+
const generation = this.refreshTokenGeneration;
|
|
37515
|
+
const promise = this.performTokenRefresh(generation);
|
|
37516
|
+
this.refreshTokenPromise = promise;
|
|
37517
|
+
try {
|
|
37518
|
+
return await promise;
|
|
37519
|
+
} finally{
|
|
37520
|
+
if (this.refreshTokenPromise === promise) this.refreshTokenPromise = null;
|
|
37521
|
+
}
|
|
37522
|
+
}
|
|
37523
|
+
async performTokenRefresh(generation) {
|
|
37501
37524
|
base_api_client_logger.info('refresh token callback called', {
|
|
37502
37525
|
refreshToken: obfuscateToken(this.refreshToken),
|
|
37503
37526
|
refreshBackend: this.refreshBackend,
|
|
@@ -37506,22 +37529,57 @@ BwIDAQAB
|
|
|
37506
37529
|
refreshExpiration: this.refreshExpiration,
|
|
37507
37530
|
isMobile: this.isMobile
|
|
37508
37531
|
});
|
|
37509
|
-
if (!this.refreshToken)
|
|
37532
|
+
if (!this.refreshToken) {
|
|
37533
|
+
this.notifyRefreshTokenError(new RefreshTokenError('no_refresh_token'), 'no_refresh_token', generation);
|
|
37534
|
+
return null;
|
|
37535
|
+
}
|
|
37510
37536
|
try {
|
|
37511
37537
|
const session = await this.auth.refreshToken(this.refreshToken, this.refreshBackend, this.refreshExpiration, this.isMobile, this.refreshTenantId, this.refreshDomainName);
|
|
37512
|
-
if (!session)
|
|
37538
|
+
if (!session) {
|
|
37539
|
+
this.notifyRefreshTokenError(new RefreshTokenError('empty_session'), 'empty_session', generation);
|
|
37540
|
+
return null;
|
|
37541
|
+
}
|
|
37542
|
+
if (generation !== this.refreshTokenGeneration) {
|
|
37543
|
+
base_api_client_logger.info('ignoring stale token refresh success');
|
|
37544
|
+
return null;
|
|
37545
|
+
}
|
|
37513
37546
|
base_api_client_logger.info('token refreshed', {
|
|
37514
37547
|
token: obfuscateToken(session.token)
|
|
37515
37548
|
});
|
|
37516
|
-
|
|
37549
|
+
this.refreshTokenErrorNotified = false;
|
|
37550
|
+
this.refreshTokenGeneration += 1;
|
|
37517
37551
|
this.setToken(session.token);
|
|
37552
|
+
if (this.onRefreshToken) try {
|
|
37553
|
+
this.onRefreshToken(session.token, session);
|
|
37554
|
+
} catch (e) {
|
|
37555
|
+
base_api_client_logger.error('onRefreshToken handler failed', e);
|
|
37556
|
+
}
|
|
37518
37557
|
return session.token;
|
|
37519
37558
|
} catch (error) {
|
|
37520
37559
|
base_api_client_logger.error('token refresh, error', error);
|
|
37521
|
-
|
|
37560
|
+
this.notifyRefreshTokenError(error, void 0, generation);
|
|
37522
37561
|
}
|
|
37523
37562
|
return null;
|
|
37524
37563
|
}
|
|
37564
|
+
notifyRefreshTokenError(error, reason, generation = this.refreshTokenGeneration) {
|
|
37565
|
+
if (generation !== this.refreshTokenGeneration) {
|
|
37566
|
+
base_api_client_logger.info('ignoring stale token refresh failure', {
|
|
37567
|
+
reason
|
|
37568
|
+
});
|
|
37569
|
+
return;
|
|
37570
|
+
}
|
|
37571
|
+
if (reason) base_api_client_logger.error('token refresh failed', {
|
|
37572
|
+
reason
|
|
37573
|
+
});
|
|
37574
|
+
if (!this.onRefreshTokenError) return;
|
|
37575
|
+
if (this.refreshTokenErrorNotified) return;
|
|
37576
|
+
this.refreshTokenErrorNotified = true;
|
|
37577
|
+
try {
|
|
37578
|
+
this.onRefreshTokenError(error);
|
|
37579
|
+
} catch (e) {
|
|
37580
|
+
base_api_client_logger.error('onRefreshTokenError handler failed', e);
|
|
37581
|
+
}
|
|
37582
|
+
}
|
|
37525
37583
|
setToken(token) {
|
|
37526
37584
|
this.client.setToken(token);
|
|
37527
37585
|
}
|
|
@@ -37529,7 +37587,16 @@ BwIDAQAB
|
|
|
37529
37587
|
this.client.setTenant(tenant);
|
|
37530
37588
|
}
|
|
37531
37589
|
setRefreshToken(refreshToken) {
|
|
37590
|
+
const changed = refreshToken !== this.refreshToken;
|
|
37532
37591
|
this.refreshToken = refreshToken;
|
|
37592
|
+
if (refreshToken) {
|
|
37593
|
+
this.refreshTokenErrorNotified = false;
|
|
37594
|
+
if (changed) {
|
|
37595
|
+
this.refreshTokenGeneration += 1;
|
|
37596
|
+
this.refreshTokenPromise = null;
|
|
37597
|
+
this.client.refreshTokenPromise = null;
|
|
37598
|
+
}
|
|
37599
|
+
}
|
|
37533
37600
|
}
|
|
37534
37601
|
setRequestTimeout(requestTimeout) {
|
|
37535
37602
|
this.client.setRequestTimeout(requestTimeout);
|
|
@@ -55487,9 +55554,9 @@ and limitations under the License.
|
|
|
55487
55554
|
}
|
|
55488
55555
|
}
|
|
55489
55556
|
const Participant = Participant_Participant;
|
|
55490
|
-
class
|
|
55557
|
+
class LocalParticipant extends Participant {
|
|
55491
55558
|
}
|
|
55492
|
-
const
|
|
55559
|
+
const room_LocalParticipant = LocalParticipant;
|
|
55493
55560
|
class RemoteParticipant extends Participant {
|
|
55494
55561
|
constructor(room, rawParticipant, extra = {}){
|
|
55495
55562
|
super(room, rawParticipant, extra);
|
|
@@ -56323,7 +56390,7 @@ and limitations under the License.
|
|
|
56323
56390
|
Room: room_Room,
|
|
56324
56391
|
SipRoom: room_SipRoom,
|
|
56325
56392
|
RemoteParticipant: room_RemoteParticipant,
|
|
56326
|
-
LocalParticipant:
|
|
56393
|
+
LocalParticipant: room_LocalParticipant,
|
|
56327
56394
|
Participant: Participant,
|
|
56328
56395
|
Stream: Stream,
|
|
56329
56396
|
createLocalVideoStream: createLocalVideoStream,
|