Загрузка...

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

Тема в разделе Python создана пользователем kekch127 10 янв 2025. (поднята 24 апр 2025) 755 просмотров

Загрузка...
  1. kekch127
    kekch127 Автор темы 10 янв 2025 826 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 1328 21 фев 2023
    Было бы классно взглянуть на работу такой фичи, видоса не будет?(
     
    1. Посмотреть предыдущие комментарии (2)
    2. kekch127 Автор темы
      valdi_yt, прикрепил видео
    3. valdi_yt
      kekch127, блин ну классно, хорошая работа олеГ :cool:
  4. SpyEv
    SpyEv 18 янв 2025 turururu 45 17 окт 2022
    Имба броу
     
Top