Задать вопрос
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.

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

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

Похожие вопросы