Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2017, 08:38
Новичок на форуме
Отправить личное сообщение для caseyryan Посмотреть профиль Найти все сообщения от caseyryan
 
Регистрация: 29.06.2017
Сообщений: 2

Авторизация в ВК с помощью 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. Да и вообще мне это кажется каким-то костылем
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2017, 10:38
Новичок на форуме
Отправить личное сообщение для caseyryan Посмотреть профиль Найти все сообщения от caseyryan
 
Регистрация: 29.06.2017
Сообщений: 2

Проблема решена. Видимо я просто не так понял работу fetch. Сделал через window.location.href, и просто проверяю параметры при загрузке сайта
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация с помощью ВК (OAuth) AtomoS Angular.js 2 24.09.2013 22:47
Получить значение ячейки с помощью onclik Space-06 Events/DOM/Window 4 10.01.2012 09:39
Авторизация с помощью PHP bayah Серверные языки и технологии 7 03.08.2010 15:47
Проверка наличия логина в БД при регистрации, с помощью ajax storng Общие вопросы Javascript 4 09.04.2010 20:24
Авторизация в модальном окне с помощью jQuery A.N.R.I jQuery 17 01.03.2010 19:26