Авторизация в ВК с помощью fetch()
Всем привет!
Разрабатываю веб приложение на ReactJS, и сейчас пытаюсь сделать авторизацию на сайте через ВК. Хотел для этого использовать fetch(). Собственно, нужно повторить этот процесс. Вот код скрипта авторизации export function vklogin() { var url = getLoginURL(); console.log("LOGIN TO VK CALLED", url); fetch(url, { mode: 'no-cors', method: 'get', cache: 'no-cache' }); } function getLoginURL() { var url = 'https://oauth.vk.com/authorize?'; url += 'client_id=' + CLIENT_ID + '&'; url += 'display=page&'; url += 'redirect_uri=' + REDIRECT_URI + '&'; url += 'response_type=code&'; url += 'scope=' + PERMISSIONS.join(",") + '&'; url += 'state=vk&'; url += 'v=' + API_VERSION; return url; } После вызова метода vklogin, в консоли я вижу правильно сформированную ссылку. Если перейти по ней просто из браузера, то он сразу же переадресуется на адрес содержащий code и state=vk. То есть если в методе vklogin, fetch() заменить на window.location.href = url; То все отлично работает. Браузер переадресуется и дальше я могу уже слать код на сервер и там получить access_token. Но вот fetch() никак не приводит к переадресации. Не происходит вообще ничего. Если добавить к fetch then fetch().then(function(response){ console.log("THEN", response.blob()); }).catch(function(error) { console.log("ERROR"); }) сработает блок then. То есть вызов-таки происходит. Что я делаю не так? п.с. не хотел использовать window.location.href, потому что не могу отловить момент перехода по url содержащим code и state. Да и вообще мне это кажется каким-то костылем |
Проблема решена. Видимо я просто не так понял работу fetch. Сделал через window.location.href, и просто проверяю параметры при загрузке сайта
|
Часовой пояс GMT +3, время: 19:59. |