text: /*
   *  Copyright 2021 Collate
   *  Licensed under the Apache License, Version 2.0 (the "License");
   *  you may not use this file except in compliance with the License.
   *  You may obtain a copy of the License at
   *  http://www.apache.org/licenses/LICENSE-2.0
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   */
  
  import { oidcTokenKey } from '../../constants/constants';
  
  export const refreshTokenSetup = (res) => {
    // Timing to renew access token
    let refreshTiming = (res.tokenObj.expires_in || 3600 - 1 * 60) * 1000;
  
    const refreshToken = async () => {
      try {
        const newAuthRes = await res.reloadAuthResponse();
        refreshTiming = (newAuthRes.expires_in || 3600 - 1 * 60) * 1000;
        localStorage.setItem(oidcTokenKey, newAuthRes.id_token);
  
        // Setup the other timer after the first one
        setTimeout(refreshToken, refreshTiming);
      } catch (err) {
        // eslint-disable-next-line no-console
        console.log('Logout ACK');
      }
    };
  
    // Setup first refresh timer
    setTimeout(refreshToken, refreshTiming);
  };
  