archakov06
@archakov06
Frontend-разработчик (ReactJS)

Как сделать авторизацию на GitHub + NodeJS?

Пытаюсь авторизоваться на Github (не OAuth), через простую форму авторизации сайта.

Для работы с HTTP, я использую библиотеку unirest + cheerio для парса токена.

var unirest = require('unirest');
var cheerio = require("cheerio");

var login = 'ЛОГИН';
var password = 'ПАРОЛЬ';
var cookies = '';

unirest.get('https://github.com/login')
.headers({
	'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
})
.end(function (response) {

	var $ = cheerio.load(response.body);
	var token = $("input[name='authenticity_token']").val();

	var headers = {
		'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
		'Content-Type': 'application/x-www-form-urlencoded',
		'Cookie': '_gh_sess='+response.cookies._gh_sess,
	};

	var post_data = {
		'authenticity_token': token,
		'login': login,
		'password': password
	};

	unirest.post('https://github.com/session')
	.headers(headers)
	.send(post_data)
	.end(function (response) {

		console.log(response.cookies);

	});
});


Я в ответ получаю ошибку + куки пусты. Хотя тестирую через Paw (или любой другой софт для работы с HTTP тестированием запросов и там норм).

Ответ от сервера должен быть примерно такой:
619cd66fb8114f65a9cfe16898a12ee0.png
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

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