Make sure you have made/performed the appropriate migrations. I suggest doing whatever works best for you, but certain suggestions should be followed to avoid trouble.
Version | PHP Version | Laravel/Lumen Version | Docs |
---|---|---|---|
1.x | 7.0+ | 5.5+ | Docs |
2.x | 7.1+ | 5.6+ | Docs |
3.x | 7.2+ | 6.0+ / 7.0+ / 8.0+ | Docs (I/P) |
- Laravel/Lumen supported
- Optionally redirect users to the previous page before logging in
- Included abstract controller and routes for easy setup
SteamUser
class to easily retrieve a player's data
- Install library
composer require kanalumaddela/laravel-steam-login
- Publish files
php artisan vendor:publish --force --provider kanalumaddela\LaravelSteamLogin\SteamLoginServiceProvider
- Create Controller
php artisan make:controller Auth\SteamLoginController
- Add routes
routes/web.php
use App\Http\Controllers\Auth\SteamLoginController;
use kanalumaddela\LaravelSteamLogin\Facades\SteamLogin;
//...
// If using steam login only, add ['include_login_route' => true]
// to also add a /login route,
SteamLogin::routes([
'controller' => SteamLoginController::class,
]);
- Edit Controller
App\Http\Controllers\Auth\SteamLoginController.php
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use kanalumaddela\LaravelSteamLogin\Http\Controllers\AbstractSteamLoginController;
use kanalumaddela\LaravelSteamLogin\SteamUser;
class SteamLoginController extends AbstractSteamLoginController
{
/**
* {@inheritdoc}
*/
public function authenticated(Request $request, SteamUser $steamUser)
{
// auth logic goes here, below assumes User model with `steam_account_id` attribute
// $user = User::where('steam_account_id', $steamUser->accountId)->first();
// \Illuminate\Support\Facades\Auth::login($user);
}
}
Thanks to these libs which led me to make this
- https://github.com/Ehesp/Steam-Login (Parts of code used and re-purposed for laravel)
- https://github.com/invisnik/laravel-steam-auth (Getting me to create a laravel steam auth/login that isn't bad)