Greetings, everyone.
I have a task to realize login to steam via http requests.
There are few options in public search, one of the popular ones is:
1. GET request 'https://steamcommunity.com/login/getrsakey/?username=yourusername'
2. Then get publickey_mod and timestamp
3. Do encryption using RSA.
This is the most interesting part, as I have tried many encryption options.
This is what my last encryption code looked like:
const NodeRSA = require('node-rsa');
let password = "mypass";
const result = {
publickey_mod: 'publickey_mod',
publickey_exp: "010001",
};
const key = new NodeRSA();
key.importKey({
n: Buffer.from(result.publickey_mod, 'hex'),
e: parseInt(result.publickey_exp, 16),
}, 'components-public');
const encryptedPassword = key.encrypt(password, 'base64');
Because using many encryption options I always get the error that 'Password or login is incorrect', reading 'node-steamcommunity' I didn't find any encryption there.
Maybe someone has an encryption option, or another way to do authorization on http requests.
I would be very grateful.