kanalumaddela/laravel-steam-login

Steam Login/Auth package for Laravel/Lumen 5.5+ / 6.x+ / 7.x+ / 8.x+

2.5.2 2021-01-30 06:02 UTC

README

Maintainability Packagist Packagist version PHP from Packagist GitHub stars GitHub forks GitHub issues GitHub license

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)

Features

  • Laravel/Lumen supported
  • Optionally redirect users to the previous page before logging in
  • Included abstract controller and routes for easy setup
  • SteamUserclass to easily retrieve a player's data

[3.x / 2.x] Quick Setup

  1. Install library
composer require kanalumaddela/laravel-steam-login
  1. Publish files
php artisan vendor:publish --force --provider kanalumaddela\LaravelSteamLogin\SteamLoginServiceProvider
  1. Create Controller
php artisan make:controller Auth\SteamLoginController
  1. 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,
]);
  1. 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);
    }
}

Credits

Thanks to these libs which led me to make this