예제 #1
0
파일: Post.php 프로젝트: Top-Cat/EscrowTF
 private static function handleLogin()
 {
     if (!isset($_POST['login'])) {
         return;
     }
     $user = new User($_POST['user'], $_POST['pass']);
     $cookies = Net::startSession();
     $user->setCaptcha($_POST['gid'] ?: -1, $_POST['captcha'] ?: '')->setEmailSteamId($_POST['emailsteamid'] ?: '')->setTwoFactorCode($_POST['2fa'] ?: '');
     $loginData = $user->doLogin($cookies);
     if (!$loginData['success']) {
         return $loginData;
     }
     $hasPhone = $loginData['oauth']->hasPhone();
     if (!$hasPhone) {
         return ['phone_needed' => true];
     }
     $authData = $loginData['oauth']->addAuthenticator();
     $authData = array_merge($authData, ['access_token' => $loginData['oauth']->oauth_token, 'wgtoken' => $loginData['oauth']->wgtoken, 'wgtoken_secure' => $loginData['oauth']->wgtoken_secure, 'steamid' => $loginData['oauth']->steamid]);
     return ['sms_needed' => true, 'revocation_code' => $authData['revocation_code'], 'authdata' => Crypt::encrypt($authData, $_POST['ekey']), 'raw' => $authData];
 }