Skip to content

Commit

Permalink
fix: silent login implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
rupato-deriv committed Feb 17, 2025
1 parent b60d213 commit af03f43
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/app/AuthWrapper.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React from 'react';
import Cookies from 'js-cookie';
import ChunkLoader from '@/components/loader/chunk-loader';
import { generateDerivApiInstance } from '@/external/bot-skeleton/services/api/appId';
import { localize } from '@deriv-com/translations';
Expand All @@ -8,6 +9,35 @@ import App from './App';
const setLocalStorageToken = async (loginInfo: URLUtils.LoginInfo[], paramsToDelete: string[]) => {
if (loginInfo.length) {
try {
let cookieAccounts = {};
try {
cookieAccounts = JSON.parse(Cookies.get('client.accounts') || '{}');
} catch (error) {
console.error("Invalid JSON in 'client.accounts' cookie:", error);
}

const storedClientAccounts = {
...JSON.parse(localStorage.getItem('clientAccounts') || '{}'),
...cookieAccounts,
};

const storedAccountsList = JSON.parse(localStorage.getItem('accountsList') || '{}');

Object.values(cookieAccounts).forEach(data => {
const accountData = data as { loginid?: string; token?: string };
if (accountData?.loginid && accountData?.token) {
storedAccountsList[accountData.loginid] = accountData.token;
}
});

if (!Object.keys(storedAccountsList).length) {
localStorage.setItem('accountsList', JSON.stringify(storedAccountsList));
}

if (!Object.keys(storedClientAccounts).length) {
localStorage.setItem('clientAccounts', JSON.stringify(storedClientAccounts));
}

const defaultActiveAccount = URLUtils.getDefaultActiveAccount(loginInfo);
if (!defaultActiveAccount) return;

Expand Down

0 comments on commit af03f43

Please sign in to comment.