PHP code example of mentalrob / laravel-steam-auth
1. Go to this page and download the library: Download mentalrob/laravel-steam-auth library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\User;
use Illuminate\Support\Facades\Auth;
use Ilzrv\LaravelSteamAuth\SteamAuth;
use Ilzrv\LaravelSteamAuth\SteamData;
class SteamAuthController extends Controller
{
/**
* The SteamAuth instance.
*
* @var SteamAuth
*/
protected $steamAuth;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* SteamAuthController constructor.
*
* @param SteamAuth $steamAuth
*/
public function __construct(SteamAuth $steamAuth)
{
$this->steamAuth = $steamAuth;
}
/**
* Get user data and login
*
* @return \Illuminate\Http\RedirectResponse
*/
public function login()
{
if (!$this->steamAuth->validate()) {
return $this->steamAuth->redirect();
}
$data = $this->steamAuth->getUserData();
if (is_null($data)) {
return $this->steamAuth->redirect();
}
Auth::login(
$this->firstOrCreate($data),
true
);
return redirect($this->redirectTo);
}
/**
* Get the first user by SteamID or create new
*
* @param SteamData $data
* @return User|\Illuminate\Database\Eloquent\Model
*/
protected function firstOrCreate(SteamData $data)
{
return User::firstOrCreate([
'steam_id' => $data->getSteamId(),
], [
'name' => $data->getPersonaName(),
'avatar' => $data->getAvatarFull(),
'player_level' => $data->getPlayerLevel(),
// ...and other what you need
]);
}
}