Загрузка...

[Steam] Авторизация с помощью QR.

Тема в разделе Python создана пользователем kekch127 10 янв 2025. (поднята Вчера, в 18:34) 632 просмотра

Загрузка...
  1. kekch127
    kekch127 Автор темы 10 янв 2025 AirPods - https://lolz.live/threads/6928152/ 817 5 окт 2020
    Всем привет. Недавно дошли руки допилить python утилиту, создающую QR для авторизации в Steam и получения accessToken и refreshToken. Основные токены для работы с API Steam.

    Получаемые параметры:
    1) SteamID
    2) login
    3) AccessToken
    4) RefreshToken
    5) Cookies

    Так-же реализованы вспомогательные функции:
    1) Обновление AccessToken по refreshToken
    2) Обновление refreshToken по refreshToken (при успешном обновлении обновляется не только refreshToken, но и accessToken, и помните, что старый refreshToken перестанет действовать, даже если срок его действия еще не истек)

    Быстрое начало.
    Для начала нужно установить node.js LTS версию. После установки проверьте версии с помощью следующих команд в командной строке:
    Код
    node -v npm -v
    Далее копируйте репозиторий:
    Код
    git clone https://github.com/Aarab228/steam-QRauth
    Инициализируйте проект:
    Код
    npm init -y
    Установите зависимости:

    Код
    npm install express steam-session pkg uuid pip install -r requirements.txt
    В своем проекте реализуйте следующий код:
    Python
    # -*- coding=utf-8 -*- from client import ServerAPIClient, ServerRunner def main(): runner = ServerRunner() server_process = runner.run_node_server() client = ServerAPIClient() try: auth = client.get_auth_credentials() except Exception as e: print(f"Error: {e}") finally: runner.stop_server()

    Он автоматически запустит сервер в качестве фонового процесса и покажет QR для авторизации. Все данные будут отображены на экране, а куки будут сохранены в файле cookies.json.

    Если по какой-то причине вы не успели авторизоваться в течение 2 минут, QR автоматически сгенерирует новый.

    Если вы хотите, чтобы это был файл .exe, сделайте следующее.
    Установите Pyinstaller
    Python
    pip install pyinstaller
    Откройте cmd в рабочей области (папке проекта) и запустите:
    Python
    pkg server.js --targets node16-win-x64 --output server.exe
    ! Помните, если у рабочей области есть виртуальная среда, сначала активируйте виртуальную среду !

    После создания сервера server.exe выполните:
    Python
    pyinstaller --onefile --add-data “server.exe;.” client.py
    где client.py - имя вашего файла
    ПОМНИТЕ! Файл server.exe и client.exe должны ВСЕГДА находиться в одном и том же месте!
    Далее просто запустите client.exe и используется по своим нуждам!



    Пример работы:
     
    10 янв 2025 Изменено
  2. derkown
    а не легче и логичнее было вообще все сделать на node.js раз уж на то пошло?
     
    10 янв 2025 Изменено
    1. kekch127 Автор темы
      derkown, с какой-то стороны легче. Но например для меня было легче написать отдельный сервак на node.js и сделать по типу `API` прослойки чтобы использовать данные на python в своем проекте.

      Так как данной информацией со мной не делились другие разработчики подобного, решил сделать отдельный репозиторий
      10 янв 2025 Изменено
  3. valdi_yt
    valdi_yt 10 янв 2025 1096 21 фев 2023
    Было бы классно взглянуть на работу такой фичи, видоса не будет?(
     
    1. Посмотреть предыдущие комментарии (2)
    2. kekch127 Автор темы
      valdi_yt, Щас запишу и прикреплю
    3. kekch127 Автор темы
      valdi_yt, прикрепил видео
    4. valdi_yt
      kekch127, блин ну классно, хорошая работа олеГ :cool:
  4. SpyEv
    SpyEv 18 янв 2025 turururu 45 17 окт 2022
    Имба броу
     
Top
JavaScript error: