diff --git a/packages/core/src/Stores/client-store.js b/packages/core/src/Stores/client-store.js index 3fd97d064fbd..d549569ad811 100644 --- a/packages/core/src/Stores/client-store.js +++ b/packages/core/src/Stores/client-store.js @@ -6,6 +6,7 @@ import { State, deriv_urls, filterUrlQuery, + excludeParamsFromUrlQuery, getPropertyValue, getUrlBinaryBot, getUrlSmartTrader, @@ -1504,6 +1505,21 @@ export default class ClientStore extends BaseStore { const redirect_url = search_params?.get('redirect_url'); const code_param = search_params?.get('code'); const action_param = search_params?.get('action'); + const unused_params = [ + 'type', + 'acp', + 'label', + 'server', + 'interface', + 'cid', + 'age', + 'utm_source', + 'first_name', + 'second_name', + 'email', + 'phone', + '_filteredParams', + ]; this.setIsLoggingIn(true); const authorize_response = await this.setUserLogin(login_new_user); @@ -1626,6 +1642,13 @@ export default class ClientStore extends BaseStore { this.registerReactions(); this.setIsLoggingIn(false); this.setInitialized(true); + + history.replaceState( + null, + null, + window.location.href.replace(`${search}`, excludeParamsFromUrlQuery(search, unused_params)) + ); + return true; } diff --git a/packages/shared/src/utils/url/url.ts b/packages/shared/src/utils/url/url.ts index 1fa48aacb404..05d3d385a9f7 100644 --- a/packages/shared/src/utils/url/url.ts +++ b/packages/shared/src/utils/url/url.ts @@ -171,3 +171,9 @@ export const filterUrlQuery = (search_param: string, allowed_keys: string[]) => const filtered_queries = [...search_params].filter(kvp => allowed_keys.includes(kvp[0])); return new URLSearchParams(filtered_queries || '').toString(); }; + +export const excludeParamsFromUrlQuery = (search_param: string, excluded_keys: string[]) => { + const search_params = new URLSearchParams(search_param); + const filtered_queries = [...search_params].filter(([key]) => !excluded_keys.includes(key)); + return new URLSearchParams(filtered_queries || '').toString(); +};