Как выполнить вход на сайте, требующем использование приложения Authenticator для авторизации?

Как использовать Puppeteer для авторизации на сайте, который требует ввода кода из приложения? Возможно ли установить Google Authenticator на линукс-сервере, чтобы получать коды оттуда, вместо использования мобильного приложения?
  • 10 ноября 2023 г. 7:49
Ответы на вопрос 1
Для выполнения входа на сайте, требующем использование приложения Authenticator для авторизации, вам потребуются следующие шаги:

1. Установите мобильное приложение Authenticator на свое мобильное устройство и настройте его для работы с сайтом, на который вы планируете войти.
2. При входе на сайт, когда будет запрошен код аутентификации, откройте приложение Authenticator на своем мобильном устройстве.
3. В приложении Authenticator вы должны увидеть список ваших аккаунтов, включая сайт, на котором требуется ввод кода аутентификации.
4. Скопируйте текущий код аутентификации из приложения на вашем мобильном устройстве.
5. Введите скопированный код аутентификации на сайте, где требуется авторизация.

Относительно использования Puppeteer для авторизации на сайте, который требует ввода кода из приложения Authenticator, это возможно, но может быть достаточно сложным и требовать определенных дополнительных шагов.

1. Установите Puppeteer на свой линукс-сервер.
2. Создайте скрипт для авторизации на сайте с помощью Puppeteer. Например, вы можете использовать следующий пример кода, чтобы войти на сайт и ввести код аутентификации:

```javascript
const puppeteer = require('puppeteer');
const readline = require('readline-sync');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('URL_САЙТА');
  
  // Введите имя пользователя и пароль на странице авторизации
  await page.type('#username', 'ВАШ_ЛОГИН');
  await page.type('#password', 'ВАШ_ПАРОЛЬ');
  
  // Нажмите кнопку "Войти" или выполните другие действия для отправки формы авторизации
  await page.click('#login-button');
  
  // Подождите, пока не будет показано поле ввода кода аутентификации
  await page.waitForSelector('#authenticator-code');
  
  // Получите код аутентификации из Puppeteer или установите его для автоматического ввода
  const authenticationCode = readline.question('Пожалуйста, введите код аутентификации: ');
  
  // Введите полученный код аутентификации на сайте
  await page.type('#authenticator-code', authenticationCode);
  
  // Нажмите кнопку "Войти" или другие действия для отправки кода аутентификации
  await page.click('#submit-authentication-code');

  await browser.close();
})();
```

3. Сохраните скрипт и запустите его на вашем линукс-сервере с помощью Node.js. Вам также потребуется установленный Node.js, если его еще нет на сервере.
4. Puppeteer будет открывать браузер, автоматически вводить имя пользователя и пароль на странице авторизации, а затем ожидать, пока вы введете код аутентификации с помощью readline (команды ввода из консоли) и автоматически вводить его на сайте.
5. По завершении скрипт закроет браузер Puppeteer.

Относительно установки Google Authenticator на линукс-сервере, являющемся отдаленным, это возможно, но могут возникнуть некоторые сложности.
Вы можете установить сторонний пакет, такой как "freeotp", который я
Похожие вопросы