خرید بک لینک

Vote count: 0

How to auth user via https://api.steampowered.com/ISteamUserAuth/AuthenticateUser/v0001 api method?

For example, I will get steam public key data from https://steamcommunity.com/login/getrsakey/, do some encryption and then send this data to specified api url as POST. But server retus '403 Forbidden' everytime.

My code example:

from Crypto.Cipher import AES
from Crypto.Cipher.PKCS1_v1_5 import PKCS115_Cipher
from Crypto.PublicKey import RSAenter code here
from Crypto.Random import get_random_bytes
import hashlib
import json
import requests

steamid = '<MY_STEAMID64>'
steampass = '<MY_STEAM_PASSWORD>'
loginkey = hashlib.md5(bytes(steampass, 'utf-8')).hexdigest()
blob32 = get_random_bytes(32)

getrsa_url = 'https://steamcommunity.com/login/getrsakey/'
getrsa_data = {'useame': '<MY_STEAM_USERNAME>'}

getrsa_resp = requests.get(getrsa_url, params=getrsa_data)
response = json.loads(getrsa_resp.text)
if response.get('success'):
    steam_publickey_mod = response.get('publickey_mod')
    steam_publickey_mod = int(response.get('publickey_mod'), 16)
    steam_publickey_exp = response.get('publickey_exp')
    steam_publickey_exp = int(steam_publickey_exp, 16)
    steam_rsa_key = RSA.construct((steam_publickey_mod, steam_publickey_exp))
    steam_rsa = PKCS115_Cipher(steam_rsa_key)

if steam_rsa_key.can_encrypt():
    sessionkey = steam_rsa.encrypt(blob32)
    if type(sessionkey) is tuple:
        sessionkey = sessionkey[0]
    steam_aes = AES.new(blob32)
    encrypted_loginkey = steam_aes.encrypt(loginkey)

if all([steamid, sessionkey, encrypted_loginkey]):
    authenticate_user_url = (
        'https://api.steampowered.com/ISteamUserAuth/AuthenticateUser/v0001')
    authenticate_user_json = {
        'steamid': steamid,
        'sessionkey': sessionkey,
        'encrypted_loginkey': encrypted_loginkey,
    }


if __name__ == '__main__':
    import ipdb
    ipdb.set_trace()
    authenticate_user_resp = requests.post(url=authenticate_user_url,
                                           data=authenticate_user_json)

authenticate_user_resp.ok retus False

authenticate_user_resp.status_code retus 403

authenticate_user_resp.reason retus Forbidden

Sorry for my bad English, please

asked 2 mins ago

برچسب: نویسنده: استخدام کار تاريخ: يکشنبه 23 خرداد 1395 ساعت: 22:07

صفحه بندی