Загрузка...

[Steam] Authorization using QR.

Thread in Python created by kekch127 Jan 10, 2025. (bumped Apr 24, 2025) 809 views

  1. kekch127
    kekch127 Topic starter Jan 10, 2025 826 Oct 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 версию. После установки проверьте версии с помощью следующих команд в командной строке:
    Code
    node -v
    npm -v
    Далее копируйте репозиторий:
    Code
    git clone https://github.com/Aarab228/steam-QRauth
    Инициализируйте проект:
    Code
    npm init -y
    Установите зависимости:

    Code
    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 и используется по своим нуждам!



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

      Так как данной информацией со мной не делились другие разработчики подобного, решил сделать отдельный репозиторий
  3. valdi_yt
    Было бы классно взглянуть на работу такой фичи, видоса не будет?(
     
    1. View previous comments (2)
    2. kekch127 Topic starter
      valdi_yt, Щас запишу и прикреплю
    3. kekch127 Topic starter
      valdi_yt, прикрепил видео
    4. valdi_yt
      kekch127, блин ну классно, хорошая работа олеГ :cool:
  4. SpyEv
    SpyEv Jan 18, 2025 turururu 46 Oct 17, 2022
    Имба броу
     
Top
Loading...