tomgif
@tomgif
Веб-разработчик

Как получить данные из дочернего окна при редиректе?

Для авторизации oauth в моём vuejs-приложении, открываю дочернее окно к примеру:

let vk_window = window.open(endpoint)
let redirect_uri = new RegExp(auth.settings.redirect_uri)
let watch_timer = setInterval(() => {
  try {
    let vk_location = vk_window.location
    if (redirect_uri.test(vk_location)) {
      clearInterval(watch_timer)
      let data = vk_window.location.hash.substring(1).split('&')
      //парсим data
      //устанавливаем токен
      //аутентифицируем

      vk_window.close()
    }
  } catch (error) {
    throw error
  }
}, 500)


Но в этом случае в консоли родительского окна сыпется ошибка Uncaught DOMException: Blocked a frame with origin "localhost:8080" from accessing a cross-origin frame.

Есть ли альтернативное решение, не перезагружающее родительское окно?
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
В настройках vk-App есть параметр redirect uri - с него нужно вернуть html со скриптом, который кидает данные авторизации родительскому окну через postMessage
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы