Нужно закрыть дочернее окно родительского окна(express,ReactJS)

Я разрабатываю сайт используя ReactJS для пользовательского клиента и Express для сервера. При нажатии на кнопку происходит открывается окно с авторизацией пользователя через дискорд. Авторизация обрабатывается сервером на Express. Мне нужно сделать так чтоб после авторизации дочернее окно с авторизацией закрывалось и обновлялось родительское окно. Вот код который выполняется после успешной авторизации.

const router = require('express').Router();
const passport = require('passport');
router.get('/discord/redirect',passport.authenticate('discord'),(req,res) => {
    res.redirect('http://localhost:3000/');
});

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Ruslan Mart

Как вариант, сохраняйте объект окна в переменную:

const authWindow = window.open('../../auth');

Сообщите родителю, что авторизация прошла успешно через localstorage:

// родительское окно

window.addEventListener('storage', ({ key }) => {
  if (key === 'auth') {
    authWindow.close();
  }
});

// дочернее окно
window.localStorage.setItem('auth', Date.now());
→ Ссылка