Hello again! I still can't find the problem for myself. I decided to reproduce your encryption method from steam-session but I still see in heders
import {hex2b64, Key as RSAKey} from 'node-bignumber';
getRSAKey = async (username) => {
const result = await fetch(`https://api.steampowered.com/IAuthenticationService/GetPasswordRSAPublicKey/v1/?account_name=${username}/`, {
method: 'GET',
})
const {response} = await result.json();
return response;
}
encryptPassword = (password, rsaInfo) => {
let key = new RSAKey();
key.setPublic(rsaInfo.publickey_mod, rsaInfo.publickey_exp);
return hex2b64(key.encrypt(password));
}
startSessionWithCredentials = async (username, password) => {
const rsaKey = await getRSAKey(username);
const encryptedPassword = encryptPassword(password, rsaKey)
const userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36';
const result = await fetch(`https://api.steampowered.com/IAuthenticationService/BeginAuthSessionViaCredentials/v1/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'user-agent': userAgent,
'origin': 'https://steamcommunity.com',
'referer': 'https://steamcommunity.com'
},
body: JSON.stringify({
account_name: username,
encrypted_password: encryptedPassword,
encryption_timestamp: rsaKey.timestamp,
website_id: 'Community',
device_friendly_name: userAgent,
platform_type: 2
})
});
console.log(await result.json())
}
The login and password I enter are exactly valid. The login passes through steam-session. I don't understand what is wrong with my code?