@reachfive/identity-ui 1.23.0 → 1.24.0

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/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.24.0] - 2023-01-05
11
+ - Add variable locale
12
+
13
+ ## [1.23.1] - 2023-12-12
14
+
15
+ ### Fixes
16
+
17
+ - Handle provider variants correctly in showSocialAccount.
18
+
10
19
  ## [1.23.0] - 2023-11-27
11
20
 
12
21
  ## Added
@@ -380,7 +389,11 @@ The eye icon is now correctly displayed in the Auth widget.
380
389
 
381
390
  First version of the SDK Web UI.
382
391
 
383
- [Unreleased]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.23.0...HEAD
392
+ [Unreleased]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.24.0...HEAD
393
+
394
+ [1.24.0]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.23.1...v1.24.0
395
+
396
+ [1.23.1]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.23.0...v1.23.1
384
397
 
385
398
  [1.23.0]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.22.0...v1.23.0
386
399
 
@@ -12127,7 +12127,10 @@ var socialAccountsWidget = createMultiViewWidget({
12127
12127
  providers: config.socialProviders
12128
12128
  }, options), {}, {
12129
12129
  getAvailableProviders: function getAvailableProviders(identities) {
12130
- return difference(options.providers || config.socialProviders, identities.map(function (i) {
12130
+ var providerNames = (options.providers || config.socialProviders).map(function (provider) {
12131
+ return provider.split(':').shift();
12132
+ });
12133
+ return difference(providerNames, identities.map(function (i) {
12131
12134
  return i.provider;
12132
12135
  }));
12133
12136
  }
package/es/identity-ui.js CHANGED
@@ -12119,7 +12119,10 @@ var socialAccountsWidget = createMultiViewWidget({
12119
12119
  providers: config.socialProviders
12120
12120
  }, options), {}, {
12121
12121
  getAvailableProviders: function getAvailableProviders(identities) {
12122
- return difference(options.providers || config.socialProviders, identities.map(function (i) {
12122
+ var providerNames = (options.providers || config.socialProviders).map(function (provider) {
12123
+ return provider.split(':').shift();
12124
+ });
12125
+ return difference(providerNames, identities.map(function (i) {
12123
12126
  return i.provider;
12124
12127
  }));
12125
12128
  }
package/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export interface Config {
26
26
  clientId: string,
27
27
  domain: string,
28
28
  language?: string,
29
+ locale?: string
29
30
  }
30
31
 
31
32
  export interface WidgetInstance {
@@ -373,7 +374,7 @@ export interface SocialAccountsOptions extends AccessToken, Container, I18n, OnR
373
374
  *
374
375
  * Tip: If you pass an empty array, social providers will not be displayed.
375
376
  * */
376
- socialProviders?: ProviderId[]
377
+ providers?: ProviderId[]
377
378
 
378
379
  /** List of authentication options */
379
380
  auth?: CoreAuthOptions
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reachfive/identity-ui",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
4
4
  "description": "ReachFive Identity Web UI SDK",
5
5
  "author": "ReachFive",
6
6
  "repository": {
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@hypnosphi/recompose": "0.30.5",
23
- "@reachfive/identity-core": "^1.30.0",
23
+ "@reachfive/identity-core": "^1.32.0",
24
24
  "@reachfive/zxcvbn": "1.0.0-alpha.2",
25
25
  "buffer": "^6.0.3",
26
26
  "char-info": "0.3.2",
@@ -8016,14 +8016,14 @@
8016
8016
  if(event.origin!==origin)return;// Verify the event's syntax
8017
8017
  var data=camelCaseProperties(event.data);if(data.type!=='authorization_response')return;// The iframe is no longer needed, clean it up ..
8018
8018
  if(window.document.body.contains(iframe)){window.document.body.removeChild(iframe);}var result=data.response;if(AuthResult.isAuthResult(result)){if(result.code){resolve(_this.exchangeAuthorizationCodeWithPkce({code:result.code,redirectUri:redirectUri||window.location.origin}));}else {_this.eventManager.fireEvent('authenticated',data.response);resolve(enrichAuthResult(data.response));}}else if(ErrorResponse.isErrorResponse(result)){// The 'authentication_failed' event must not be triggered because it is not a real authentication failure.
8019
- reject(result);}else {reject({error:'unexpected_error',errorDescription:'Unexpected error occurred'});}window.removeEventListener('message',listener,false);};window.addEventListener('message',listener,false);document.body.appendChild(iframe);})["finally"](function(){_this.releaseAuthorizationLock();_this.releaseSessionLock();});};OAuthClient.prototype.loginWithPopup=function(opts){var _this=this;var responseType=opts.responseType,redirectUri=opts.redirectUri,provider=opts.provider;winchan.open({url:this.authorizeUrl+"?"+toQueryString(opts),relay_url:this.popupRelayUrl,window_features:this.computeProviderPopupOptions(provider)},function(err,result){if(err){logError(err);_this.eventManager.fireEvent('authentication_failed',{errorDescription:'Unexpected error occurred',error:'server_error'});return;}var r=camelCaseProperties(result);if(r.success){if(responseType==='code'){window.location.assign(redirectUri+"?code="+r.data.code);}else {_this.eventManager.fireEvent('authenticated',r.data);}}else {_this.eventManager.fireEvent('authentication_failed',r.data);}});return Promise.resolve();};OAuthClient.prototype.computeProviderPopupOptions=function(provider){try{var opts=popupSize(provider);var left=Math.max(0,(screen.width-opts.width)/2);var top_1=Math.max(0,(screen.height-opts.height)/2);var width=Math.min(screen.width,opts.width);var height=Math.min(screen.height,opts.height);return "menubar=0,toolbar=0,resizable=1,scrollbars=1,width="+width+",height="+height+",top="+top_1+",left="+left;}catch(e){return 'menubar=0,toolbar=0,resizable=1,scrollbars=1,width=960,height=680';}};OAuthClient.prototype.redirectThruAuthorization=function(queryString){var location=this.getAuthorizationUrl(queryString);this.releaseAuthorizationLock();this.releaseSessionLock();window.location.assign(location);return Promise.resolve();};OAuthClient.prototype.loginWithVerificationCode=function(params,auth){if(auth===void 0){auth={};}var queryString=toQueryString(_assign(_assign({},this.authParams(auth)),params));window.location.assign(this.passwordlessVerifyUrl+"?"+queryString);};OAuthClient.prototype.ropcPasswordLogin=function(params){var _this=this;var auth=params.auth;return this.http.post(this.tokenUrl,{body:_assign({clientId:this.config.clientId,grantType:'password',username:this.getAuthenticationId(params),password:params.password,scope:resolveScope(auth,this.config.scope)},pick_1(auth,'origin'))}).then(function(authResult){_this.eventManager.fireEvent('authenticated',authResult);return enrichAuthResult(authResult);});};OAuthClient.prototype.loginWithCordovaInAppBrowser=function(opts){return this.openInCordovaSystemBrowser(this.getAuthorizationUrl(_assign(_assign({},opts),{display:'page'})));};OAuthClient.prototype.openInCordovaSystemBrowser=function(url){return this.getAvailableBrowserTabPlugin().then(function(maybeBrowserTab){if(!window.cordova){return Promise.reject(new Error('Cordova environnement not detected.'));}if(maybeBrowserTab){maybeBrowserTab.openUrl(url,function(){},logError);return Promise.resolve();}if(window.cordova.InAppBrowser){var ref=window.cordova.platformId==='ios'?// Open a webview (to pass Apple validation tests)
8019
+ reject(result);}else {reject({error:'unexpected_error',errorDescription:'Unexpected error occurred'});}window.removeEventListener('message',listener,false);};window.addEventListener('message',listener,false);document.body.appendChild(iframe);})["finally"](function(){_this.releaseAuthorizationLock();_this.releaseSessionLock();});};OAuthClient.prototype.loginWithPopup=function(opts){var _this=this;var responseType=opts.responseType,redirectUri=opts.redirectUri,provider=opts.provider;winchan.open({url:this.authorizeUrl+"?"+toQueryString(opts),relay_url:this.popupRelayUrl,window_features:this.computeProviderPopupOptions(provider)},function(err,result){if(err){logError(err);_this.eventManager.fireEvent('authentication_failed',{errorDescription:'Unexpected error occurred',error:'server_error'});return;}var r=camelCaseProperties(result);if(r.success){if(responseType==='code'){window.location.assign(redirectUri+"?code="+r.data.code);}else {_this.eventManager.fireEvent('authenticated',r.data);}}else {_this.eventManager.fireEvent('authentication_failed',r.data);}});return Promise.resolve();};OAuthClient.prototype.computeProviderPopupOptions=function(provider){try{var opts=popupSize(provider);var left=Math.max(0,(screen.width-opts.width)/2);var top_1=Math.max(0,(screen.height-opts.height)/2);var width=Math.min(screen.width,opts.width);var height=Math.min(screen.height,opts.height);return "menubar=0,toolbar=0,resizable=1,scrollbars=1,width="+width+",height="+height+",top="+top_1+",left="+left;}catch(e){return 'menubar=0,toolbar=0,resizable=1,scrollbars=1,width=960,height=680';}};OAuthClient.prototype.redirectThruAuthorization=function(queryString){var location=this.getAuthorizationUrl(queryString);this.releaseAuthorizationLock();this.releaseSessionLock();window.location.assign(location);return Promise.resolve();};OAuthClient.prototype.loginWithVerificationCode=function(params,auth){if(auth===void 0){auth={};}var queryString=toQueryString(_assign(_assign({},this.authParams(auth)),params));if(auth.useWebMessage){return this.getWebMessage(this.passwordlessVerifyUrl+"?"+queryString,this.config.baseUrl,auth.redirectUri).then();}else {window.location.assign(this.passwordlessVerifyUrl+"?"+queryString);return Promise.resolve();}};OAuthClient.prototype.ropcPasswordLogin=function(params){var _this=this;var auth=params.auth;return this.http.post(this.tokenUrl,{body:_assign({clientId:this.config.clientId,grantType:'password',username:this.getAuthenticationId(params),password:params.password,scope:resolveScope(auth,this.config.scope)},pick_1(auth,'origin'))}).then(function(authResult){_this.eventManager.fireEvent('authenticated',authResult);return enrichAuthResult(authResult);});};OAuthClient.prototype.loginWithCordovaInAppBrowser=function(opts){return this.openInCordovaSystemBrowser(this.getAuthorizationUrl(_assign(_assign({},opts),{display:'page'})));};OAuthClient.prototype.openInCordovaSystemBrowser=function(url){return this.getAvailableBrowserTabPlugin().then(function(maybeBrowserTab){if(!window.cordova){return Promise.reject(new Error('Cordova environnement not detected.'));}if(maybeBrowserTab){maybeBrowserTab.openUrl(url,function(){},logError);return Promise.resolve();}if(window.cordova.InAppBrowser){var ref=window.cordova.platformId==='ios'?// Open a webview (to pass Apple validation tests)
8020
8020
  window.cordova.InAppBrowser.open(url,'_blank'):// Open the system browser
8021
8021
  window.cordova.InAppBrowser.open(url,'_system');return Promise.resolve(ref);}return Promise.reject(new Error('Cordova plugin "InAppBrowser" is required.'));});};OAuthClient.prototype.getAvailableBrowserTabPlugin=function(){return new Promise(function(resolve,reject){var cordova=window.cordova;if(!cordova||!cordova.plugins||!cordova.plugins.browsertab)return resolve(undefined);var plugin=cordova.plugins.browsertab;plugin.isAvailable(function(isAvailable){return resolve(isAvailable?plugin:undefined);},reject);});};OAuthClient.prototype.storeCredentialsInBrowser=function(params){if(!params.saveCredentials)return Promise.resolve();if(navigator.credentials&&navigator.credentials.create&&navigator.credentials.store){var credentialParams={password:{password:params.password,id:this.getAuthenticationId(params)}};return navigator.credentials.create(credentialParams).then(function(credentials){return !isUndefined_1(credentials)&&credentials?navigator.credentials.store(credentials).then(function(){}):Promise.resolve();});}else {logError('Unsupported Credentials Management API');return Promise.resolve();}};// TODO: Make passwordless able to handle web_message
8022
8022
  // Asana https://app.asana.com/0/982150578058310/1200173806808689/f
8023
8023
  OAuthClient.prototype.resolveSingleFactorPasswordlessParams=function(params,auth){if(auth===void 0){auth={};}var authType=params.authType,email=params.email,phoneNumber=params.phoneNumber,captchaToken=params.captchaToken;if(this.config.orchestrationToken){var authParams=this.orchestratedFlowParams(this.config.orchestrationToken,auth);return Promise.resolve(_assign(_assign({},authParams),{authType:authType,email:email,phoneNumber:phoneNumber,captchaToken:captchaToken}));}else {var authParams_2=this.authParams(auth);return this.getPkceParams(authParams_2).then(function(maybeChallenge){return _assign(_assign(_assign({},authParams_2),{authType:authType,email:email,phoneNumber:phoneNumber,captchaToken:captchaToken}),maybeChallenge);});}};OAuthClient.prototype.hasLoggedWithEmail=function(params){return params.email!==undefined;};OAuthClient.prototype.hasLoggedWithPhoneNumber=function(params){return params.phoneNumber!==undefined;};OAuthClient.prototype.getAuthenticationId=function(params){if(this.hasLoggedWithEmail(params)){return params.email;}else if(this.hasLoggedWithPhoneNumber(params)){return params.phoneNumber;}else {return params.customIdentifier;}};// TODO: Shared among the clients
8024
8024
  OAuthClient.prototype.loginCallback=function(tkn,auth){var _this=this;if(auth===void 0){auth={};}if(this.config.orchestrationToken){var authParams_3=_assign(_assign({},this.orchestratedFlowParams(this.config.orchestrationToken,auth)),pick_1(tkn,'tkn'));return Promise.resolve().then(function(_){return _this.redirectThruAuthorization(authParams_3);});}else {var authParams_4=this.authParams(auth);return this.getPkceParams(authParams_4).then(function(maybeChallenge){var params=_assign(_assign(_assign({},authParams_4),maybeChallenge),pick_1(tkn,'tkn'));if(auth.useWebMessage){return _this.getWebMessage(_this.getAuthorizationUrl(params),_this.config.baseUrl,auth.redirectUri);}else {return _this.redirectThruAuthorization(params);}});}};// In an orchestrated flow, only parameters from the original request are to be considered,
8025
8025
  // as well as parameters that depend on user action
8026
- OAuthClient.prototype.orchestratedFlowParams=function(orchestrationToken,authOptions){if(authOptions===void 0){authOptions={};}var authParams=computeAuthOptions(authOptions);var correctedAuthParams=_assign({clientId:this.config.clientId,r5_request_token:orchestrationToken},pick_1(authParams,'responseType','redirectUri','clientId','persistent'));var uselessParams=difference_1(keys_1(authParams),keys_1(correctedAuthParams));if(uselessParams.length!==0)console.debug("Orchestrated flow: pruned parameters: "+uselessParams);return correctedAuthParams;};OAuthClient.prototype.authParams=function(opts,_a){var _b=(_a===void 0?{}:_a).acceptPopupMode,acceptPopupMode=_b===void 0?false:_b;var isConfidentialCodeWebMsg=!this.config.isPublic&&!!opts.useWebMessage&&(opts.responseType==='code'||opts.redirectUri);var overrideResponseType=isConfidentialCodeWebMsg?{responseType:'token',redirectUri:undefined}:{};return _assign({clientId:this.config.clientId},computeAuthOptions(_assign(_assign({},opts),overrideResponseType),{acceptPopupMode:acceptPopupMode},this.config.scope));};OAuthClient.prototype.getPkceParams=function(authParams){if(this.config.isPublic&&authParams.responseType==='code')return computePkceParams();else if(authParams.responseType==='token'&&this.config.pkceEnforced)return Promise.reject(new Error('Cannot use implicit flow when PKCE is enforced'));else return Promise.resolve({});};OAuthClient.prototype.acquireAuthorizationLock=function(){setWithExpiry('authorize_state','state',20000);};OAuthClient.prototype.acquireSessionLock=function(){setWithExpiry('session_state','state',20000);};OAuthClient.prototype.releaseSessionLock=function(){sessionStorage.removeItem('session_state');};OAuthClient.prototype.isSessionLocked=function(){return getWithExpiry('session_state')!==null;};OAuthClient.prototype.releaseAuthorizationLock=function(){sessionStorage.removeItem('authorize_state');};OAuthClient.prototype.isAuthorizationLocked=function(){return getWithExpiry('authorize_state')!==null;};return OAuthClient;}();var EventManager=/** @class */function(){function EventManager(){this.listeners={};}EventManager.prototype.fire=function(name,data){this.getListeners(name).forEach(function(listener){try{listener(data);}catch(e){logError(e);}});};EventManager.prototype.on=function(name,listener){this.getListeners(name).push(listener);};EventManager.prototype.off=function(name,listener){pull_1(this.getListeners(name),listener);};EventManager.prototype.getListeners=function(name){var listeners=this.listeners[name];if(!listeners){listeners=this.listeners[name]=[];}return listeners;};return EventManager;}();function createEventManager(){var eventManager=new EventManager();return {on:function on(eventName,listener){eventManager.on(eventName,listener);},off:function off(eventName,listener){eventManager.off(eventName,listener);},fireEvent:function fireEvent(eventName,data){if(eventName==='authenticated'){var ar=enrichAuthResult(data);eventManager.fire(eventName,ar);}else {eventManager.fire(eventName,data);}}};}function createUrlParser(eventManager){return {checkUrlFragment:function checkUrlFragment(url){var authResult=this.parseUrlFragment(url);if(AuthResult.isAuthResult(authResult)){eventManager.fireEvent('authenticated',authResult);return true;}else if(ErrorResponse.isErrorResponse(authResult)){eventManager.fireEvent('authentication_failed',authResult);return true;}return false;},parseUrlFragment:function parseUrlFragment(url){if(url===void 0){url='';}var separatorIndex=url.indexOf('#');if(separatorIndex>=0){var parsed=parseQueryString(url.substr(separatorIndex+1));var expiresIn=parsed.expiresIn?parseInt(parsed.expiresIn,10):undefined;if(AuthResult.isAuthResult(parsed)){return _assign(_assign({},parsed),{expiresIn:expiresIn});}return ErrorResponse.isErrorResponse(parsed)?parsed:undefined;}return undefined;}};}function createHttpClient(config){function get(path,params){return request(path,_assign(_assign({},params),{method:'GET'}));}function remove(path,params){return request(path,_assign(_assign({},params),{method:'DELETE'}));}function post(path,params){return request(path,_assign(_assign({},params),{method:'POST'}));}function request(path,params){var _a=params.method,method=_a===void 0?'GET':_a,_b=params.query,query=_b===void 0?{}:_b,body=params.body,_c=params.accessToken,accessToken=_c===void 0?null:_c,_d=params.withCookies,withCookies=_d===void 0?false:_d;var fullPath=query&&!isEmpty_1(query)?path+"?"+toQueryString(query):path;var url=fullPath.startsWith('http')?fullPath:config.baseUrl+fullPath;var fetchOptions=_assign(_assign({method:method,headers:_assign(_assign(_assign({},accessToken&&{Authorization:'Bearer '+accessToken}),config.language&&{'Accept-Language':config.language}),body&&{'Content-Type':'application/json;charset=UTF-8'})},withCookies&&config.acceptCookies&&{credentials:'include'}),body&&{body:JSON.stringify(snakeCaseProperties(body))});return rawRequest(url,fetchOptions);}return {get:get,remove:remove,post:post,request:request};}/**
8026
+ OAuthClient.prototype.orchestratedFlowParams=function(orchestrationToken,authOptions){if(authOptions===void 0){authOptions={};}var authParams=computeAuthOptions(authOptions);var correctedAuthParams=_assign({clientId:this.config.clientId,r5_request_token:orchestrationToken},pick_1(authParams,'responseType','redirectUri','clientId','persistent'));var uselessParams=difference_1(keys_1(authParams),keys_1(correctedAuthParams));if(uselessParams.length!==0)console.debug("Orchestrated flow: pruned parameters: "+uselessParams);return correctedAuthParams;};OAuthClient.prototype.authParams=function(opts,_a){var _b=(_a===void 0?{}:_a).acceptPopupMode,acceptPopupMode=_b===void 0?false:_b;var isConfidentialCodeWebMsg=!this.config.isPublic&&!!opts.useWebMessage&&(opts.responseType==='code'||opts.redirectUri);var overrideResponseType=isConfidentialCodeWebMsg?{responseType:'token',redirectUri:undefined}:{};return _assign({clientId:this.config.clientId},computeAuthOptions(_assign(_assign({},opts),overrideResponseType),{acceptPopupMode:acceptPopupMode},this.config.scope));};OAuthClient.prototype.getPkceParams=function(authParams){if(this.config.isPublic&&authParams.responseType==='code')return computePkceParams();else if(authParams.responseType==='token'&&this.config.pkceEnforced)return Promise.reject(new Error('Cannot use implicit flow when PKCE is enforced'));else return Promise.resolve({});};OAuthClient.prototype.acquireAuthorizationLock=function(){setWithExpiry('authorize_state','state',20000);};OAuthClient.prototype.acquireSessionLock=function(){setWithExpiry('session_state','state',20000);};OAuthClient.prototype.releaseSessionLock=function(){sessionStorage.removeItem('session_state');};OAuthClient.prototype.isSessionLocked=function(){return getWithExpiry('session_state')!==null;};OAuthClient.prototype.releaseAuthorizationLock=function(){sessionStorage.removeItem('authorize_state');};OAuthClient.prototype.isAuthorizationLocked=function(){return getWithExpiry('authorize_state')!==null;};return OAuthClient;}();var EventManager=/** @class */function(){function EventManager(){this.listeners={};}EventManager.prototype.fire=function(name,data){this.getListeners(name).forEach(function(listener){try{listener(data);}catch(e){logError(e);}});};EventManager.prototype.on=function(name,listener){this.getListeners(name).push(listener);};EventManager.prototype.off=function(name,listener){pull_1(this.getListeners(name),listener);};EventManager.prototype.getListeners=function(name){var listeners=this.listeners[name];if(!listeners){listeners=this.listeners[name]=[];}return listeners;};return EventManager;}();function createEventManager(){var eventManager=new EventManager();return {on:function on(eventName,listener){eventManager.on(eventName,listener);},off:function off(eventName,listener){eventManager.off(eventName,listener);},fireEvent:function fireEvent(eventName,data){if(eventName==='authenticated'){var ar=enrichAuthResult(data);eventManager.fire(eventName,ar);}else {eventManager.fire(eventName,data);}}};}function createUrlParser(eventManager){return {checkUrlFragment:function checkUrlFragment(url){var authResult=this.parseUrlFragment(url);if(AuthResult.isAuthResult(authResult)){eventManager.fireEvent('authenticated',authResult);return true;}else if(ErrorResponse.isErrorResponse(authResult)){eventManager.fireEvent('authentication_failed',authResult);return true;}return false;},parseUrlFragment:function parseUrlFragment(url){if(url===void 0){url='';}var separatorIndex=url.indexOf('#');if(separatorIndex>=0){var parsed=parseQueryString(url.substr(separatorIndex+1));var expiresIn=parsed.expiresIn?parseInt(parsed.expiresIn,10):undefined;if(AuthResult.isAuthResult(parsed)){return _assign(_assign({},parsed),{expiresIn:expiresIn});}return ErrorResponse.isErrorResponse(parsed)?parsed:undefined;}return undefined;}};}function createHttpClient(config){function get(path,params){return request(path,_assign(_assign({},params),{method:'GET'}));}function remove(path,params){return request(path,_assign(_assign({},params),{method:'DELETE'}));}function post(path,params){return request(path,_assign(_assign({},params),{method:'POST'}));}function request(path,params){var _a=params.method,method=_a===void 0?'GET':_a,_b=params.query,query=_b===void 0?{}:_b,body=params.body,_c=params.accessToken,accessToken=_c===void 0?null:_c,_d=params.withCookies,withCookies=_d===void 0?false:_d;var fullPath=query&&!isEmpty_1(query)?path+"?"+toQueryString(query):path;var url=fullPath.startsWith('http')?fullPath:config.baseUrl+fullPath;var fetchOptions=_assign(_assign({method:method,headers:_assign(_assign(_assign(_assign({},accessToken&&{Authorization:'Bearer '+accessToken}),config.language&&{'Accept-Language':config.language}),config.locale&&{'Custom-Locale':config.locale}),body&&{'Content-Type':'application/json;charset=UTF-8'})},withCookies&&config.acceptCookies&&{credentials:'include'}),body&&{body:JSON.stringify(snakeCaseProperties(body))});return rawRequest(url,fetchOptions);}return {get:get,remove:remove,post:post,request:request};}/**
8027
8027
  * Low level HTTP client
8028
8028
  */function rawRequest(url,fetchOptions){return fetch(url,fetchOptions).then(function(response){if(response.status!==204){var dataP=response.json().then(camelCaseProperties);return response.ok?dataP:dataP.then(function(data){return Promise.reject(data);});}return undefined;});}function initCordovaCallbackIfNecessary(urlParser){if(!window.cordova)return;if(window.handleOpenURL)return;window.handleOpenURL=function(url){var cordova=window.cordova;if(!cordova)return;var parsed=urlParser.checkUrlFragment(url);if(parsed&&cordova.plugins&&cordova.plugins.browsertab){cordova.plugins.browsertab.close();}};}/**
8029
8029
  * Identity Rest API Client
@@ -8031,7 +8031,7 @@
8031
8031
  * Identity Rest API Client
8032
8032
  */var ProfileClient=/** @class */function(){function ProfileClient(props){this.config=props.config;this.http=props.http;this.eventManager=props.eventManager;this.sendEmailVerificationUrl='/send-email-verification';this.sendPhoneNumberVerificationUrl='/send-phone-number-verification';this.signupDataUrl='/signup/data';this.unlinkUrl='/unlink';this.updateEmailUrl='/update-email';this.updatePasswordUrl='/update-password';this.updatePhoneNumberUrl='/update-phone-number';this.updateProfileUrl='/update-profile';this.userInfoUrl='/userinfo';this.verifyPhoneNumberUrl='/verify-phone-number';}ProfileClient.prototype.getSignupData=function(signupToken){return this.http.get(this.signupDataUrl,{query:{clientId:this.config.clientId,token:signupToken}});};ProfileClient.prototype.getUser=function(params){var accessToken=params.accessToken,fields=params.fields;return this.http.get(this.userInfoUrl,{query:{fields:fields},accessToken:accessToken});};ProfileClient.prototype.requestPasswordReset=function(params){return this.http.post('/forgot-password',{body:_assign({clientId:this.config.clientId},params)});};ProfileClient.prototype.sendEmailVerification=function(params){var accessToken=params.accessToken,data=__rest(params,["accessToken"]);return this.http.post(this.sendEmailVerificationUrl,{body:_assign({},data),accessToken:accessToken});};ProfileClient.prototype.sendPhoneNumberVerification=function(params){var accessToken=params.accessToken;return this.http.post(this.sendPhoneNumberVerificationUrl,{accessToken:accessToken});};ProfileClient.prototype.unlink=function(params){var accessToken=params.accessToken,data=__rest(params,["accessToken"]);return this.http.post(this.unlinkUrl,{body:data,accessToken:accessToken});};ProfileClient.prototype.updateEmail=function(params){var accessToken=params.accessToken,email=params.email,redirectUrl=params.redirectUrl,captchaToken=params.captchaToken;return this.http.post(this.updateEmailUrl,{body:{email:email,redirectUrl:redirectUrl,captchaToken:captchaToken},accessToken:accessToken});};ProfileClient.prototype.updatePhoneNumber=function(params){var accessToken=params.accessToken,data=__rest(params,["accessToken"]);return this.http.post(this.updatePhoneNumberUrl,{body:data,accessToken:accessToken});};ProfileClient.prototype.updateProfile=function(params){var _this=this;var accessToken=params.accessToken,redirectUrl=params.redirectUrl,data=params.data;return this.http.post(this.updateProfileUrl,{body:_assign(_assign({},data),{redirectUrl:redirectUrl}),accessToken:accessToken}).then(function(){return _this.eventManager.fireEvent('profile_updated',data);});};ProfileClient.prototype.updatePassword=function(params){var accessToken=params.accessToken,data=__rest(params,["accessToken"]);return this.http.post(this.updatePasswordUrl,{body:_assign({clientId:this.config.clientId},data),accessToken:accessToken});};ProfileClient.prototype.verifyPhoneNumber=function(params){var _this=this;var accessToken=params.accessToken,data=__rest(params,["accessToken"]);var phoneNumber=data.phoneNumber;return this.http.post(this.verifyPhoneNumberUrl,{body:data,accessToken:accessToken}).then(function(){return _this.eventManager.fireEvent('profile_updated',{phoneNumber:phoneNumber,phoneNumberVerified:true});});};return ProfileClient;}();var publicKeyCredentialType='public-key';function encodePublicKeyCredentialCreationOptions(serializedOptions){return _assign(_assign({},serializedOptions),{challenge:buffer_1.from(serializedOptions.challenge,'base64'),user:_assign(_assign({},serializedOptions.user),{id:buffer_1.from(serializedOptions.user.id,'base64')}),excludeCredentials:serializedOptions.excludeCredentials&&serializedOptions.excludeCredentials.map(function(excludeCredential){return _assign(_assign({},excludeCredential),{id:buffer_1.from(excludeCredential.id,'base64')});})});}function encodePublicKeyCredentialRequestOptions(serializedOptions){return _assign(_assign({},serializedOptions),{challenge:buffer_1.from(serializedOptions.challenge,'base64'),allowCredentials:serializedOptions.allowCredentials.map(function(allowCrendential){return _assign(_assign({},allowCrendential),{id:buffer_1.from(allowCrendential.id,'base64')});})});}function serializeRegistrationPublicKeyCredential(encodedPublicKey){var response=encodedPublicKey.response;return {id:encodedPublicKey.id,rawId:encodeToBase64(encodedPublicKey.rawId),type:encodedPublicKey.type,response:{clientDataJSON:encodeToBase64(response.clientDataJSON),attestationObject:encodeToBase64(response.attestationObject)}};}function serializeAuthenticationPublicKeyCredential(encodedPublicKey){var response=encodedPublicKey.response;return {id:encodedPublicKey.id,rawId:encodeToBase64(encodedPublicKey.rawId),type:encodedPublicKey.type,response:{authenticatorData:encodeToBase64(response.authenticatorData),clientDataJSON:encodeToBase64(response.clientDataJSON),signature:encodeToBase64(response.signature),userHandle:response.userHandle&&encodeToBase64(response.userHandle)}};}/**
8033
8033
  * Identity Rest API Client
8034
- */var WebAuthnClient=/** @class */function(){function WebAuthnClient(props){this.authenticationOptionsUrl='/webauthn/authentication-options';this.authenticationUrl='/webauthn/authentication';this.registrationOptionsUrl='/webauthn/registration-options';this.registrationUrl='/webauthn/registration';this.signupOptionsUrl='/webauthn/signup-options';this.signupUrl='/webauthn/signup';this.config=props.config;this.http=props.http;this.eventManager=props.eventManager;this.oAuthClient=props.oAuthClient;this.authenticationOptionsUrl='/webauthn/authentication-options';this.authenticationUrl='/webauthn/authentication';this.registrationOptionsUrl='/webauthn/registration-options';this.registrationUrl='/webauthn/registration';this.signupOptionsUrl='/webauthn/signup-options';this.signupUrl='/webauthn/signup';}WebAuthnClient.prototype.addNewWebAuthnDevice=function(accessToken,friendlyName){var _this=this;if(window.PublicKeyCredential){var body={origin:window.location.origin,friendlyName:friendlyName||window.navigator.platform};return this.http.post(this.registrationOptionsUrl,{body:body,accessToken:accessToken}).then(function(response){var publicKey=encodePublicKeyCredentialCreationOptions(response.options.publicKey);return navigator.credentials.create({publicKey:publicKey});}).then(function(credentials){if(!credentials||credentials.type!==publicKeyCredentialType){return Promise.reject(new Error('Unable to register invalid public key credentials.'));}var serializedCredentials=serializeRegistrationPublicKeyCredential(credentials);return _this.http.post(_this.registrationUrl,{body:_assign({},serializedCredentials),accessToken:accessToken});})["catch"](function(err){if(err.error)_this.eventManager.fireEvent('login_failed',err);return Promise.reject(err);});}else {return Promise.reject(new Error('Unsupported WebAuthn API'));}};WebAuthnClient.prototype.listWebAuthnDevices=function(accessToken){return this.http.get(this.registrationUrl,{accessToken:accessToken});};WebAuthnClient.prototype.loginWithWebAuthn=function(params){var _this=this;if(window.PublicKeyCredential){var body={clientId:this.config.clientId,origin:window.location.origin,scope:resolveScope(params.auth,this.config.scope),email:params.email,phoneNumber:params.phoneNumber};return this.http.post(this.authenticationOptionsUrl,{body:body}).then(function(response){var options=encodePublicKeyCredentialRequestOptions(response.publicKey);return navigator.credentials.get({publicKey:options});}).then(function(credentials){if(!credentials||credentials.type!==publicKeyCredentialType){return Promise.reject(new Error('Unable to authenticate with invalid public key credentials.'));}var serializedCredentials=serializeAuthenticationPublicKeyCredential(credentials);return _this.http.post(_this.authenticationUrl,{body:_assign({},serializedCredentials)}).then(function(tkn){return _this.oAuthClient.loginCallback(tkn,params.auth);});})["catch"](function(err){if(err.error)_this.eventManager.fireEvent('login_failed',err);return Promise.reject(err);});}else {return Promise.reject(new Error('Unsupported WebAuthn API'));}};WebAuthnClient.prototype.removeWebAuthnDevice=function(accessToken,deviceId){return this.http.remove(this.registrationUrl+"/"+deviceId,{accessToken:accessToken});};WebAuthnClient.prototype.signupWithWebAuthn=function(params,auth){var _this=this;if(window.PublicKeyCredential){var body={origin:window.location.origin,clientId:this.config.clientId,friendlyName:params.friendlyName||window.navigator.platform,profile:params.profile,scope:resolveScope(auth,this.config.scope),redirectUrl:params.redirectUrl,returnToAfterEmailConfirmation:params.returnToAfterEmailConfirmation};var registrationOptionsPromise=this.http.post(this.signupOptionsUrl,{body:body});var credentialsPromise=registrationOptionsPromise.then(function(response){var publicKey=encodePublicKeyCredentialCreationOptions(response.options.publicKey);return navigator.credentials.create({publicKey:publicKey});});return Promise.all([registrationOptionsPromise,credentialsPromise]).then(function(_a){var registrationOptions=_a[0],credentials=_a[1];if(!credentials||credentials.type!==publicKeyCredentialType){return Promise.reject(new Error('Unable to register invalid public key credentials.'));}var serializedCredentials=serializeRegistrationPublicKeyCredential(credentials);return _this.http.post(_this.signupUrl,{body:{publicKeyCredential:serializedCredentials,webauthnId:registrationOptions.options.publicKey.user.id}}).then(function(tkn){return _this.oAuthClient.loginCallback(tkn,auth);});})["catch"](function(err){if(err.error)_this.eventManager.fireEvent('login_failed',err);return Promise.reject(err);});}else {return Promise.reject(new Error('Unsupported WebAuthn API'));}};return WebAuthnClient;}();function checkParam(data,key){var value=data[key];if(value===undefined||value===null){throw new Error("The reach5 creation config has errors: "+key+" is not set");}}function createClient(creationConfig){checkParam(creationConfig,'domain');checkParam(creationConfig,'clientId');var domain=creationConfig.domain,clientId=creationConfig.clientId,language=creationConfig.language;var eventManager=createEventManager();var urlParser=createUrlParser(eventManager);initCordovaCallbackIfNecessary(urlParser);var baseUrl="https://"+domain;var baseIdentityUrl=baseUrl+"/identity/v1";var remoteSettings=rawRequest("https://"+domain+"/identity/v1/config?"+toQueryString({clientId:clientId,lang:language}));var apiClients=remoteSettings.then(function(remoteConfig){var language=remoteConfig.language,sso=remoteConfig.sso;var params=new URLSearchParams(window.location.search);var orchestrationToken=params.get('r5_request_token')||undefined;var config=_assign({clientId:clientId,baseUrl:baseUrl,orchestrationToken:orchestrationToken},remoteConfig);var http=createHttpClient({baseUrl:baseIdentityUrl,language:language,acceptCookies:sso});var oAuthClient=new OAuthClient({config:config,http:http,eventManager:eventManager});var mfaClient=new MfaClient({http:http,oAuthClient:oAuthClient});oAuthClient.setMfaClient(mfaClient);return {oAuth:oAuthClient,mfa:mfaClient,webAuthn:new WebAuthnClient({config:config,http:http,eventManager:eventManager,oAuthClient:oAuthClient}),profile:new ProfileClient({config:config,http:http,eventManager:eventManager})};});function addNewWebAuthnDevice(accessToken,friendlyName){return apiClients.then(function(clients){return clients.webAuthn.addNewWebAuthnDevice(accessToken,friendlyName);});}function checkSession(options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.checkSession(options);});}function checkUrlFragment(url){if(url===void 0){url=window.location.href;}var authResponseDetected=urlParser.checkUrlFragment(url);if(authResponseDetected&&url===window.location.href){window.location.hash='';}return authResponseDetected;}function exchangeAuthorizationCodeWithPkce(params){return apiClients.then(function(clients){return clients.oAuth.exchangeAuthorizationCodeWithPkce(params);});}function getMfaStepUpToken(params){return apiClients.then(function(clients){return clients.mfa.getMfaStepUpToken(params);});}function getSessionInfo(){return apiClients.then(function(clients){return clients.oAuth.getSessionInfo();});}function getSignupData(signupToken){return apiClients.then(function(clients){return clients.profile.getSignupData(signupToken);});}function getUser(params){return apiClients.then(function(clients){return clients.profile.getUser(params);});}function listMfaCredentials(accessToken){return apiClients.then(function(clients){return clients.mfa.listMfaCredentials(accessToken);});}function listWebAuthnDevices(accessToken){return apiClients.then(function(clients){return clients.webAuthn.listWebAuthnDevices(accessToken);});}function loginFromSession(options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.loginFromSession(options);});}function loginWithCredentials(params){return apiClients.then(function(clients){return clients.oAuth.loginWithCredentials(params);});}function loginWithCustomToken(params){return apiClients.then(function(clients){return clients.oAuth.loginWithCustomToken(params);});}function loginWithPassword(params){return apiClients.then(function(clients){return clients.oAuth.loginWithPassword(params);});}function instantiateOneTap(opts){if(opts===void 0){opts={};}return apiClients.then(function(clients){return clients.oAuth.instantiateOneTap(opts);});}function listTrustedDevices(accessToken){return apiClients.then(function(clients){return clients.mfa.listTrustedDevices(accessToken);});}function loginWithSocialProvider(provider,options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.loginWithSocialProvider(provider,options);});}function loginWithWebAuthn(params){return apiClients.then(function(clients){return clients.webAuthn.loginWithWebAuthn(params);});}function logout(params,revocationParams){if(params===void 0){params={};}return apiClients.then(function(clients){return clients.oAuth.logout(params,revocationParams);});}function off(eventName,listener){return eventManager.off(eventName,listener);}function on(eventName,listener){eventManager.on(eventName,listener);if(eventName==='authenticated'||eventName==='authentication_failed'){// This call must be asynchronous to ensure the listener cannot be called synchronously
8034
+ */var WebAuthnClient=/** @class */function(){function WebAuthnClient(props){this.authenticationOptionsUrl='/webauthn/authentication-options';this.authenticationUrl='/webauthn/authentication';this.registrationOptionsUrl='/webauthn/registration-options';this.registrationUrl='/webauthn/registration';this.signupOptionsUrl='/webauthn/signup-options';this.signupUrl='/webauthn/signup';this.config=props.config;this.http=props.http;this.eventManager=props.eventManager;this.oAuthClient=props.oAuthClient;this.authenticationOptionsUrl='/webauthn/authentication-options';this.authenticationUrl='/webauthn/authentication';this.registrationOptionsUrl='/webauthn/registration-options';this.registrationUrl='/webauthn/registration';this.signupOptionsUrl='/webauthn/signup-options';this.signupUrl='/webauthn/signup';}WebAuthnClient.prototype.addNewWebAuthnDevice=function(accessToken,friendlyName){var _this=this;if(window.PublicKeyCredential){var body={origin:window.location.origin,friendlyName:friendlyName||window.navigator.platform};return this.http.post(this.registrationOptionsUrl,{body:body,accessToken:accessToken}).then(function(response){var publicKey=encodePublicKeyCredentialCreationOptions(response.options.publicKey);return navigator.credentials.create({publicKey:publicKey});}).then(function(credentials){if(!credentials||credentials.type!==publicKeyCredentialType){return Promise.reject(new Error('Unable to register invalid public key credentials.'));}var serializedCredentials=serializeRegistrationPublicKeyCredential(credentials);return _this.http.post(_this.registrationUrl,{body:_assign({},serializedCredentials),accessToken:accessToken});})["catch"](function(err){if(err.error)_this.eventManager.fireEvent('login_failed',err);return Promise.reject(err);});}else {return Promise.reject(new Error('Unsupported WebAuthn API'));}};WebAuthnClient.prototype.listWebAuthnDevices=function(accessToken){return this.http.get(this.registrationUrl,{accessToken:accessToken});};WebAuthnClient.prototype.loginWithWebAuthn=function(params){var _this=this;if(window.PublicKeyCredential){var body={clientId:this.config.clientId,origin:window.location.origin,scope:resolveScope(params.auth,this.config.scope),email:params.email,phoneNumber:params.phoneNumber};return this.http.post(this.authenticationOptionsUrl,{body:body}).then(function(response){var options=encodePublicKeyCredentialRequestOptions(response.publicKey);return navigator.credentials.get({publicKey:options});}).then(function(credentials){if(!credentials||credentials.type!==publicKeyCredentialType){return Promise.reject(new Error('Unable to authenticate with invalid public key credentials.'));}var serializedCredentials=serializeAuthenticationPublicKeyCredential(credentials);return _this.http.post(_this.authenticationUrl,{body:_assign({},serializedCredentials)}).then(function(tkn){return _this.oAuthClient.loginCallback(tkn,params.auth);});})["catch"](function(err){if(err.error)_this.eventManager.fireEvent('login_failed',err);return Promise.reject(err);});}else {return Promise.reject(new Error('Unsupported WebAuthn API'));}};WebAuthnClient.prototype.removeWebAuthnDevice=function(accessToken,deviceId){return this.http.remove(this.registrationUrl+"/"+deviceId,{accessToken:accessToken});};WebAuthnClient.prototype.signupWithWebAuthn=function(params,auth){var _this=this;if(window.PublicKeyCredential){var body={origin:window.location.origin,clientId:this.config.clientId,friendlyName:params.friendlyName||window.navigator.platform,profile:params.profile,scope:resolveScope(auth,this.config.scope),redirectUrl:params.redirectUrl,returnToAfterEmailConfirmation:params.returnToAfterEmailConfirmation};var registrationOptionsPromise=this.http.post(this.signupOptionsUrl,{body:body});var credentialsPromise=registrationOptionsPromise.then(function(response){var publicKey=encodePublicKeyCredentialCreationOptions(response.options.publicKey);return navigator.credentials.create({publicKey:publicKey});});return Promise.all([registrationOptionsPromise,credentialsPromise]).then(function(_a){var registrationOptions=_a[0],credentials=_a[1];if(!credentials||credentials.type!==publicKeyCredentialType){return Promise.reject(new Error('Unable to register invalid public key credentials.'));}var serializedCredentials=serializeRegistrationPublicKeyCredential(credentials);return _this.http.post(_this.signupUrl,{body:{publicKeyCredential:serializedCredentials,webauthnId:registrationOptions.options.publicKey.user.id}}).then(function(tkn){return _this.oAuthClient.loginCallback(tkn,auth);});})["catch"](function(err){if(err.error)_this.eventManager.fireEvent('login_failed',err);return Promise.reject(err);});}else {return Promise.reject(new Error('Unsupported WebAuthn API'));}};return WebAuthnClient;}();function checkParam(data,key){var value=data[key];if(value===undefined||value===null){throw new Error("The reach5 creation config has errors: "+key+" is not set");}}function createClient(creationConfig){checkParam(creationConfig,'domain');checkParam(creationConfig,'clientId');var domain=creationConfig.domain,clientId=creationConfig.clientId,language=creationConfig.language,locale=creationConfig.locale;var eventManager=createEventManager();var urlParser=createUrlParser(eventManager);initCordovaCallbackIfNecessary(urlParser);var baseUrl="https://"+domain;var baseIdentityUrl=baseUrl+"/identity/v1";var remoteSettings=rawRequest("https://"+domain+"/identity/v1/config?"+toQueryString({clientId:clientId,lang:language}));var apiClients=remoteSettings.then(function(remoteConfig){var language=remoteConfig.language,sso=remoteConfig.sso;var params=new URLSearchParams(window.location.search);var orchestrationToken=params.get('r5_request_token')||undefined;var config=_assign({clientId:clientId,baseUrl:baseUrl,orchestrationToken:orchestrationToken},remoteConfig);var http=createHttpClient({baseUrl:baseIdentityUrl,language:language,acceptCookies:sso,locale:locale});var oAuthClient=new OAuthClient({config:config,http:http,eventManager:eventManager});var mfaClient=new MfaClient({http:http,oAuthClient:oAuthClient});oAuthClient.setMfaClient(mfaClient);return {oAuth:oAuthClient,mfa:mfaClient,webAuthn:new WebAuthnClient({config:config,http:http,eventManager:eventManager,oAuthClient:oAuthClient}),profile:new ProfileClient({config:config,http:http,eventManager:eventManager})};});function addNewWebAuthnDevice(accessToken,friendlyName){return apiClients.then(function(clients){return clients.webAuthn.addNewWebAuthnDevice(accessToken,friendlyName);});}function checkSession(options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.checkSession(options);});}function checkUrlFragment(url){if(url===void 0){url=window.location.href;}var authResponseDetected=urlParser.checkUrlFragment(url);if(authResponseDetected&&url===window.location.href){window.location.hash='';}return authResponseDetected;}function exchangeAuthorizationCodeWithPkce(params){return apiClients.then(function(clients){return clients.oAuth.exchangeAuthorizationCodeWithPkce(params);});}function getMfaStepUpToken(params){return apiClients.then(function(clients){return clients.mfa.getMfaStepUpToken(params);});}function getSessionInfo(){return apiClients.then(function(clients){return clients.oAuth.getSessionInfo();});}function getSignupData(signupToken){return apiClients.then(function(clients){return clients.profile.getSignupData(signupToken);});}function getUser(params){return apiClients.then(function(clients){return clients.profile.getUser(params);});}function listMfaCredentials(accessToken){return apiClients.then(function(clients){return clients.mfa.listMfaCredentials(accessToken);});}function listWebAuthnDevices(accessToken){return apiClients.then(function(clients){return clients.webAuthn.listWebAuthnDevices(accessToken);});}function loginFromSession(options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.loginFromSession(options);});}function loginWithCredentials(params){return apiClients.then(function(clients){return clients.oAuth.loginWithCredentials(params);});}function loginWithCustomToken(params){return apiClients.then(function(clients){return clients.oAuth.loginWithCustomToken(params);});}function loginWithPassword(params){return apiClients.then(function(clients){return clients.oAuth.loginWithPassword(params);});}function instantiateOneTap(opts){if(opts===void 0){opts={};}return apiClients.then(function(clients){return clients.oAuth.instantiateOneTap(opts);});}function listTrustedDevices(accessToken){return apiClients.then(function(clients){return clients.mfa.listTrustedDevices(accessToken);});}function loginWithSocialProvider(provider,options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.loginWithSocialProvider(provider,options);});}function loginWithWebAuthn(params){return apiClients.then(function(clients){return clients.webAuthn.loginWithWebAuthn(params);});}function logout(params,revocationParams){if(params===void 0){params={};}return apiClients.then(function(clients){return clients.oAuth.logout(params,revocationParams);});}function off(eventName,listener){return eventManager.off(eventName,listener);}function on(eventName,listener){eventManager.on(eventName,listener);if(eventName==='authenticated'||eventName==='authentication_failed'){// This call must be asynchronous to ensure the listener cannot be called synchronously
8035
8035
  // (this type of behavior is generally unexpected for the developer)
8036
8036
  setTimeout(function(){return checkUrlFragment();},0);}}function refreshTokens(params){return apiClients.then(function(clients){return clients.oAuth.refreshTokens(params);});}function removeMfaEmail(params){return apiClients.then(function(clients){return clients.mfa.removeMfaEmail(params);});}function removeMfaPhoneNumber(params){return apiClients.then(function(clients){return clients.mfa.removeMfaPhoneNumber(params);});}function removeTrustedDevice(params){return apiClients.then(function(clients){return clients.mfa.deleteTrustedDevices(params);});}function removeWebAuthnDevice(accessToken,deviceId){return apiClients.then(function(clients){return clients.webAuthn.removeWebAuthnDevice(accessToken,deviceId);});}function requestPasswordReset(params){return apiClients.then(function(clients){return clients.profile.requestPasswordReset(params);});}function sendEmailVerification(params){return apiClients.then(function(clients){return clients.profile.sendEmailVerification(params);});}function sendPhoneNumberVerification(params){return apiClients.then(function(clients){return clients.profile.sendPhoneNumberVerification(params);});}function signup(params){return apiClients.then(function(clients){return clients.oAuth.signup(params);});}function signupWithWebAuthn(params,auth){return apiClients.then(function(clients){return clients.webAuthn.signupWithWebAuthn(params,auth);});}function startMfaEmailRegistration(params){return apiClients.then(function(clients){return clients.mfa.startMfaEmailRegistration(params);});}function startMfaPhoneNumberRegistration(params){return apiClients.then(function(clients){return clients.mfa.startMfaPhoneNumberRegistration(params);});}function startPasswordless(params,options){if(options===void 0){options={};}return apiClients.then(function(clients){return clients.oAuth.startPasswordless(params,options);});}function unlink(params){return apiClients.then(function(clients){return clients.profile.unlink(params);});}function updateEmail(params){return apiClients.then(function(clients){return clients.profile.updateEmail(params);});}function updatePassword(params){return apiClients.then(function(clients){return clients.profile.updatePassword(params);});}function updatePhoneNumber(params){return apiClients.then(function(clients){return clients.profile.updatePhoneNumber(params);});}function updateProfile(params){return apiClients.then(function(clients){return clients.profile.updateProfile(params);});}function verifyMfaEmailRegistration(params){return apiClients.then(function(clients){return clients.mfa.verifyMfaEmailRegistration(params);});}function verifyMfaPasswordless(params){return apiClients.then(function(clients){return clients.mfa.verifyMfaPasswordless(params);});}function verifyMfaPhoneNumberRegistration(params){return apiClients.then(function(clients){return clients.mfa.verifyMfaPhoneNumberRegistration(params);});}function verifyPasswordless(params,auth){return apiClients.then(function(clients){return clients.oAuth.verifyPasswordless(params,auth);});}function verifyPhoneNumber(params){return apiClients.then(function(clients){return clients.profile.verifyPhoneNumber(params);});}return {addNewWebAuthnDevice:addNewWebAuthnDevice,checkSession:checkSession,checkUrlFragment:checkUrlFragment,exchangeAuthorizationCodeWithPkce:exchangeAuthorizationCodeWithPkce,getMfaStepUpToken:getMfaStepUpToken,getSessionInfo:getSessionInfo,getSignupData:getSignupData,getUser:getUser,listMfaCredentials:listMfaCredentials,listTrustedDevices:listTrustedDevices,listWebAuthnDevices:listWebAuthnDevices,loginFromSession:loginFromSession,loginWithCredentials:loginWithCredentials,loginWithCustomToken:loginWithCustomToken,loginWithPassword:loginWithPassword,instantiateOneTap:instantiateOneTap,loginWithSocialProvider:loginWithSocialProvider,loginWithWebAuthn:loginWithWebAuthn,logout:logout,off:off,on:on,refreshTokens:refreshTokens,remoteSettings:remoteSettings,removeMfaEmail:removeMfaEmail,removeMfaPhoneNumber:removeMfaPhoneNumber,removeTrustedDevice:removeTrustedDevice,removeWebAuthnDevice:removeWebAuthnDevice,requestPasswordReset:requestPasswordReset,sendEmailVerification:sendEmailVerification,sendPhoneNumberVerification:sendPhoneNumberVerification,signup:signup,signupWithWebAuthn:signupWithWebAuthn,startMfaEmailRegistration:startMfaEmailRegistration,startMfaPhoneNumberRegistration:startMfaPhoneNumberRegistration,startPasswordless:startPasswordless,unlink:unlink,updateEmail:updateEmail,updatePassword:updatePassword,updatePhoneNumber:updatePhoneNumber,updateProfile:updateProfile,verifyMfaEmailRegistration:verifyMfaEmailRegistration,verifyMfaPasswordless:verifyMfaPasswordless,verifyMfaPhoneNumberRegistration:verifyMfaPhoneNumberRegistration,verifyPasswordless:verifyPasswordless,verifyPhoneNumber:verifyPhoneNumber};}
8037
8037
 
@@ -59771,7 +59771,10 @@
59771
59771
  providers: config.socialProviders
59772
59772
  }, options), {}, {
59773
59773
  getAvailableProviders: function getAvailableProviders(identities) {
59774
- return difference$1(options.providers || config.socialProviders, identities.map(function (i) {
59774
+ var providerNames = (options.providers || config.socialProviders).map(function (provider) {
59775
+ return provider.split(':').shift();
59776
+ });
59777
+ return difference$1(providerNames, identities.map(function (i) {
59775
59778
  return i.provider;
59776
59779
  }));
59777
59780
  }