Задать вопрос
Twstd
@Twstd
Разрабатываю приложения и микросервисы на Nodejs

Как авторизоваться на сайте через приложение на NodeJS?

Необходимо авторизоваться на сайте из приложения работающего на NodeJS.

Авторизация происходит по логину и паролю, сайт поддерживает авторизацию через гугл и прочее(что видимо говорит о OAuth), но нужно авторизоваться именно по логину и паролю. Сама авторизация необходима для подключения по Websocket и обмена сообщениями, минуя интерфейс сайта.

При входе на сайт, отправляется POST запрос на другой домен, в теле которого:
csrfToken: 3a3b3776bd17e65112fbc0baa4a4da8a
radio: sign
sign: *login*
password: *password*
Код ответа всегда 303, независимо от того успешная авторизация или нет.

Вопрос в том каким путём пойти?
1) Делать цепочку запросов, собирать cookies искать откуда берётся csrfToken и т.д...
2) Есть ли смысл в данном случае использовать Puppeter?

Вопрос роботности тут не стоит, так авторизацию нужно получить один раз.
  • Вопрос задан
  • 219 просмотров
Подписаться 2 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Делаете get получаете форму, достаете все включая csrfToken и куки, отправляете постом в ответ получаете видимо авторизационные куки, которыми будете потом пользоваться. По сути прикидываетесь браузером. Сложность может быть если форма рендериться каким-то js скриптом, тогда надо будет брать selenium или что-то типа того.
Но вообще затея пахнет говнокодом. Неужели у сайта нет api? Зачем так больно?
Ответ написан
Ваш ответ на вопрос

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

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