Esa llamada en ajax obtiene una clave RSA que según se ve, depende del nombre de usuario. Cuando tiene esa clave, llama a esta otra función:
function OnRSAKeyResponse( transport )
{
var results = transport.responseJSON;
if ( results.publickey_mod && results.publickey_exp && results.timestamp )
{
var form = document.forms['logon'];
var pubKey = RSA.getPublicKey( results.publickey_mod, results.publickey_exp );
var username = form.elements['username'].value;
username = username.replace( /[^\x00-\x7F]/g, '' ); // remove non-standard-ASCII characters
var password = form.elements['password'].value;
password = password.replace( /[^\x00-\x7F]/g, '' ); // remove non-standard-ASCII characters
var encryptedPassword = RSA.encrypt( password, pubKey );
new Ajax.Request( 'https://steamcommunity.com/login/dologin/',
{
method: 'post',
parameters: {
password: encryptedPassword,
username: username,
emailauth: form.elements['emailauth'].value,
loginfriendlyname: form.elements['loginfriendlyname'].value,
captchagid: form.elements['captchagid'].value,
captcha_text: form.elements['captcha_text'].value,
emailsteamid: form.elements['emailsteamid'].value,
rsatimestamp: results.timestamp,
remember_login: ( form.elements['remember_login'] && form.elements['remember_login'].checked ) ? 'true' : 'false',
donotcache: ( new Date().getTime() )
},
onSuccess: OnLoginResponse,
onException: function( req, e ) { throw e; }
}
);
}
else
{
if ( results.message )
{
HighlightFailure( results.message );
}
$('login_btn_signin').show();
$('login_btn_wait').hide();
g_bLoginInFlight = false;
}
}