I have seen in other topics that someone gets such bans for monitoring exchanges on phishing accounts. This
I DO NOT USE THIS ACCOUNT ANYWHERE, NEITHER IN node-steamcommunity, nor in node-steam-user, THIS IS MY PERSONAL ACCOUNT, I ONLY RECEIVE TOKENS, NOTHING ELSE.
I use this example to authorize my account using a QR code and after a couple of hours I get banned with a notification that someone else is using my account, while I don't use any proxy in the code or VPN on my computer. This is not a coincidence, because this has already happened 3 times.
In the notification, steam sends me that a suspicious login was made from MY IP address where I have the authenticator linked.🤣🤣
But in the devices I get the Galaxy S22, maybe that's the problem? I'm scanning the code from the iPhone, maybe Steam finds it suspicious?
Maybe I should stop using QR input, I don't know.…
But anyway, I think it's worth writing some kind of warning in the documentation about a possible account ban at the QR login.
main();
async function main() {
// Create our LoginSession and start a QR login session.
let session = new LoginSession(EAuthTokenPlatformType.MobileApp);
session.loginTimeout = 120000; // timeout after 2 minutes
let startResult = await session.startWithQR();
let qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=' + encodeURIComponent(startResult.qrChallengeUrl);
console.log(`Open QR code: ${qrUrl}`);
session.on('remoteInteraction', () => {
console.log('Looks like you\'ve scanned the code! Now just approve the login.');
});
// No need to handle steamGuardMachineToken since it's only applicable to accounts using email Steam Guard,
// and such accounts can't be authed using a QR code.
session.on('authenticated', async () => {
console.log('\nAuthenticated successfully! Printing your tokens now...');
console.log(`SteamID: ${session.steamID}`);
console.log(`Account name: ${session.accountName}`);
console.log(`Access token: ${session.accessToken}`);
console.log(`Refresh token: ${session.refreshToken}`);
// We can also get web cookies now that we've negotiated a session
let webCookies = await session.getWebCookies();
console.log('Web session cookies:');
console.log(webCookies);
});
session.on('timeout', () => {
console.log('This login attempt has timed out.');
});
session.on('error', (err) => {
// This should ordinarily not happen. This only happens in case there's some kind of unexpected error while
// polling, e.g. the network connection goes down or Steam chokes on something.
console.log(`ERROR: This login attempt has failed! ${err.message}`);
});
}