Downloads
Stars
Version
Performs a login on steamcommunity.com.
The Steam API offers a lot, but not everything, e.G. the possibility to send friend requests.
This library has the logic to perform a login on Steam (with the Javascript RSA-password-encryption Steam does) and return the content of the steamLoginSecure cookie, which is enough to call endpoints like actions/AddFriendAjax
.
If Steam does bigger changes to their login process this library will most likely break.
$ composer require drdelay/steam-login
use DrDelay\SteamLogin\SteamLogin;
/** @var \GuzzleHttp\Cookie\SetCookie $cookie */
$cookie = SteamLogin::getSteamLoginSecure('johnny', 'secr3t', 'ABCD3', null, $client);
/** @var \GuzzleHttp\Client $client */
Note: You should probably cache steamLoginSecure or even all the $client-Cookies somewhere.
To add a friend for example you could then send:
use DrDelay\SteamLogin\SteamLogin;
use DrDelay\SteamLogin\Utils as SteamLoginUtils;
/** @var \GuzzleHttp\Client $client */
$client->get(SteamLogin::STEAMCOMM_WEBSITE); // Get a sessionid
/** @var \GuzzleHttp\Cookie\SetCookie $sessionid */
$sessionid = SteamLoginUtils::getCookie($client, 'sessionid');
$client->post(SteamLogin::STEAMCOMM_WEBSITE.'/actions/AddFriendAjax', array(
'form_params' => [
'accept_invite' => 0,
'sessionID' => $sessionid->getValue(),
'steamid' => '76000000000000000',
],
));
Whether you use the generated GuzzleHttp Client or not is completely up to you. The main purpose of this library is to return the steamLoginSecure-Cookie.
The MIT License (MIT). Please see the License File for more information.